Rakam System Core
The core package of Rakam Systems providing foundational interfaces, base components, and utilities.
Overview
rakam-systems-core is the foundation of the Rakam Systems framework. It provides:
- Base Component: Abstract base class with lifecycle management
- Interfaces: Standard interfaces for agents, tools, vector stores, embeddings, and loaders
- Configuration System: YAML/JSON configuration loading and validation
- Tracking System (experimental): Input/output tracking for debugging and evaluation
- Logging Utilities (experimental): Structured logging with color support
This package is required by both rakam-systems-agent and rakam-systems-vectorstore.
Installation
pip install rakam-systems-core
Key Components
BaseComponent
All components extend BaseComponent which provides:
- Lifecycle management with
setup()andshutdown()methods - Auto-initialization via
__call__ - Context manager support
- Built-in evaluation harness
from rakam_systems_core.ai_core.base import BaseComponent
class MyComponent(BaseComponent):
def setup(self):
super().setup()
# Initialize resources
def shutdown(self):
# Clean up resources
super().shutdown()
def run(self, *args, **kwargs):
# Main logic
pass
Interfaces
Standard interfaces for building AI systems:
- AgentComponent: AI agents with sync/async support
- ToolComponent: Callable tools for agents
- LLMGateway: LLM provider abstraction
- VectorStore: Vector storage interface
- EmbeddingModel: Text embedding interface
- Loader: Document loading interface
- Chunker: Text chunking interface
from rakam_systems_core.ai_core.interfaces.agent import AgentComponent
from rakam_systems_core.ai_core.interfaces.tool import ToolComponent
from rakam_systems_core.ai_core.interfaces.vectorstore import VectorStore
Configuration System
Load and validate configurations from YAML files:
from rakam_systems_core.ai_core.config_loader import ConfigurationLoader
loader = ConfigurationLoader()
config = loader.load_from_yaml("agent_config.yaml")
agent = loader.create_agent("my_agent", config)
Tracking System
Track inputs and outputs for debugging:
from rakam_systems_core.ai_core.tracking import TrackingMixin
class MyAgent(TrackingMixin, BaseAgent):
pass
agent.enable_tracking(output_dir="./tracking")
# Use agent...
agent.export_tracking_data(format='csv')
Usage in Other Packages
Agent Package
# rakam-systems-agent uses core interfaces
from rakam_systems_core.ai_core.interfaces.agent import AgentComponent
from rakam_systems_agent import BaseAgent
agent = BaseAgent(name="my_agent", model="openai:gpt-4o")
Vectorstore Package
# rakam-systems-vectorstore uses core interfaces
from rakam_systems_core.ai_core.interfaces.vectorstore import VectorStore
from rakam_systems_vectorstore import ConfigurablePgVectorStore
store = ConfigurablePgVectorStore(config=config)
Documentation
For full API reference and architecture details, see the official documentation.
Development
This package contains only interfaces and utilities. To contribute:
- Install in editable mode:
pip install rakam-systems-core - Make changes to interfaces or utilities
- Ensure backward compatibility with agent and vectorstore packages
- Update version in
pyproject.toml
License
Apache 2.0
Release files for rakam-systems-core 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rakam_systems_core-0.1.5.tar.gz | 45.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rakam_systems_core-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 108.0 kB
Release files / rakam_systems_core-0.1.5.tar.gz
| Download URL | rakam_systems_core-0.1.5.tar.gz |
|---|---|
| Size | 45.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
efeb2fabbfe590c1f36939ab09813157b7fee1745abb3329c34e0945064b3f27
|
|
BLAKE2b-256 checksum How to use checksums |
ba15d2a4790c71c60f690cd224f160d75c954df284d98e888bb82afc8a448d96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / rakam_systems_core-0.1.5-py3-none-any.whl
| Download URL | rakam_systems_core-0.1.5-py3-none-any.whl |
|---|---|
| Size | 62.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1441fc1fbe22df5895cf381d075fe6be97ce69e53fe040c55813d0a090d95b8f
|
|
BLAKE2b-256 checksum How to use checksums |
050746084f17d47268626c4248cd0d12f4c69b2c52c0f5091abb3dfc4632233f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|