# Agno: Examples

## Examples

- [Examples / Primitives (493 pages)](https://docs.agno.com/_llms/examples/primitives.md): Documentation for Examples / Primitives.
- [Examples / Models (565 pages)](https://docs.agno.com/_llms/examples/models.md): Documentation for Examples / Models.
- [Examples / Tools (286 pages)](https://docs.agno.com/_llms/examples/tools.md): Documentation for Examples / Tools.
- [Examples / More (372 pages)](https://docs.agno.com/_llms/examples/more.md): Documentation for Examples / More.

### Examples

- [Examples](https://docs.agno.com/examples/introduction.md): 2000+ examples covering 40+ models, 100+ tools and 18 vector databases.

#### Basics

- [Quickstart](https://docs.agno.com/examples/basics/overview.md): Build your first agent with tools, structured output, memory, knowledge, guardrails.
- [Agent with Tools - Your First Useful Agent](https://docs.agno.com/examples/basics/agent-with-tools.md): The agent uses Yahoo Finance to turn a plain-English question into tool calls and a current market brief.
- [Agent with Structured Output - Finance Agent with Typed Responses](https://docs.agno.com/examples/basics/agent-with-structured-output.md): Get structured, typed responses from your agent.
- [Agent with Typed Input and Output - Full Type Safety](https://docs.agno.com/examples/basics/agent-with-typed-input-output.md): Define both input and output schemas for your agent.
- [Agent with Storage - Finance Agent with Storage](https://docs.agno.com/examples/basics/agent-with-storage.md): Add SQLite session storage so the Finance Agent remembers conversations across runs.
- [Agent with Memory - Finance Agent that Remembers You](https://docs.agno.com/examples/basics/agent-with-memory.md): Give your agent memory of user preferences.
- [Agent with State Management - Finance Agent with Watchlist](https://docs.agno.com/examples/basics/agent-with-state-management.md): Give your agent persistent state that it can read and modify.
- [Agentic Search over Knowledge - Agent with a Knowledge Base](https://docs.agno.com/examples/basics/agent-search-over-knowledge.md): Give an agent a searchable knowledge base.
- [Agent with Guardrails - Input Validation and Safety](https://docs.agno.com/examples/basics/agent-with-guardrails.md): Add guardrails to your agent to validate input before processing.
- [Human in the Loop - Approve Before the Agent Acts](https://docs.agno.com/examples/basics/human-in-the-loop.md): This example pauses an agent before it executes a tool that has an external effect.
- [Multi-Agent Team - Investment Research Team](https://docs.agno.com/examples/basics/multi-agent-team.md): Coordinate bull and bear analyst agents under a team leader that synthesizes a balanced investment recommendation.
- [Sequential Workflow - Stock Research Pipeline](https://docs.agno.com/examples/basics/sequential-workflow.md): Chain data gathering, analysis, and report writing agents into a three-step stock research workflow.
- [AgentOS - Run the Complete Quickstart](https://docs.agno.com/examples/basics/run.md): Start an AgentOS server that exposes every quickstart agent, team, and workflow at http://localhost:7777.
- [Agent with Learning - Research That Improves Across Users](https://docs.agno.com/examples/basics/agent-with-learning.md): This example gives an agent learned knowledge: reusable insights that become available to future users and sessions.

### Context

#### Storage

- [Storage](https://docs.agno.com/examples/storage/overview.md): Integrate various databases with Agno agents, teams, and workflows.
- [Persistent Session Storage](https://docs.agno.com/examples/storage/persistent-session-storage.md): Store and retrieve team sessions across runs using PostgreSQL.
- [Session Summary](https://docs.agno.com/examples/storage/session-summary.md): Automatically summarize agent sessions to reduce context window usage.
- [Chat History](https://docs.agno.com/examples/storage/chat-history.md): Retrieve and inspect the full chat history from persisted agent sessions.
- [Session Summary with Limits](https://docs.agno.com/examples/storage/session-summary-limits.md): Limit the conversation history sent to the summary model using `last_n_runs` and `conversation_limit` on SessionSummaryManager.

##### DynamoDB

- [DynamoDB](https://docs.agno.com/examples/storage/dynamodb/overview.md): Store agent and team sessions in DynamoDB.
- [Use DynamoDB as the database for an agent](https://docs.agno.com/examples/storage/dynamodb/dynamo-for-agent.md): Store agent sessions and runs in DynamoDB using AWS credentials from the environment.
- [Use DynamoDB as the database for a team](https://docs.agno.com/examples/storage/dynamodb/dynamo-for-team.md): Store team sessions and runs in DynamoDB with environment variables or constructor parameters.

##### Examples

- [Examples](https://docs.agno.com/examples/storage/examples/overview.md): Patterns and examples for database integration with Agno.
- [Multi-User Multi-Session](https://docs.agno.com/examples/storage/examples/multi-user-multi-session.md): Handle multiple users and sessions with SQLite-backed agent storage.
- [Selecting Tables](https://docs.agno.com/examples/storage/examples/selecting-tables.md): Use SQLite as the database for an Agent, selecting custom names for the tables.

##### Firestore

- [Firestore](https://docs.agno.com/examples/storage/firestore/overview.md): Examples demonstrating Google Cloud Firestore integration with Agno agents.
- [Firestore for Agent](https://docs.agno.com/examples/storage/firestore/firestore-for-agent.md): Store agent sessions in a Firestore database.

##### GCS

- [GCS](https://docs.agno.com/examples/storage/gcs/overview.md): Google Cloud Storage (GCS) integration examples: store agent sessions in GCS buckets.
- [GCS JSON Storage for Agent](https://docs.agno.com/examples/storage/gcs/gcs-json-for-agent.md): Store agent sessions in Google Cloud Storage as JSON blobs.

##### In-Memory

- [In Memory](https://docs.agno.com/examples/storage/in-memory/overview.md): Store agent, team, and workflow sessions in memory with InMemoryDb.
- [In Memory Storage for Agent](https://docs.agno.com/examples/storage/in-memory/in-memory-storage-for-agent.md): Keep agent sessions in an in-memory database that clears when the process exits.
- [In-Memory Storage for Team](https://docs.agno.com/examples/storage/in-memory/in-memory-storage-for-team.md): HackerNews research team stores sessions in an in-memory database with a structured Article output.
- [In Memory Storage for Workflow](https://docs.agno.com/examples/storage/in-memory/in-memory-storage-for-workflow.md): Use in-memory storage for Workflow demos.

##### JSON

- [JSON DB](https://docs.agno.com/examples/storage/json-db/overview.md): Store agent, team, and workflow sessions in JSON files.
- [JSON for Agent](https://docs.agno.com/examples/storage/json-db/json-for-agent.md): Use JSON files as the database for an Agent.
- [JSON for Team](https://docs.agno.com/examples/storage/json-db/json-for-team.md): Use JSON files as the database for a Team.
- [JSON for Workflows](https://docs.agno.com/examples/storage/json-db/json-for-workflows.md): Use JSON files as the database for a Workflow.

##### MongoDB

- [Mongo](https://docs.agno.com/examples/storage/mongo/overview.md): Store agent, team, and workflow sessions in MongoDB.
- [MongoDB for Agent](https://docs.agno.com/examples/storage/mongo/mongodb-for-agent.md): Use MongoDb as the database for an agent.
- [MongoDB for Team](https://docs.agno.com/examples/storage/mongo/mongodb-for-team.md): HackerNews research team stores its sessions in MongoDB with a structured Article output.

##### Async MongoDB

- [Async MongoDB](https://docs.agno.com/examples/storage/mongo/async-mongo/overview.md): Examples demonstrating AsyncMongoDb integration with Agno agents, teams, and workflows.
- [Use AsyncMongoDb as the database for an agent](https://docs.agno.com/examples/storage/mongo/async-mongo/async-mongodb-for-agent.md): Persist agent sessions in MongoDB with AsyncMongoDb and async run methods.
- [Use AsyncMongoDb as the database for a team](https://docs.agno.com/examples/storage/mongo/async-mongo/async-mongodb-for-team.md): HackerNews team persists sessions in MongoDB with AsyncMongoDb and aprint_response.
- [Async MongoDB for Workflow](https://docs.agno.com/examples/storage/mongo/async-mongo/async-mongodb-for-workflow.md): Two-step content workflow stores its sessions in MongoDB through AsyncMongoDb.

##### MySQL

- [MySQL](https://docs.agno.com/examples/storage/mysql/overview.md): Examples demonstrating MySQL database integration with Agno agents, teams, and workflows.
- [Use MySQL as the database for an agent](https://docs.agno.com/examples/storage/mysql/mysql-for-agent.md): Store agent sessions in MySQL and add history to context across runs.
- [Use MySQL as the database for a team](https://docs.agno.com/examples/storage/mysql/mysql-for-team.md): HackerNews research team stores its sessions in MySQL with structured Article output.

###### Async MySQL

- [Async MySQL for Agent](https://docs.agno.com/examples/storage/mysql/async-mysql/async-mysql-for-agent.md): Store agent sessions in async MySQL while using web search and conversation history.
- [Async MySQL for Team](https://docs.agno.com/examples/storage/mysql/async-mysql/async-mysql-for-team.md): Store a HackerNews research team's structured article output in MySQL asynchronously.
- [Async MySQL for Workflow](https://docs.agno.com/examples/storage/mysql/async-mysql/async-mysql-for-workflow.md): Store a multi-step research and blog-writing workflow in MySQL asynchronously.

##### PostgreSQL

- [Postgres](https://docs.agno.com/examples/storage/postgres/overview.md): Store agents, teams, and workflows in PostgreSQL with session persistence.
- [Use Postgres as the database for an agent](https://docs.agno.com/examples/storage/postgres/postgres-for-agent.md): Persist agent sessions in Postgres and carry conversation history across runs.
- [Postgres for Team](https://docs.agno.com/examples/storage/postgres/postgres-for-team.md): HackerNews research team stores sessions in Postgres with a structured Article output.
- [Postgres Storage for Workflow](https://docs.agno.com/examples/storage/postgres/postgres-for-workflow.md): Store workflow sessions in PostgreSQL with a multi-step content creation example.

###### Async Postgres

- [Async Postgres for Agent](https://docs.agno.com/examples/storage/postgres/async-postgres/async-postgres-for-agent.md): Persist agent sessions in Postgres with AsyncPostgresDb and async runs.
- [Async Postgres for Team](https://docs.agno.com/examples/storage/postgres/async-postgres/async-postgres-for-team.md): HackerNews team persists sessions in Postgres using AsyncPostgresDb.
- [Async Postgres Storage for Workflow](https://docs.agno.com/examples/storage/postgres/async-postgres/async-postgres-for-workflow.md): Use async Postgres as the storage backend for a workflow.

##### Redis

- [Redis](https://docs.agno.com/examples/storage/redis/overview.md): Examples demonstrating Redis integration with Agno agents, teams, and workflows.
- [Redis for Agent](https://docs.agno.com/examples/storage/redis/redis-for-agent.md): Use Redis as the storage backend for an agent.
- [Redis for Team](https://docs.agno.com/examples/storage/redis/redis-for-team.md): Use Redis as the storage backend for a team.
- [Redis Storage for Workflow](https://docs.agno.com/examples/storage/redis/redis-for-workflow.md): Use Redis as the storage backend for a workflow.

##### Valkey

- [Valkey](https://docs.agno.com/examples/storage/valkey/overview.md): Examples demonstrating Valkey integration with Agno agents, teams, and workflows.
- [Valkey for Agent](https://docs.agno.com/examples/storage/valkey/valkey-for-agent.md): Example showing how to use Valkey as the database for an agent.
- [Valkey for Team](https://docs.agno.com/examples/storage/valkey/valkey-for-team.md): Example showing how to use Valkey as the database for a team.
- [Valkey Storage for Workflow](https://docs.agno.com/examples/storage/valkey/valkey-for-workflow.md): Demonstrates using ValkeyDb as the session storage backend for a workflow.

##### SingleStore

- [SingleStore](https://docs.agno.com/examples/storage/singlestore/overview.md): Examples demonstrating SingleStore database integration with Agno agents and teams.
- [Use SingleStore as the database for an agent](https://docs.agno.com/examples/storage/singlestore/singlestore-for-agent.md): Store agent sessions in SingleStore using connection settings from environment variables.
- [SingleStore for Team](https://docs.agno.com/examples/storage/singlestore/singlestore-for-team.md): HackerNews team persists its sessions in SingleStore configured from environment variables.

##### SQLite

- [SQLite](https://docs.agno.com/examples/storage/sqlite/overview.md): Store agent, team, and workflow sessions in SQLite.
- [Use SQLite as the database for an Agent](https://docs.agno.com/examples/storage/sqlite/sqlite-for-agent.md): Store agent sessions in a SQLite file and recall earlier messages in the conversation.
- [SQLite for Team](https://docs.agno.com/examples/storage/sqlite/sqlite-for-team.md): HackerNews research team stores sessions in a SQLite file with structured Article output.
- [SQLite Storage for Workflow](https://docs.agno.com/examples/storage/sqlite/sqlite-for-workflow.md): Use SqliteDb as the session storage backend for a workflow.

###### Async SQLite

- [Use SQLite as the database for an agent](https://docs.agno.com/examples/storage/sqlite/async-sqlite/async-sqlite-for-agent.md): Persist agent sessions in SQLite with AsyncSqliteDb and async run methods.
- [Async SQLite for Team](https://docs.agno.com/examples/storage/sqlite/async-sqlite/async-sqlite-for-team.md): HackerNews team persists sessions in a SQLite file using AsyncSqliteDb.
- [Async SQLite for Workflow](https://docs.agno.com/examples/storage/sqlite/async-sqlite/async-sqlite-for-workflow.md): Two-step content workflow stores its sessions in SQLite through AsyncSqliteDb.

##### SurrealDB

- [SurrealDB](https://docs.agno.com/examples/storage/surrealdb/overview.md): Store agent, team, and workflow sessions in SurrealDB.
- [SurrealDB for Agent](https://docs.agno.com/examples/storage/surrealdb/surrealdb-for-agent.md): Claude agent persists sessions in SurrealDB over a WebSocket connection.
- [SurrealDB for Team](https://docs.agno.com/examples/storage/surrealdb/surrealdb-for-team.md): Persist a HackerNews research team's sessions in SurrealDB with structured Article output.
- [SurrealDB for Workflow](https://docs.agno.com/examples/storage/surrealdb/surrealdb-for-workflow.md): Persist workflow sessions in SurrealDB for a two-step research and content planning pipeline.

##### Media Storage

- [Media Storage](https://docs.agno.com/examples/storage/media-storage/overview.md): Offload agent media to the filesystem, S3, or Google Cloud Storage.
- [Local Media Storage](https://docs.agno.com/examples/storage/media-storage/local.md): Offload agent media to the local filesystem and persist a MediaReference after successful storage.
- [S3 Media Storage](https://docs.agno.com/examples/storage/media-storage/s3.md): Offload agent media to S3 and persist a MediaReference after successful storage.
- [GCS Media Storage](https://docs.agno.com/examples/storage/media-storage/gcs.md): Offload agent media to Google Cloud Storage and persist a MediaReference after successful storage.
- [Media Storage Across Turns](https://docs.agno.com/examples/storage/media-storage/multiturn.md): Read successfully offloaded S3 media across multiple turns of one session.
- [Deleting Offloaded Media](https://docs.agno.com/examples/storage/media-storage/delete.md): Delete session rows, then attempt a best-effort sweep of their offloaded media.
- [Workflow Media Storage (S3)](https://docs.agno.com/examples/storage/media-storage-workflow.md): Demonstrates media offload across a workflow.
- [Generated File Storage (S3)](https://docs.agno.com/examples/storage/media-storage-file-generation.md): Demonstrates media offload for files the agent *generates*, rather than files you attach.

#### Knowledge

- [Knowledge](https://docs.agno.com/examples/knowledge/overview.md): Build knowledge bases from basic RAG through production patterns, vector databases, and cloud storage integrations.

##### Getting Started

- [Basic RAG: Context Injection](https://docs.agno.com/examples/knowledge/getting-started/basic-rag.md): The simplest way to give an agent access to documents.
- [Agentic RAG: Tool-Based Search](https://docs.agno.com/examples/knowledge/getting-started/agentic-rag.md): The agent gets a search_knowledge_base tool and decides when to query the knowledge base.
- [Loading Content: All Source Types](https://docs.agno.com/examples/knowledge/getting-started/loading-content.md): Knowledge supports loading content from many sources: local files, URLs, raw text, topics (Wikipedia/ArXiv), and batch operations.
- [Website Ingestion: One Row Per Page](https://docs.agno.com/examples/knowledge/getting-started/website-per-page.md): Load a website into a knowledge base page by page from its sitemap: one content row per page with its source URL kept, so the agent can cite the page it answered from and a re-run refreshes only pages that changed.

##### Building Blocks

- [Chunking Strategies: Side-by-Side Comparison](https://docs.agno.com/examples/knowledge/building-blocks/chunking-strategies.md): Compare four chunking strategies for different content types and use cases.
- [Search Types: Vector, Keyword, and Hybrid](https://docs.agno.com/examples/knowledge/building-blocks/hybrid-search.md): Compare vector search, keyword search, and hybrid approaches to find the right strategy for your knowledge base.
- [Reranking: Improving Search Quality](https://docs.agno.com/examples/knowledge/building-blocks/reranking.md): Implement two-stage retrieval with Cohere reranking to improve search result relevance.
- [Filtering: Metadata-Based Search Refinement](https://docs.agno.com/examples/knowledge/building-blocks/filtering.md): Filters let you narrow search results based on document metadata.
- [Agentic Filtering: Agent-Driven Search Refinement](https://docs.agno.com/examples/knowledge/building-blocks/agentic-filtering.md): With agentic filtering enabled, the agent inspects available metadata keys in the knowledge base and dynamically builds filters from the user query.
- [Embedders: Choosing and Configuring Embedding Models](https://docs.agno.com/examples/knowledge/building-blocks/embedders.md): Embedders convert text into vectors for semantic search.

##### Production

- [Multi-Source RAG: Combining Different Content Types](https://docs.agno.com/examples/knowledge/production/multi-source-rag.md): In production, agents often need knowledge from multiple sources: PDFs, web pages, text snippets, and databases.
- [Knowledge Lifecycle: Insert, Update, Remove, Track](https://docs.agno.com/examples/knowledge/production/knowledge-lifecycle.md): The full content lifecycle with a contents database for tracking what has been ingested and its current status.
- [Multi-Tenant Knowledge: Isolating Data Per Tenant](https://docs.agno.com/examples/knowledge/production/multi-tenant.md): When multiple Knowledge instances share the same vector database, use isolate_vector_search to ensure each instance only searches its own data.
- [AgentOS: Serving Knowledge via API](https://docs.agno.com/examples/knowledge/production/agent-os.md): AgentOS wraps your agents and knowledge instances in a FastAPI server, exposing them as API endpoints.
- [Error Handling: Production Patterns](https://docs.agno.com/examples/knowledge/production/error-handling.md): Handle knowledge ingestion failures with skip_if_exists, batch error logging, and verification patterns.
- [SSRF Hardening: allowed_hosts on URL-fetching Readers](https://docs.agno.com/examples/knowledge/production/ssrf-allowed-hosts.md): Knowledge readers that fetch arbitrary URLs (WebsiteReader, FirecrawlReader, DoclingReader, LLMsTxtReader, WebSearchReader) accept an opt-in `allowed_hosts` argument that restricts outbound requests to a hostname allowlist.

##### Advanced

- [Custom Retriever: Bypass the Knowledge Class](https://docs.agno.com/examples/knowledge/advanced/custom-retriever.md): Provide a custom retriever function for non-vector data sources such as SQL queries, API calls, or file lookups.
- [Custom Chunking: Implementing Your Own Strategy](https://docs.agno.com/examples/knowledge/advanced/custom-chunking.md): Implement a custom ParagraphChunking strategy that splits documents on double newlines for well-structured prose.
- [Graph RAG: LightRAG Integration](https://docs.agno.com/examples/knowledge/advanced/graph-rag.md): LightRAG is a managed knowledge backend that builds a knowledge graph from your documents.
- [Knowledge Tools: Think, Search, Analyze](https://docs.agno.com/examples/knowledge/advanced/knowledge-tools.md): Provide agents with think, search, and analyze tools for multi-step knowledge reasoning.
- [Knowledge Protocol: Custom Knowledge Sources](https://docs.agno.com/examples/knowledge/advanced/knowledge-protocol.md): Implement KnowledgeProtocol for an in-memory source with custom context and synchronous or asynchronous document retrieval.
- [Prefix Search: Help Center with search-as-you-type](https://docs.agno.com/examples/knowledge/advanced/prefix-search.md): Real-world use case: A help center where users search for articles while typing, getting instant results for partial words.

###### Per User Isolation

- [Per-User Isolation: Cassandra](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/cassandra-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Chroma](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/chroma-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: ClickHouse](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/clickhouse-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Couchbase](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/couchbase-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: LanceDB](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/lance-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Milvus](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/milvus-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: MongoDB](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/mongo-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: OpenSearch](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/opensearch-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: PgVector](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/pgvector-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Pinecone](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/pinecone-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Qdrant](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/qdrant-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Redis](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/redis-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: SingleStore](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/singlestore-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: SurrealDB](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/surreal-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Upstash](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/upstash-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Valkey](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/valkey-db.md): Each user gets a private view of one shared knowledge base.
- [Per-User Isolation: Weaviate](https://docs.agno.com/examples/knowledge/advanced/per-user-isolation/weaviate-db.md): Each user gets a private view of one shared knowledge base.

##### Integrations

###### Cloud

- [AWS Integration: S3 Content Source](https://docs.agno.com/examples/knowledge/integrations/cloud/aws.md): Load files and folders from S3 buckets into your Knowledge base.
- [Azure Integration: Blob Storage](https://docs.agno.com/examples/knowledge/integrations/cloud/azure.md): Load files and folders from Azure Blob Storage containers into your Knowledge base.
- [Azure Integration: Blob Storage (SAS Token)](https://docs.agno.com/examples/knowledge/integrations/cloud/azure-sas.md): Load files and folders from Azure Blob Storage containers using SAS token authentication.
- [GCP Integration: Google Cloud Storage](https://docs.agno.com/examples/knowledge/integrations/cloud/gcp.md): Load files and folders from GCS buckets into your Knowledge base.
- [SharePoint Integration](https://docs.agno.com/examples/knowledge/integrations/cloud/sharepoint.md): Load files and folders from SharePoint document libraries into your Knowledge base.
- [GitHub Integration: Per-Request Repo Override](https://docs.agno.com/examples/knowledge/integrations/cloud/github-dynamic-repo.md): Use a single GitHubConfig with no default repo to load content from multiple repositories by passing the repo at request time.
- [Multi-Source Remote Content](https://docs.agno.com/examples/knowledge/integrations/cloud/multi-source.md): Combine multiple remote content sources in a single Knowledge instance.

###### RAG

- [Agentic RAG Infinity Reranker](https://docs.agno.com/examples/knowledge/integrations/rag/agentic-rag-infinity-reranker.md): Run hybrid LanceDB search with Cohere embeddings and a local Infinity reranker (BAAI/bge-reranker-base on localhost:7997) behind a Claude agent.
- [Agentic RAG With Lightrag](https://docs.agno.com/examples/knowledge/integrations/rag/agentic-rag-with-lightrag.md): Ingest a PDF, a Wikipedia topic, and a URL into a LightRag-backed knowledge base and query it with an async agent.
- [Local RAG Langchain Qdrant](https://docs.agno.com/examples/knowledge/integrations/rag/local-rag-langchain-qdrant.md): Local RAG with Ollama answering from a LangChain retriever backed by Qdrant and FastEmbed embeddings.

###### Readers

- [Document Readers: PDF, DOCX, PPTX, Excel](https://docs.agno.com/examples/knowledge/integrations/readers/documents.md): Load a local PDF, an Excel file via an explicit ExcelReader, and a remote PDF URL into Qdrant hybrid search, then query them with an agent.
- [Data Readers: CSV, JSON, Field-Labeled CSV](https://docs.agno.com/examples/knowledge/integrations/readers/data.md): Ingest inline CSV and JSON text with CSVReader and JSONReader into Qdrant hybrid search and query the rows with an agent.
- [Web Readers: Website, YouTube, ArXiv, Firecrawl](https://docs.agno.com/examples/knowledge/integrations/readers/web.md): Crawl docs.agno.com with WebsiteReader (max_depth=1, max_links=5) and auto-detect a remote PDF URL into Qdrant hybrid search.

###### Docling

- [Docling Reader: Audio Files](https://docs.agno.com/examples/knowledge/integrations/readers/docling/docling-audio.md): Examples of using Docling to process audio files with speech-to-text transcription.
- [Docling Reader: Office Documents](https://docs.agno.com/examples/knowledge/integrations/readers/docling/docling-documents.md): Examples of using Docling to process Microsoft Office documents.
- [Docling Reader: Image Documents](https://docs.agno.com/examples/knowledge/integrations/readers/docling/docling-images.md): Examples of using Docling to process image files with OCR capabilities.
- [Docling Reader: Markup and Structured Documents](https://docs.agno.com/examples/knowledge/integrations/readers/docling/docling-markup.md): Examples of using Docling to process markup and structured document formats.
- [Docling Reader: PDF Documents](https://docs.agno.com/examples/knowledge/integrations/readers/docling/docling-pdf.md): Examples of using Docling to process PDF files with different output formats.
- [Docling Reader: Data Files](https://docs.agno.com/examples/knowledge/integrations/readers/docling/docling-xlsx.md): Read an XLSX spreadsheet with DoclingReader in HTML output mode and query products and prices through a LanceDB-backed agent.
- [Docling Reader: Input Types](https://docs.agno.com/examples/knowledge/integrations/readers/docling/docling-input-types.md): DoclingReader.read() accepts several kinds of `file` input.

###### Vector Databases

- [Qdrant: Recommended Vector Database](https://docs.agno.com/examples/knowledge/integrations/vector-dbs/qdrant.md): Run Qdrant-backed knowledge two ways: basic vector search, and hybrid search with a Cohere reranker.
- [Local Vector Databases: ChromaDB and LanceDB](https://docs.agno.com/examples/knowledge/integrations/vector-dbs/local.md): Compare embedded ChromaDB and hybrid-search LanceDB knowledge bases over the same PDF, with graceful fallback when either package is missing.
- [Managed Vector Databases: Pinecone](https://docs.agno.com/examples/knowledge/integrations/vector-dbs/managed.md): Pinecone is a fully managed, serverless vector database for production workloads where you want zero infrastructure management.
- [PgVector: PostgreSQL Vector Search](https://docs.agno.com/examples/knowledge/integrations/vector-dbs/pgvector.md): PgVector adds vector similarity search to PostgreSQL, giving you vectors alongside your existing relational data in one database.
- [ScyllaDB: high-performance, real-time database for AI](https://docs.agno.com/examples/knowledge/integrations/vector-dbs/scylladb.md): ScyllaDB is a high-performance, real-time, distributed database that provides low latency reads/writes and supports vector similarity search.

#### Memory

- [Memory](https://docs.agno.com/examples/memory/overview.md): Examples of persisting user memories in a database and sharing them across runs, sessions, and multiple agents.
- [Agent With Persistent Memory](https://docs.agno.com/examples/memory/agent-with-memory.md): Persist user memories in PostgresDb with update_memory_on_run so the agent creates and updates them after each run.
- [Agentic Memory Management](https://docs.agno.com/examples/memory/agentic-memory.md): Enable enable_agentic_memory so the agent itself creates, updates, and deletes user memories during a run.
- [Agents Sharing Memory](https://docs.agno.com/examples/memory/agents-share-memory.md): Two agents sharing the same user memory.
- [Custom Memory Manager Configuration](https://docs.agno.com/examples/memory/custom-memory-manager.md): Configure a MemoryManager separately from the Agent and apply custom memory capture instructions.
- [Memory Tools With Web Search](https://docs.agno.com/examples/memory/memory-tools.md): Use MemoryTools alongside WebSearchTools so an agent can store and use user memory while planning a trip.
- [Multi-User Multi-Session Chat](https://docs.agno.com/examples/memory/multi-user-multi-session-chat.md): A multi-user, multi-session chat flow where user memory is shared across sessions for the same user.
- [Concurrent Multi-User Multi-Session Chat](https://docs.agno.com/examples/memory/multi-user-multi-session-chat-concurrent.md): Run three user conversations concurrently with asyncio.gather while a shared agent persists user memories across sessions.
- [Share Memory and History Between Agents](https://docs.agno.com/examples/memory/share-memory-and-history-between-agents.md): Two agents sharing both conversation history and user memory through a common database, user ID, and session ID.

##### Memory Manager

- [Memory Manager](https://docs.agno.com/examples/memory/memory-manager/overview.md): The Memory Manager handles user memory CRUD and retrieval operations.
- [Custom Memory Capture Instructions](https://docs.agno.com/examples/memory/memory-manager/custom-memory-instructions.md): Run a custom OpenAI memory-capture scenario for academic interests, then a separate default Claude scenario over multi-turn messages.
- [Control Memory Database Tools](https://docs.agno.com/examples/memory/memory-manager/db-tools-control.md): Control which memory database operations are available to the AI model using DB tool flags.
- [Create Memories From Text and Message History](https://docs.agno.com/examples/memory/memory-manager/memory-creation.md): Create user memories from direct text and from a message list using MemoryManager.
- [Search User Memories](https://docs.agno.com/examples/memory/memory-manager/memory-search.md): Search user memories using different retrieval methods such as last_n, first_n, and agentic retrieval.
- [Standalone Memory Manager CRUD](https://docs.agno.com/examples/memory/memory-manager/standalone-memory.md): Add, get, delete, and replace user memories manually.

##### Optimize Memories

- [Optimize Memories](https://docs.agno.com/examples/memory/optimize-memories/overview.md): Memory optimization strategies: the built-in summarize strategy and custom strategies via MemoryOptimizationStrategy.
- [Custom Memory Optimization Strategy](https://docs.agno.com/examples/memory/optimize-memories/custom-memory-strategy.md): Create and apply a custom memory optimization strategy by subclassing MemoryOptimizationStrategy.
- [Optimize Memories With Summarize Strategy](https://docs.agno.com/examples/memory/optimize-memories/memory-summarize-strategy.md): Memory optimization using the summarize strategy, which combines all memories into one summary for token reduction.

#### Learning

- [Learning](https://docs.agno.com/examples/learning/overview.md): A comprehensive guide to building agents that learn, adapt, and improve.

##### Basics

- [Basics](https://docs.agno.com/examples/learning/basics/overview.md): Core learning primitives and default patterns.
- [Session Context: Summary Mode](https://docs.agno.com/examples/learning/basics/a-session-context-summary.md): Summary mode provides lightweight tracking - a running summary without goal/plan structure.
- [User Memory: Always Mode](https://docs.agno.com/examples/learning/basics/a-user-memory-always.md): ALWAYS mode extracts memories automatically in parallel while the agent responds - no explicit tool calls needed.
- [User Profile: Always Mode](https://docs.agno.com/examples/learning/basics/a-user-profile-always.md): ALWAYS mode extracts profile information automatically in parallel while the agent responds - no explicit tool calls needed.
- [Session Context: Planning Mode](https://docs.agno.com/examples/learning/basics/b-session-context-planning.md): Planning mode (enable_planning=True) adds structured goal tracking - summary plus goal, plan steps, and progress markers.
- [User Memory: Agentic Mode](https://docs.agno.com/examples/learning/basics/b-user-memory-agentic.md): AGENTIC mode gives the agent explicit tools to save and update memories.
- [User Profile: Agentic Mode](https://docs.agno.com/examples/learning/basics/b-user-profile-agentic.md): AGENTIC mode gives the agent explicit tools to update profile fields.
- [Learned Knowledge: Agentic Mode](https://docs.agno.com/examples/learning/basics/learned-knowledge.md): The agent decides when to save and apply learnings.
- [Entity Memory: The Four Tools](https://docs.agno.com/examples/learning/basics/entity-memory.md): Entity memory is the agent's knowledge about the WORLD - the people, projects, companies and systems around the user - as opposed to user memory, which is about the user themselves.
- [Extraction Limits: Preventing Runaway Loops](https://docs.agno.com/examples/learning/basics/extraction-limits.md): Configure max_updates_per_run to cap memory updates per extraction.

##### Custom Stores

- [Custom Stores](https://docs.agno.com/examples/learning/custom-stores/overview.md): Custom learning store implementations and integration patterns.
- [Custom Store: Database-Backed Example](https://docs.agno.com/examples/learning/custom-stores/custom-store-with-db.md): Create a custom learning store with database persistence.
- [Custom Store: Minimal Example](https://docs.agno.com/examples/learning/custom-stores/minimal-custom-store.md): Create a custom learning store by implementing the LearningStore protocol.

##### Decision Logs

- [Decision Logs](https://docs.agno.com/examples/learning/decision-logs/overview.md): Examples for capturing and reviewing agent decision logs.
- [Decision Logs: Basic Usage](https://docs.agno.com/examples/learning/decision-logs/basic-decision-log.md): Use DecisionLogStore to record and retrieve agent decisions.
- [Decision Logs: Recording Outcomes](https://docs.agno.com/examples/learning/decision-logs/record-outcomes.md): The feedback half of the decision log: log_decision records the choice with its reasoning, and record_outcome closes the loop later with what actually happened.

##### Entity Memory

- [Entity Memory](https://docs.agno.com/examples/learning/entity-memory/overview.md): Current Agno v3.0.4 alternatives for Entity Memory examples.
- [Entity Memory: The Four Tools](https://docs.agno.com/examples/learning/entity-memory/the-four-tools.md): Entity memory is the agent's knowledge base about the world: the people, projects, companies and systems around the user.
- [Entity Memory: Links, Browse and Forget](https://docs.agno.com/examples/learning/entity-memory/links-and-forget.md): Create reciprocal entity links, browse recent entities, archive one, and revive it through entity memory.

##### Learned Knowledge

- [Learned Knowledge](https://docs.agno.com/examples/learning/learned-knowledge/overview.md): Deep-dive examples for reusable learned knowledge.
- [Learned Knowledge: Agentic Mode (Deep Dive)](https://docs.agno.com/examples/learning/learned-knowledge/agentic-mode.md): Agent decides when to save and retrieve learnings.
- [Learned Knowledge: Propose Mode (Deep Dive)](https://docs.agno.com/examples/learning/learned-knowledge/propose-mode.md): Agent proposes learnings, user confirms before saving.

##### Patterns

- [Patterns](https://docs.agno.com/examples/learning/patterns/overview.md): End-to-end multi-store learning patterns for real workflows.
- [Pattern: Personal Assistant with Learning](https://docs.agno.com/examples/learning/patterns/personal-assistant.md): A personal assistant that learns about the user over time.
- [Pattern: Support Agent with Learning](https://docs.agno.com/examples/learning/patterns/support-agent.md): A customer support agent that learns from interactions.
- [Pattern: Research Assistant with Tools + Learning](https://docs.agno.com/examples/learning/patterns/research-assistant.md): A research assistant that uses web search tools and learns about the user.

##### Quick Tests

- [Quick Tests](https://docs.agno.com/examples/learning/quick-tests/overview.md): Quick validation scripts for critical learning paths.
- [Async User Profile Test](https://docs.agno.com/examples/learning/quick-tests/async-user-profile.md): Tests the async path for user profile learning.
- [Claude Model Test](https://docs.agno.com/examples/learning/quick-tests/claude-model.md): Tests learning with Claude instead of OpenAI.
- [Learning=True Shorthand Test](https://docs.agno.com/examples/learning/quick-tests/learning-true-shorthand.md): Tests the simplest way to enable learning: `learning=True`.
- [No-DB Graceful Handling Test](https://docs.agno.com/examples/learning/quick-tests/no-db-graceful.md): Tests that learning gracefully handles missing database.

##### Quickstart

- [Quickstart](https://docs.agno.com/examples/learning/quickstart/overview.md): Quick start examples for enabling learning in an agent.
- [Learning Machines: Agentic Mode](https://docs.agno.com/examples/learning/quickstart/agentic-learn.md): In AGENTIC mode, the agent receives tools to explicitly manage learning.
- [Learning Machines](https://docs.agno.com/examples/learning/quickstart/always-learn.md): Set learning=True to turn an agent into a learning machine.
- [Learning Machines: Learned Knowledge](https://docs.agno.com/examples/learning/quickstart/learned-knowledge.md): Learned Knowledge stores insights that transfer across users.

##### Session Context

- [Session Context](https://docs.agno.com/examples/learning/session-context/overview.md): Deep-dive examples for session context tracking.
- [Session Context: Planning Mode (Deep Dive)](https://docs.agno.com/examples/learning/session-context/planning-mode.md): Goal, plan, and progress tracking for task-oriented sessions.
- [Session Context: Summary Mode (Deep Dive)](https://docs.agno.com/examples/learning/session-context/summary-mode.md): Running summary of conversation state.

##### User Profile

- [User Profile](https://docs.agno.com/examples/learning/user-profile/overview.md): Deep-dive examples focused on user profile extraction and schema control.
- [User Profile: Agentic Mode (Deep Dive)](https://docs.agno.com/examples/learning/user-profile/agentic-mode.md): Agent-controlled profile updates via explicit tools.
- [User Profile: Always Extraction (Deep Dive)](https://docs.agno.com/examples/learning/user-profile/always-extraction.md): Automatic profile extraction from natural conversation.
- [User Profile: Custom Schema](https://docs.agno.com/examples/learning/user-profile/custom-schema.md): Define your own profile structure with a dataclass.

##### Demo

- [Learning Demo: Shared Agent](https://docs.agno.com/examples/learning/demo/agents.md): Shared ops assistant configured with all six learning stores, backed by PostgresDb and a PgVector knowledge base.
- [Learning Demo: AgentOS Server](https://docs.agno.com/examples/learning/demo/run.md): Serves the ops assistant on an AgentOS instance, which exposes the /learnings CRUD endpoints and powers the Learning pages at os.agno.com.
- [Learning Demo: Seed Data](https://docs.agno.com/examples/learning/demo/seed.md): Runs a few short conversations through the ops assistant so that every Learning page in AgentOS has data: user profiles, user memories, session context, entity memories, and decision logs.

##### Composition

- [Composition: ALWAYS Capture Through the Manual Door](https://docs.agno.com/examples/learning/composition/always-capture.md): The manual door has no automatic post-run extraction - the tools are the capture mechanism.
- [Composition: The Manual Door](https://docs.agno.com/examples/learning/composition/basic.md): learning= is the automatic door: the framework injects context, instructions and tools for you.
- [Composition: The Data Block via additional_context](https://docs.agno.com/examples/learning/composition/context-block.md): build_context() returns the recalled-data block on its own, for when you want the data injected but not the tools - a read-only view of what the machine knows, placed exactly where you choose.
- [Composition: LearningMachine + FileSystem, One Deliberate Order](https://docs.agno.com/examples/learning/composition/with-filesystem.md): The point of the manual door: LearningMachine, FileSystem and your own system prompt compose in one order you can read off the page.

#### Context Providers

- [Filesystem Context Provider](https://docs.agno.com/examples/context/filesystem.md): FilesystemContextProvider wraps a local directory and gives the agent a single `query_<id>` tool.
- [Web Context Provider with Exa](https://docs.agno.com/examples/context/web-exa.md): Run WebContextProvider with ExaBackend so an agent searches and fetches web pages through Exa's search + contents API.
- [Web Context Provider with Exa's keyless MCP endpoint](https://docs.agno.com/examples/context/web-exa-mcp.md): `ExaMCPBackend` speaks to Exa's public MCP server at https://mcp.exa.ai/mcp.
- [Web Context Provider with Parallel](https://docs.agno.com/examples/context/web-parallel.md): `ParallelBackend` speaks directly to Parallel's web API via the `parallel-web` SDK (>= 1.0).
- [Database Context Provider (SQLite, read + write)](https://docs.agno.com/examples/context/database-read-write.md): Use one SQLite engine for read and write operations through DatabaseContextProvider.
- [Slack Context Provider](https://docs.agno.com/examples/context/slack.md): Separate sub-agents under the hood keep scopes minimal: read agents never see `send_message`, and the write agent never sees history or search tools.
- [MCP Context Provider](https://docs.agno.com/examples/context/mcp-server.md): MCPContextProvider wraps a single MCP server as a context provider.
- [Slack Search & Media Tools](https://docs.agno.com/examples/context/slack-search-media.md): Run SlackContextProvider with Gemini sub-agents, enabling search_messages and opt-in media tools for file download and upload.
- [Google Drive Context Provider](https://docs.agno.com/examples/context/google-drive.md): GoogleDriveContextProvider wraps a read-only slice of `GoogleDriveTools` with `corpora="allDrives"` so a service account can see folders shared with it and files in Shared Drives.
- [Multiple Context Providers on One Agent](https://docs.agno.com/examples/context/multi-provider.md): Compose filesystem, Exa MCP web, and SQLite database context providers on one agent, bracketing only the web provider's MCP session with asetup/aclose.
- [Team briefing: Slack + Web](https://docs.agno.com/examples/context/web-plus-slack.md): Cross-reference internal Slack discussion with external industry news to produce a short briefing.
- [Custom Context Provider](https://docs.agno.com/examples/context/custom-provider.md): When a built-in provider doesn't fit, subclass `ContextProvider`.
- [Web Context Provider with Parallel's MCP endpoint](https://docs.agno.com/examples/context/web-parallel-mcp.md): `ParallelMCPBackend` speaks to Parallel's public MCP server at https://search.parallel.ai/mcp.
- [Engineering briefing: Slack + Workspace + Parallel Web](https://docs.agno.com/examples/context/engineering-briefing.md): Synthesizes a briefing by chaining Slack, workspace, and Parallel web context providers, then posting the result back to Slack.
- [Workspace Context Provider](https://docs.agno.com/examples/context/workspace.md): WorkspaceContextProvider wraps a project directory and gives the agent a single `query_<id>` tool.
- [Wiki Context Provider (filesystem backend)](https://docs.agno.com/examples/context/wiki-filesystem.md): Seeds a local markdown wiki and uses WikiContextProvider with FileSystemBackend so the agent writes and reads back a runbook with no auth or network.
- [Wiki Context Provider (git backend)](https://docs.agno.com/examples/context/wiki-git.md): Same WikiContextProvider as `14_wiki_filesystem.py`, but the wiki lives in a real git repository.
- [Wiki Context Provider (Notion database backend)](https://docs.agno.com/examples/context/wiki-notion.md): Mirror a Notion database to local Markdown and update it through WikiContextProvider.
- [Wiki Context Provider (filesystem + web ingestion)](https://docs.agno.com/examples/context/wiki-with-web.md): Wires an ExaMCPBackend into WikiContextProvider so a single update_wiki call can search or fetch the web, digest the result, and file it as a wiki page.
- [Wiki Context Provider (dual: company knowledge + company voice)](https://docs.agno.com/examples/context/wiki-dual.md): Mount two WikiContextProvider instances on one agent: a read-write company_knowledge wiki and a read-only company_voice wiki.
- [Gmail Context Provider](https://docs.agno.com/examples/context/gmail.md): GmailContextProvider gives agents read/write access to Gmail through specialized sub-agents.
- [Google Calendar Context Provider](https://docs.agno.com/examples/context/calendar.md): GoogleCalendarContextProvider gives agents read/write access to Google Calendar through specialized sub-agents.
- [Google Workspace Multi-Provider](https://docs.agno.com/examples/context/google-workspace.md): Combines GDrive, Gmail, and Calendar context providers into a single agent for cross-service workflows.
- [Google Drive Office Document Reading](https://docs.agno.com/examples/context/gdrive-office.md): Reads .docx, .xlsx and .pptx files from Google Drive via GoogleDriveContextProvider, extracting text with python-docx, openpyxl and python-pptx.
- [Wiki Context Provider: Sub-Agent Event Streaming](https://docs.agno.com/examples/context/wiki-streaming-events.md): When the parent agent calls a context provider's query tool, the sub-agent's events (tool calls, content) are streamed back automatically.
- [Wiki Context Provider: AgentOS Streaming](https://docs.agno.com/examples/context/wiki-agentos-streaming.md): Serve a WikiContextProvider-backed agent on AgentOS at localhost:7777 so sub-agent tool calls and content stream live into os.agno.com.
- [Multi Context Provider: Streaming Demo](https://docs.agno.com/examples/context/multi-context-streaming.md): Attach two WikiContextProviders (architecture and operations) to one AgentOS agent and stream nested events from parallel sub-agent tool calls.
- [Restricting Write Operations with write_tools](https://docs.agno.com/examples/context/write-tools-restriction.md): Context providers expose ``write_tools`` to customize or restrict what write operations an agent can perform.
