Zep Integration

Write user messages through ZepTools, wait for Zep to sync, then pass the retrieved Zep context block into an Agno agent as a dependency.

Demonstrates Zep-powered memory retrieval for an Agno agent.

zep_integration.py
"""
Zep Integration
===============

Demonstrates Zep-powered memory retrieval for an Agno agent.
"""

import time

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.zep import ZepTools

# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
# Initialize the ZepTools
zep_tools = ZepTools(user_id="agno", session_id="agno-session")

zep_tools.add_zep_message(role="user", content="My name is John Billings")
zep_tools.add_zep_message(role="user", content="I live in NYC")
zep_tools.add_zep_message(role="user", content="I'm going to a concert tomorrow")

# Allow the memories to sync with Zep database
time.sleep(10)


# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
agent = Agent(
    model=OpenAIChat(),
    tools=[zep_tools],
    dependencies={"memory": zep_tools.get_zep_memory(memory_type="context")},
    add_dependencies_to_context=True,
)


# ---------------------------------------------------------------------------
# Run Example
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    # Ask the Agent about the user
    agent.print_response("What do you know about me?")

Context timing

The ten-second sleep is a demonstration delay, not confirmation that Zep finished processing the seed messages. Check the returned context before evaluating recall. The dependency is fetched once at construction; later tool calls can fetch updated context. session_id identifies a Zep thread, while graph search uses user_id. Choose identities for the intended user and conversation when reusing this recipe.

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai zep-cloud

Export your API keys

export OPENAI_API_KEY="your_openai_api_key_here"
export ZEP_API_KEY="your_zep_api_key_here"

Run the example

Save the code above as zep_integration.py, then run:

python zep_integration.py

Full source: cookbook/11_memory/integrations/zep_integration.py