kore-stack
Complete cognitive middleware stack for LLMs. One install, everything connected.
Memory + Identity + Cache + Routing + Observability + A/B Testing.
The difference with LangChain/LlamaIndex: kore's routing is based on formal proof complexity theory (Selector Complexity), not heuristics.
Install
pip install kore-stack # core (Ollama-ready)
pip install kore-stack[openai] # + OpenAI
pip install kore-stack[anthropic] # + Anthropic
pip install kore-stack[all] # everything
Quick start
from kore_stack import Mind, Bridge, OllamaProvider
mind = Mind("agent.db")
llm = OllamaProvider(model="llama3.2")
bridge = Bridge(mind=mind, llm=llm, cache_ttl=3600.0)
response = bridge.think("Help me with my proof", user="carlos")
What's new in v0.1.2
kore-mind>=0.4.0: persistent SQLite embedding cache, float16 quantization, async embeddings (ollama_embed_async), streaming batch (stream_batch/astream_batch), dimension validation incosine_similaritykore-bridge>=0.3.2: dependency bump
v0.1.1
kore-mind>=0.3.1: optimized Ollama embeddings — connection reuse, LRU cache, batch embedding, fallback warningskore-bridge>=0.3.1: dependency bump
What's in the stack
kore-mind — Persistent memory engine
from kore_stack import Mind
mind = Mind("agent.db", enable_traces=True)
mind.experience("User likes Python", source="carlos")
memories = mind.recall("Python", source="carlos")
# Scoped views per user
alice = mind.scoped("alice")
alice.experience("Prefers Rust")
kore-bridge — LLM cognitive middleware
from kore_stack import Bridge, OllamaProvider
bridge = Bridge(
mind=mind,
llm=OllamaProvider(),
cache_ttl=3600.0, # smart cache
rate_limit=3, # cognitive rate limiting
rate_window=3600.0,
)
# Cache hit → no LLM call. Rate limited → respond from memory.
response = bridge.think("What is P vs NP?", user="carlos")
sc-router — Routing based on Selector Complexity
from kore_stack import (
SCRouterProvider, ToolCatalog, Tool,
OllamaProvider, Bridge, Mind,
)
from kore_bridge.providers import OpenAIProvider
# Define your tool catalog
catalog = ToolCatalog()
catalog.register(Tool(
name="calculator",
description="Arithmetic calculations",
input_types={"expression"},
output_types={"number"},
capability_tags={"math", "calculate"},
))
# SC routing: simple queries → local Ollama, complex → GPT-4
router = SCRouterProvider(
providers={
"fast": OllamaProvider(model="llama3.2"),
"quality": OpenAIProvider(model="gpt-4o"),
},
catalog=catalog,
)
bridge = Bridge(mind=Mind("agent.db"), llm=router)
bridge.think("What is 2+2?") # SC(0) → Ollama
bridge.think("Analyze market trends, cross-reference sentiment, build prediction model")
# SC(2-3) → GPT-4
print(router.last_sc_level) # 0, 1, 2, or 3
A/B Testing
from kore_stack import Experiment, OllamaProvider, Mind
exp = Experiment(
Mind("test.db"),
variant_a=OllamaProvider(model="llama3.2"),
variant_b=OllamaProvider(model="mistral"),
)
result = exp.run("Explain recursion")
print(f"A: {result.time_a_ms:.0f}ms, B: {result.time_b_ms:.0f}ms, faster: {result.faster}")
Architecture
┌─────────────┐
│ Your App │
└──────┬──────┘
│
┌──────▼──────┐
│ kore-bridge │ Cache → Rate Limit → SC Route → LLM
│ (Bridge) │
└──────┬──────┘
│
┌──────▼──────┐ ┌───────────┐
│ kore-mind │ │ sc-router │
│ (Mind) │ │ SC(0-3) │
│ SQLite │ └───────────┘
└─────────────┘
Packages
| Package | PyPI | What it does |
|---|---|---|
| kore-mind | pip install kore-mind |
Memory, identity, traces, cache storage |
| kore-bridge | pip install kore-bridge |
LLM integration, cache logic, rate limiting, A/B |
| sc-router | pip install sc-router |
Query routing by Selector Complexity |
| kore-stack | pip install kore-stack |
All of the above, one install |
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kore_stack-0.1.3.tar.gz
(4.0 kB
view details)
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 kore_stack-0.1.3.tar.gz.
File metadata
- Download URL: kore_stack-0.1.3.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a0d736b41733ef5949a561ee179a52ecede0e9b154b923766c12d5860587045
|
|
| MD5 |
fdd5d04c2e6690d5be13cb18fde98c43
|
|
| BLAKE2b-256 |
1fe8bf1cf0a4bf673d6a80d9c00b34c345fc2771ba9a92ed3b74d1bbb71549c4
|
File details
Details for the file kore_stack-0.1.3-py3-none-any.whl.
File metadata
- Download URL: kore_stack-0.1.3-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7218320ece21456f36ca3912c842c6380de9eb2b6267f437a5dee61da1c394c
|
|
| MD5 |
9a5e18c245179968a2cc4c6f5b73960b
|
|
| BLAKE2b-256 |
66be9e6d98d94ef9c9ac3d529d6643563d2c76d98732c3bf94454670bfe8f89f
|