Usage

Valkey

Add and query knowledge with ValkeyDB as the vector database.

Code

from agno.agent import Agent
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.valkey import ValkeyDB
from agno.vectordb.search import SearchType

# Initialize Valkey Vector DB
vector_db = ValkeyDB(
    index_name="agno_docs",
    host="localhost",
    port=6379,
    search_type=SearchType.vector,
)

# Build a Knowledge base backed by Valkey
knowledge = Knowledge(
    name="My Valkey Knowledge Base",
    description="Knowledge base using Valkey as the vector store",
    vector_db=vector_db,
)

knowledge.insert(
    name="Recipes",
    url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf",
    metadata={"category": "recipe_book"},
    skip_if_exists=True,
)

agent = Agent(knowledge=knowledge)
agent.print_response("List down the ingredients to make Massaman Gai", markdown=True)

Usage

Set up your virtual environment

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

Install dependencies

uv pip install -U valkey-glide-sync pypdf openai agno

Export your OpenAI API key

export OPENAI_API_KEY="your_openai_api_key_here"

Run Valkey

docker run -d --name my-valkey -p 6379:6379 valkey/valkey-bundle

Run Agent

python valkey_db.py