Skip to main content
Retrieval finds the most relevant documents for a query.

Basic retrieval

agent = Agent(
    knowledge=knowledge,
    search_knowledge=True,  # Enable agentic RAG
    add_knowledge_to_context=True
)
Combines vector and keyword search:
from agno.knowledge.pdf import PDFKnowledge

knowledge = PDFKnowledge(
    path="docs/",
    vector_db=vector_db,
    use_hybrid_search=True
)

Custom retrieval

def custom_retriever(agent, query, num_documents=5):
    # Custom retrieval logic
    return documents

agent = Agent(
    knowledge=knowledge,
    knowledge_retriever=custom_retriever
)

Filters

agent = Agent(
    knowledge=knowledge,
    knowledge_filters={"category": "technical"}
)
See cookbook examples for complete patterns.

Build docs developers (and LLMs) love