A Package containing core logic and schema for rakam-systems
Project description
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: Input/output tracking for debugging and evaluation
- Logging Utilities: Structured logging with color support
This package is required by both rakam-systems-agent and rakam-systems-vectorstore.
Installation
pip install -e ./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.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.interfaces.agent import AgentComponent
from rakam_systems_core.interfaces.tool import ToolComponent
from rakam_systems_core.interfaces.vectorstore import VectorStore
Configuration System
Load and validate configurations from YAML files:
from rakam_systems_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.tracking import TrackingMixin
class MyAgent(TrackingMixin, BaseAgent):
pass
agent.enable_tracking(output_dir="./tracking")
# Use agent...
agent.export_tracking_data(format='csv')
Package Structure
rakam-systems-core/
├── src/rakam_systems_core/
│ ├── ai_core/
│ │ ├── base.py # BaseComponent
│ │ ├── interfaces/ # Standard interfaces
│ │ ├── config_loader.py # Configuration system
│ │ ├── tracking.py # I/O tracking
│ │ └── mcp/ # MCP server support
│ └── ai_utils/
│ └── logging.py # Logging utilities
└── pyproject.toml
Usage in Other Packages
Agent Package
# rakam-systems-agent uses core interfaces
from rakam_systems_core.interfaces.agent import AgentComponent
from rakam_system_agent import BaseAgent
agent = BaseAgent(name="my_agent", model="openai:gpt-4o")
Vectorstore Package
# rakam-systems-vectorstore uses core interfaces
from rakam_systems_core.interfaces.vectorstore import VectorStore
from rakam_systems_vectorstore import ConfigurablePgVectorStore
store = ConfigurablePgVectorStore(config=config)
Development
This package contains only interfaces and utilities. To contribute:
- Install in editable mode:
pip install -e ./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
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rakam_systems_core-0.1.1rc9.tar.gz.
File metadata
- Download URL: rakam_systems_core-0.1.1rc9.tar.gz
- Upload date:
- Size: 138.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc5fdc7a6be3a1dfcd17ad75901fefc672d16cf97da5147d53c5726d33eec561
|
|
| MD5 |
3db9ec35a87fbeca8759961ae9afec4e
|
|
| BLAKE2b-256 |
05f9549da161058194949ff679390b5e1e77f8929e2baee6e42400f44a309599
|
File details
Details for the file rakam_systems_core-0.1.1rc9-py3-none-any.whl.
File metadata
- Download URL: rakam_systems_core-0.1.1rc9-py3-none-any.whl
- Upload date:
- Size: 44.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e519d8afca35e3bd62ff826a6c1da7bac3e61e2fbabcb3f7bbf7fb3de4a6e63
|
|
| MD5 |
88a1e7a471178106e8eb2eefa90d22b4
|
|
| BLAKE2b-256 |
193ba542fd9e82ef166b4e0be0f5a335b189af37fb3c114f7620c59225d49631
|