Skip to main content

autogen-dakera

CI PyPI Downloads Python License: MIT dakera.ai Docs Docs

Persistent, semantically-recalled memory for AutoGen agents, powered by Dakera.

Your AutoGen agents remember everything — across sessions, across restarts. Dakera handles embedding, storage, and retrieval server-side with no local model required.


Quick Start

Step 1 — Run Dakera

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:latest

For 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/health

Full deployment guide: github.com/Dakera-AI/dakera-deploy

Step 2 — Install the integration

pip install autogen-dakera

Step 3 — Add memory to your agent

from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.conditions import MaxMessageTermination
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_dakera import DakeraMemory

memory = DakeraMemory(
    api_url="http://localhost:3300",
    api_key="dk-mykey",
    agent_id="my-agent",
)

model_client = OpenAIChatCompletionClient(model="gpt-4o")

agent = AssistantAgent(
    name="assistant",
    model_client=model_client,
    memory=[memory],
)

# Agent now persists what it learns across sessions

Installation

# Core + integration
pip install autogen-dakera

# With AutoGen (if not already installed)
pip install "autogen-dakera[autogen]"

Requirements: Python ≥ 3.10, a running Dakera server (see Step 1 above)

Compatibility: Compatible with Dakera server v0.12.0 and v0.11.108 (dakera Python SDK >= 0.13.1).


Configuration

Parameter Type Default Description
api_url str — Dakera server URL (e.g. http://localhost:3300)
api_key str "" API key set via DAKERA_ROOT_API_KEY
agent_id str — Logical identifier for this agent's memory
min_importance float 0.0 Minimum importance score for recalled memories
top_k int 5 Number of memories to surface per query

Examples

Multi-agent team with shared memory

import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.conditions import MaxMessageTermination
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_dakera import DakeraMemory

async def main():
    shared_memory = DakeraMemory(
        api_url="http://localhost:3300",
        api_key="dk-mykey",
        agent_id="research-team",
        top_k=8,
    )

    model_client = OpenAIChatCompletionClient(model="gpt-4o")

    researcher = AssistantAgent(
        name="researcher",
        model_client=model_client,
        memory=[shared_memory],
        system_message="You are a research expert. Remember key findings.",
    )

    analyst = AssistantAgent(
        name="analyst",
        model_client=model_client,
        memory=[shared_memory],
        system_message="You are a data analyst. Build on what the researcher found.",
    )

    team = RoundRobinGroupChat(
        [researcher, analyst],
        termination_condition=MaxMessageTermination(max_messages=6),
    )

    # First session — agents learn and store
    result = await team.run(task="Research AI memory architectures")
    print(result.messages[-1].content)

    # Later session — agents recall prior research
    result = await team.run(task="What do we know about transformer memory?")
    print(result.messages[-1].content)

asyncio.run(main())

Filtering memories by importance

memory = DakeraMemory(
    api_url="http://localhost:3300",
    api_key="dk-mykey",
    agent_id="my-agent",
    min_importance=0.7,  # only surface high-quality memories
    top_k=3,
)

How it works

  1. During conversation, AutoGen calls DakeraMemory.add() with new messages
  2. Dakera embeds the content server-side and stores it with a semantic vector
  3. Before each agent response, AutoGen calls DakeraMemory.query() — Dakera performs hybrid search and returns the most relevant past memories
  4. Memories are injected into the agent's context automatically

Package Framework Language
crewai-dakera CrewAI Python
langchain-dakera LangChain Python
llamaindex-dakera LlamaIndex Python
@dakera-ai/langchain LangChain.js TypeScript


License

MIT © Dakera AI


Metadata

Release files for autogen-dakera 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autogen-dakera 0.3.0
File Size Uploaded
autogen_dakera-0.3.0.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autogen-dakera 0.3.0
File Interpreter ABI Platform
autogen_dakera-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.8 kB

Release files / autogen_dakera-0.3.0.tar.gz

Download URL autogen_dakera-0.3.0.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
38224bee84a5ff3b5af3099b008ce0efe911a02749d8aac7dbab6b1fd1435b99
BLAKE2b-256 checksum
How to use checksums
1522aa28b4482eeb1d456184e2744d59fd5c5e4133b2024c08bad41fc7073dac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / autogen_dakera-0.3.0-py3-none-any.whl

Download URL autogen_dakera-0.3.0-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1790ac74cbf20da930dfd838796771b9fb524c1eae41196acce7f5285998cd01
BLAKE2b-256 checksum
How to use checksums
c3ad3b52c4ab0462b414d24b1cd26708cd351f79426cca22e077197ff28d0412
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

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