> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Advanced

> Advanced examples covering caching, compression, concurrency, events, retries, debugging, culture, and serialization.

| Example                                                                                         | Description                                                                                                                                           |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| [01 Create Cultural Knowledge](/examples/agents/advanced/create-cultural-knowledge)             | Create cultural knowledge to use with your Agents.                                                                                                    |
| [02 Use Cultural Knowledge In Agent](/examples/agents/advanced/use-cultural-knowledge-in-agent) | Use cultural knowledge with your Agents.                                                                                                              |
| [03 Automatic Cultural Management](/examples/agents/advanced/automatic-cultural-management)     | Automatically update cultural knowledge based on Agent interactions.                                                                                  |
| [04 Manually Add Culture](/examples/agents/advanced/manually-add-culture)                       | Manually add cultural knowledge to your Agents.                                                                                                       |
| [Advanced Compression](/examples/agents/advanced/advanced-compression)                          | Set a context token based limit for tool call compression.                                                                                            |
| [Agent Serialization](/examples/agents/advanced/agent-serialization)                            | Serialize and deserialize agents using to\_dict/from\_dict and save/load with a database.                                                             |
| [Background Execution](/examples/agents/advanced/background-execution)                          | Background execution allows you to start an agent run that returns immediately.                                                                       |
| [Background Execution Structured](/examples/agents/advanced/background-execution-structured)    | Combines background execution (non-blocking, async) with Pydantic output\_schema.                                                                     |
| [Basic Agent Events](/examples/agents/advanced/basic-agent-events)                              | Stream agent events including run lifecycle, tool calls, and content output.                                                                          |
| [Cache Model Response](/examples/agents/advanced/cache-model-response)                          | Example showing how to cache model responses to avoid redundant API calls.                                                                            |
| [Cancel Run](/examples/agents/advanced/cancel-run)                                              | Example demonstrating how to cancel a running agent execution.                                                                                        |
| [Compression Events](/examples/agents/advanced/compression-events)                              | Test script to verify compression events are working correctly.                                                                                       |
| [Concurrent Execution](/examples/agents/advanced/concurrent-execution)                          | Concurrent Agent Execution with asyncio.gather.                                                                                                       |
| [Custom Cancellation Manager](/examples/agents/advanced/custom-cancellation-manager)            | Shows how to extend BaseRunCancellationManager to implement your own.                                                                                 |
| [Custom Logging](/examples/agents/advanced/custom-logging)                                      | Example showing how to use a custom logger with Agno.                                                                                                 |
| [Debug](/examples/agents/advanced/debug)                                                        | You can set the debug mode on the agent for all runs to have more verbose output.                                                                     |
| [Multi-Model Metrics](/examples/agents/advanced/multi-model-metrics)                            | Track per-model token usage with memory model breakdown in metrics.details.                                                                           |
| [Culture Metrics](/examples/agents/advanced/culture-metrics)                                    | Track culture model token usage under the culture\_model detail key.                                                                                  |
| [Session Metrics](/examples/agents/advanced/session-metrics)                                    | Accumulate metrics across multiple runs within a session using SessionMetrics.                                                                        |
| [Session Summary Metrics](/examples/agents/advanced/session-summary-metrics)                    | Track session summary model token usage under the session\_summary\_model detail key.                                                                 |
| [Streaming Metrics](/examples/agents/advanced/streaming-metrics)                                | Capture metrics from streaming responses using yield\_run\_output=True.                                                                               |
| [Tool Call Metrics](/examples/agents/advanced/tool-call-metrics)                                | Track tool execution timing with ToolCallMetrics on each ToolExecution.                                                                               |
| [Background Execution Metrics](/examples/agents/advanced/background-execution-metrics)          | Track metrics for background (async) agent runs with full token and model details.                                                                    |
| [Reasoning Agent Events](/examples/agents/advanced/reasoning-agent-events)                      | Stream reasoning\_started, reasoning\_step, and reasoning\_completed events from a reasoning-enabled agent run.                                       |
| [Retries](/examples/agents/advanced/retries)                                                    | Example demonstrating how to set up retries with an Agent.                                                                                            |
| [Tool Call Compression](/examples/agents/advanced/tool-call-compression)                        | Compress tool call history to reduce context size.                                                                                                    |
| [Learning Machine](/examples/agents/memory-and-learning/learning-machine)                       | Create agents that learn and improve from interactions over time.                                                                                     |
| [Memory Manager](/examples/agents/memory-and-learning/memory-manager)                           | Use a MemoryManager to give agents persistent memory across sessions.                                                                                 |
| [Basic Reasoning](/examples/agents/reasoning/basic-reasoning)                                   | Add chain-of-thought reasoning capabilities to agents.                                                                                                |
| [Reasoning With Model](/examples/agents/reasoning/reasoning-with-model)                         | Use a separate reasoning model with configurable step limits.                                                                                         |
| [Basic Skills](/examples/agents/skills/basic-skills)                                            | Load skills from a local directory with LocalSkills and use them in a code review agent.                                                              |
| [Check Style](/examples/agents/skills/sample-skills/code-review/scripts/check-style)            | Check Python code for style issues.                                                                                                                   |
| [Commit Message](/examples/agents/skills/sample-skills/git-workflow/scripts/commit-message)     | Validate or generate conventional commit messages.                                                                                                    |
| [SSE Reconnection](/examples/agents/advanced/sse-reconnect)                                     | Reconnect to a background agent stream after disconnection using the /resume endpoint.                                                                |
| [Cancel Run Persistence](/examples/agents/advanced/agent-run-cancel-persistence)                | Cancel an agent run mid-stream and verify that partial content and messages are preserved in the database.                                            |
| [Combined Metrics](/examples/agents/advanced/combined-metrics)                                  | Inspect per-model metrics detail keys and session-level metrics for an agent using reasoning, compression, memory, culture, summary, and eval models. |
| [Interchange Model: All 5 Providers](/examples/agents/advanced/interchange-model/all-providers) | Cycles through OpenAI Chat, OpenAI Responses, Claude, Gemini, and AWS Claude.                                                                         |
| [Claude Gemini](/examples/agents/advanced/interchange-model/claude-gemini)                      | Switch a single agent between Claude and Gemini mid-conversation with shared Postgres history.                                                        |
| [OpenAI Chat Responses](/examples/agents/advanced/interchange-model/openai-chat-responses)      | Alternate one agent between OpenAIChat and OpenAIResponses mid-session over shared Postgres history.                                                  |
| [OpenAI Claude](/examples/agents/advanced/interchange-model/openai-claude)                      | Swap a single agent between GPT-4o and Claude mid-session with tool-call history stored in Postgres.                                                  |
| [OpenAI Gemini](/examples/agents/advanced/interchange-model/openai-gemini)                      | Move one conversation between GPT-4o and Gemini across turns with history persisted in Postgres.                                                      |
| [Metrics](/examples/agents/advanced/metrics)                                                    | Inspect per-message, run, and session metrics after a YFinance tool call on a Postgres-backed agent.                                                  |
