Skip to main content

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 (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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rakam_systems_core-0.1.3.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rakam_systems_core-0.1.3-py3-none-any.whl (60.0 kB view details)

Uploaded Python 3

File details

Details for the file rakam_systems_core-0.1.3.tar.gz.

File metadata

  • Download URL: rakam_systems_core-0.1.3.tar.gz
  • Upload date:
  • Size: 43.8 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for rakam_systems_core-0.1.3.tar.gz
Algorithm Hash digest
SHA256 30508db6d8c8035b77c4929ab30dcb29d628bb307d4f6a6aa646b24954a8baff
MD5 1b65b74508e9806e491ab3b42d3a4f47
BLAKE2b-256 cc6e3786a41a29972a70173ea318b8c47dda9a30390146fdb46c56bf7a6ca702

See more details on using hashes here.

File details

Details for the file rakam_systems_core-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: rakam_systems_core-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 60.0 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for rakam_systems_core-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b1d67be99078cda0bfa5d7f7f0b141fd4446be69d98d437e37d4de5bb0c908ad
MD5 3f2461a799c4fe35eaff978321cfd017
BLAKE2b-256 97df86e27c4c1022b0623a05b6034d56f1aebaa284fb822dabb3bc40ca6e1a7d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page