Drop-in LlamaIndex components backed by Dakera — persistent agent memory and server-side vector indexing with no local embedding model.
DakeraMemoryStore gives your LlamaIndex agents conversation memory that survives restarts. DakeraIndexStore replaces local vector indices with Dakera's server-side embedding engine — no OpenAI embeddings API needed for RAG.
Dakera is a self-hosted memory server. Spin it up with Docker:
docker run -d \
--name dakera \
-p 3300:3300 \
-e DAKERA_ROOT_API_KEY=dk-mykey \
ghcr.io/dakera-ai/dakera:latestFor a production setup with persistent storage, use Docker Compose:
# Download and start
curl -sSfL https://raw.githubusercontent.com/Dakera-AI/dakera-deploy/main/docker-compose.yml \
-o docker-compose.yml
DAKERA_API_KEY=dk-mykey docker compose up -d
# Verify it's running
curl http://localhost:3300/healthFull deployment guide: github.com/Dakera-AI/dakera-deploy
pip install llamaindex-dakerafrom llama_index_dakera import DakeraMemoryStore, DakeraIndexStore
# Agent memory
memory = DakeraMemoryStore(
api_url="http://localhost:3300",
api_key="dk-mykey",
agent_id="my-agent",
)
# RAG index — no local embedding model needed
vector_store = DakeraIndexStore(
api_url="http://localhost:3300",
api_key="dk-mykey",
namespace="my-docs",
)pip install llamaindex-dakeraRequirements: Python ≥ 3.10, a running Dakera server (see Step 1 above)
Persistent conversation memory for LlamaIndex agents. Drop-in replacement for the default in-memory store.
from llama_index.core.agent import ReActAgent
from llama_index.core.memory import ChatMemoryBuffer
from llama_index.llms.openai import OpenAI
from llama_index_dakera import DakeraMemoryStore
store = DakeraMemoryStore(
api_url="http://localhost:3300",
api_key="dk-mykey",
agent_id="react-agent",
)
memory = ChatMemoryBuffer.from_defaults(
token_limit=3000,
chat_store=store,
chat_store_key="user-1",
)
agent = ReActAgent.from_tools(
tools=[...],
llm=OpenAI(model="gpt-4o"),
memory=memory,
verbose=True,
)
# First session
response = agent.chat("My project is called NeuralBridge.")
print(response)
# Later session — memory persists
response = agent.chat("What's the name of my project?")
print(response) # "Your project is called NeuralBridge."| Parameter | Type | Default | Description |
|---|---|---|---|
api_url |
str |
— | Dakera server URL |
api_key |
str |
"" |
Dakera API key |
agent_id |
str |
— | Namespace for this agent's memories |
top_k |
int |
5 |
Memories to retrieve per query |
min_importance |
float |
0.0 |
Minimum importance for recall |
Server-side embedded vector store for RAG. Dakera embeds documents on the server — no local model, no OpenAI embeddings API needed.
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, StorageContext
from llama_index_dakera import DakeraIndexStore
# Load documents
documents = SimpleDirectoryReader("./docs").load_data()
# Create index backed by Dakera
vector_store = DakeraIndexStore(
api_url="http://localhost:3300",
api_key="dk-mykey",
namespace="product-docs",
)
storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_documents(
documents,
storage_context=storage_context,
)query_engine = index.as_query_engine(similarity_top_k=4)
response = query_engine.query("How does the billing work?")
print(response)from llama_index.core.chat_engine import CondensePlusContextChatEngine
from llama_index_dakera import DakeraIndexStore, DakeraMemoryStore
vector_store = DakeraIndexStore(
api_url="http://localhost:3300",
api_key="dk-mykey",
namespace="product-docs",
)
storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_defaults(storage_context=storage_context)
memory_store = DakeraMemoryStore(
api_url="http://localhost:3300",
api_key="dk-mykey",
agent_id="doc-chat",
)
chat_engine = CondensePlusContextChatEngine.from_defaults(
retriever=index.as_retriever(similarity_top_k=4),
memory=ChatMemoryBuffer.from_defaults(chat_store=memory_store),
)
response = chat_engine.chat("What are the pricing tiers?")
print(response)| Parameter | Type | Default | Description |
|---|---|---|---|
api_url |
str |
— | Dakera server URL |
api_key |
str |
"" |
Dakera API key |
namespace |
str |
— | Vector namespace to read/write |
embedding_model |
str |
namespace default | Server-side embedding model override |
| Package | Framework | Language |
|---|---|---|
crewai-dakera |
CrewAI | Python |
langchain-dakera |
LangChain | Python |
autogen-dakera |
AutoGen | Python |
@dakera-ai/langchain |
LangChain.js | TypeScript |
- Dakera Server — self-hosted memory server
- Dakera Python SDK — low-level API client
- Integration guide — full setup walkthrough
- All integrations
MIT © Dakera AI