Skip to main content

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() and shutdown() 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:

  1. Install in editable mode: pip install rakam-systems-core
  2. Make changes to interfaces or utilities
  3. Ensure backward compatibility with agent and vectorstore packages
  4. 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)

Source distribution for rakam-systems-core 0.1.5
File Size Uploaded
rakam_systems_core-0.1.5.tar.gz 45.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rakam-systems-core 0.1.5
File Interpreter ABI Platform
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}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page