LlamaIndex Integration

The llamaindex-dakera package provides persistent memory and vector indexing for LlamaIndex pipelines. Dakera handles embeddings server-side — no local GPU or embedding API needed.

Quick Start

pip install llamaindex-dakera

Requires Python ≥ 3.10 and a running Dakera server.

from llama_index_dakera import DakeraMemoryStore, DakeraIndexStore

# Semantic memory
store = DakeraMemoryStore(
    api_url="http://localhost:3300",
    api_key="dk-mykey",
    agent_id="my-agent",
)

# Vector index for RAG
index = DakeraIndexStore(
    api_url="http://localhost:3300",
    api_key="dk-mykey",
    namespace="my-docs",
)

Features

Examples

Agent memory

from llama_index_dakera import DakeraMemoryStore

store = DakeraMemoryStore(
    api_url="http://localhost:3300",
    api_key="dk-mykey",
    agent_id="llamaindex-demo",
    recall_k=3,
    default_importance=0.8,
)

store.put("The user prefers Python over JavaScript.")
store.put("Project deadline is next Friday.", memory_type="episodic", importance=0.9)
store.put("The codebase uses FastAPI with SQLAlchemy.", memory_type="semantic")

memories = store.get("programming language preferences")
for m in memories:
    print(f"  [{m['score']:.3f}] {m['content']}")

RAG pipeline with VectorStoreQuery

from llama_index.core.schema import TextNode
from llama_index.core.vector_stores.types import VectorStoreQuery
from llama_index_dakera import DakeraIndexStore

store = DakeraIndexStore(
    api_url="http://localhost:3300",
    api_key="dk-mykey",
    namespace="rag-demo",
)

nodes = [
    TextNode(text="Dakera provides persistent memory for AI agents.", metadata={"topic": "overview"}),
    TextNode(text="Vector search uses cosine similarity over embeddings.", metadata={"topic": "search"}),
    TextNode(text="Server-side embedding removes the need for local GPUs.", metadata={"topic": "architecture"}),
]

ids = store.add(nodes)

query = VectorStoreQuery(query_str="How does Dakera handle embeddings?", similarity_top_k=2)
result = store.query(query)
for node, score in zip(result.nodes, result.similarities):
    print(f"  [{score:.3f}] {node.text}")

API Reference

DakeraMemoryStore options

ParameterTypeDefaultDescription
api_urlstrDakera server URL
api_keystr""API key
agent_idstrAgent identifier
recall_kint5Results per recall query
default_importancefloat0.7Default importance for stored memories

DakeraIndexStore options

ParameterTypeDefaultDescription
api_urlstrDakera server URL
api_keystr""API key
namespacestrVector namespace

Configuration

export DAKERA_API_URL=http://localhost:3300
export DAKERA_API_KEY=dk-your-key

Links