This page contains a collection of notebooks that demonstrate how to use AG2. The notebooks are tagged with the topics they cover. For example, a notebook that demonstrates how to use function calling will be tagged with tool/function.
DuckDuckGo Search Tool
DuckDuckGo Search Tool
DuckDuckGo Search Tool
toolsDuckDuckGoweb-searchsearch
RealtimeAgent in a Swarm Orchestration using WebRTC
RealtimeAgent in a Swarm Orchestration using WebRTC
Swarm Ochestration
orchestrationgroup chatswarm
Handling errors with the RunResponseProtocol
Handling errors with the RunResponseProtocol
This notebook demonstrates handling errors with the RunResponseProtocol
errorsrunresponseprotocol
Creating Custom Events for Run Iteration
Creating Custom Events for Run Iteration
Creating and using custom events for step-by-step execution
Solving Multiple Tasks in a Sequence of Chats with Different Conversable Agent Pairs
Solving Multiple Tasks in a Sequence of Chats with Different Conversable Agent Pairs
Use AG2 to solve a set of tasks with a sequence of chats.
orchestrationsequential chats
Use AG2 to Tune OpenAI Models
Use AG2 to Tune OpenAI Models
Use AG2 to Tune OpenAI Models
llmhyperparamatertuningopenaigptparameter tuning
OpenAI Responses API V2 Client - Complete Guide
OpenAI Responses API V2 Client - Complete Guide
OpenAI Responses API V2 Client with rich UnifiedResponse objects, stateful conversations, and agent integration
openairesponses-apiv2-clientmultimodalagents
Auto Generated Agent Chat: Task Solving with Provided Tools as Functions
Auto Generated Agent Chat: Task Solving with Provided Tools as Functions
Register function calls using AssistantAgent and UserProxyAgent to execute python or shell code in customized ways. Demonstrating two ways of registering functions.
code generationtool/function
Iterating Over Agent Runs with AG2
Iterating Over Agent Runs with AG2
Step-by-step execution for debugging and human-in-the-loop workflows
Agentic RAG workflow on tabular data from a PDF file
Agentic RAG workflow on tabular data from a PDF file
Agentic RAG workflow on tabular data from a PDF file
RAGgroupchat
Auto Generated Agent Chat: Solving Tasks Requiring Web Info
Auto Generated Agent Chat: Solving Tasks Requiring Web Info
Solve tasks requiring web info.
webcode generation
Auto Generated Agent Chat: Using MathChat to Solve Math Problems
Auto Generated Agent Chat: Using MathChat to Solve Math Problems
Using MathChat to Solve Math Problems
math
Interactive LLM Agent Dealing with Data Stream
Interactive LLM Agent Dealing with Data Stream
Automated continual learning from new data.
streamingasynclearning
Conversational Workflows with MCP: A Marie Antoinette Take on The Eiffel Tower
Conversational Workflows with MCP: A Marie Antoinette Take on The Eiffel Tower
Conversational Workflows with MCP: A Marie Antoinette Take on The Eiffel Tower
MCP
YepCode Executor: Serverless Code Execution for AG2 Agents
YepCode Executor: Serverless Code Execution for AG2 Agents
Use AG2 to execute code with YepCode
llmopenaiyepcode
Managing Multiple MCP Servers with MCPClientSessionManager
Managing Multiple MCP Servers with MCPClientSessionManager
Learn how to use MCPClientSessionManager to dynamically manage multiple MCP server sessions (stdio and SSE) within tool functions for flexible, resource-efficient agent workflows.
Explore a group chat example using agents such as a coder and visualization agent.
group chatcode generation
AG2 + Gemini Thinking Config Variants
AG2 + Gemini Thinking Config Variants
Google Gemini Thinking
googlegeminithinking
ReasoningAgent - Advanced LLM Reasoning with Multiple Search Strategies
ReasoningAgent - Advanced LLM Reasoning with Multiple Search Strategies
Use ReasoningAgent for o1 style reasoning in Agentic workflows with LLMs using AG2
reasoning agenttree of thoughts
Tavily Search Tool
Tavily Search Tool
Tavily Search Integration with AG2
toolstavilyweb-searchsearch
Auto Generated Agent Chat: Teaching AI New Skills via Natural Language Interaction
Auto Generated Agent Chat: Teaching AI New Skills via Natural Language Interaction
Teach the agent news skills using natural language.
learningteaching
Automatically Build Multi-agent System from Agent Library
Automatically Build Multi-agent System from Agent Library
Automatically build multi-agent system from agent library
autobuild
Using RetrieveChat Powered by Couchbase Capella for Retrieve Augmented Code Generation and Question Answering
Using RetrieveChat Powered by Couchbase Capella for Retrieve Augmented Code Generation and Question Answering
Explore the use of AG2's RetrieveChat for tasks like code generation from docstrings, answering complex questions with human feedback, and exploiting features like Update Context, custom prompts, and few-shot learning.
RAG
Structured output
Structured output
LLM providers offer functionality for defining a structure of the messages generated by LLMs, AG2 enables this functionality by propagating a `response_format`, in the LLM configuration for your agents, to the underlying client.
structured output
Task Solving with Provided Tools as Functions (Asynchronous Function Calls)
Task Solving with Provided Tools as Functions (Asynchronous Function Calls)
Learn how to implement both synchronous and asynchronous function calls using AssistantAgent and UserProxyAgent in AutoGen, with examples of their application in individual and group chat settings for task execution with language models.
tool/functionasync
Using Guidance with AG2
Using Guidance with AG2
Constrained responses via guidance.
guidanceintegrationJSON
AgentOptimizer: An Agentic Way to Train Your LLM Agent
AgentOptimizer: An Agentic Way to Train Your LLM Agent
AgentOptimizer is able to prompt LLMs to iteratively optimize function/skills of AutoGen agents according to the historical conversation and performance.
This notebook demonstrates how to use the FirecrawlTool to scrape, crawl, and map websites.
tool callingtoolsfirecrawl
Group Chat with Retrieval Augmented Generation
Group Chat with Retrieval Augmented Generation
Implement and manage a multi-agent chat system using AG2, where AI assistants retrieve information, generate code, and interact collaboratively to solve complex tasks, especially in areas not covered by their training data.
group chatorchestrationRAG
Using RetrieveChat with Qdrant for Retrieve Augmented Code Generation and Question Answering
Using RetrieveChat with Qdrant for Retrieve Augmented Code Generation and Question Answering
This notebook demonstrates the usage of QdrantRetrieveUserProxyAgent for RAG.
QdrantintegrationRAG
Grok-powered SBOM Analysis with AG2
Grok-powered SBOM Analysis with AG2
Using AG2 with Grok to perform SBOM analysis and security vulnerability scanning on Git repositories
grokopenai
Demonstrating the `AgentEval` framework using the task of solving math problems as an example
Demonstrating the `AgentEval` framework using the task of solving math problems as an example
AgentEval: a multi-agent system for assessing utility of LLM-powered applications
eval
Config loader utility functions
Config loader utility functions
Config loader utility functions
utilityconfig
WebSurferAgent with Firecrawl Integration
WebSurferAgent with Firecrawl Integration
This notebook demonstrates how to use the WebSurferAgent with the Firecrawl tool for web scraping and crawling.
firecrawltoolscraping
Preprocessing Chat History with `TransformMessages`
Preprocessing Chat History with `TransformMessages`
Preprocessing chat history with `TransformMessages`
long context handlingcapability
Usage tracking with AG2
Usage tracking with AG2
cost calculation
cost
Language Agent Tree Search
Language Agent Tree Search
Language Agent Tree Search.
LATSsearchreasoningreflection
Auto Generated Agent Chat: Task Solving with Code Generation, Execution, Debugging & Human Feedback
Auto Generated Agent Chat: Task Solving with Code Generation, Execution, Debugging & Human Feedback
Code generation, execution, debugging and human feedback.
humancode generation
RealtimeAgent in a Swarm Orchestration
RealtimeAgent in a Swarm Orchestration
Swarm Ochestration
orchestrationgroup chatswarm
Auto Generated Agent Chat: Function Inception
Auto Generated Agent Chat: Function Inception
Function Inception: Enable AG2 agents to update/remove functions during conversations.
function inceptiontool/function
Exploring GPT-5: Comparing Verbosity Levels in AG2 AgentChat
Exploring GPT-5: Comparing Verbosity Levels in AG2 AgentChat
GPT5 verbosity example
gpt5verbosity
Perplexity Search Tool
Perplexity Search Tool
Perplexity Search Integration with AG2
toolsperplexityweb-searchsearch
Wikipedia Agent
Wikipedia Agent
Search Wikipedia with WikipediaAgent
toolswikipediasearch
Perform Research with Multi-Agent Group Chat
Perform Research with Multi-Agent Group Chat
Perform research using a group chat with a number of specialized agents.
group chatplanningcode generation
RealtimeAgent with WebRTC connection
RealtimeAgent with WebRTC connection
RealtimeAgent using websockets
realtimewebsockets
Small, Local Model (IBM Granite) Multi-Agent RAG
Small, Local Model (IBM Granite) Multi-Agent RAG
Optimizing Small, Local LLMs in Multi-Agent RAG Workflows using IBM Granite, Document Retrieval, Web Search, and Ollama
Small LLMsRAGWeb SearchIBM GraniteOllamaPlanningReflection
Load the configuration including the response format
Load the configuration including the response format
Agent Quickstart Examples
agentstoolsquickstartexamplesautogen
Agent Observability with OpenLIT
Agent Observability with OpenLIT
Use OpenLIT to easily monitor AI agents in production with OpenTelemetry.
integrationmonitoringobservabilitydebugging
Maris: Fine-Grained Policy-Guided Safeguards Demo
Maris: Fine-Grained Policy-Guided Safeguards Demo
Maris: Fine-Grained Policy-Guided Safeguards Demo
safeguardmarispolicy-guided
OpenAI Assistants in AG2
OpenAI Assistants in AG2
Two-agent chat with OpenAI assistants.
OpenAI Assistant
Using Neo4j's native GraphRAG SDK with AG2 agents for Question & Answering
Using Neo4j's native GraphRAG SDK with AG2 agents for Question & Answering
Neo4j Native GraphRAG utilizes a knowledge graph and can be added as a capability to agents.
RAG
Using Neo4j's graph database with AG2 agents for Question & Answering
Using Neo4j's graph database with AG2 agents for Question & Answering
Neo4j GraphRAG utilises a knowledge graph and can be added as a capability to agents.
RAG
OpenAI Responses API with function call
OpenAI Responses API with function call
This notebook demonstrates how to use tool calling with OpenAI's Responses API.
tool callingtoolsfunction callingresponses
Agent Chat with Multimodal Models: LLaVA
Agent Chat with Multimodal Models: LLaVA
Leveraging multimodal models like llava.
multimodalllava
Use LLamaIndexQueryEngine to query Markdown files
Use LLamaIndexQueryEngine to query Markdown files
Use any LlamaIndex vector store as a Query Engine
agentsdocumentsRAGdocagentchromachromadbpinecone
RealtimeAgent with local websocket connection
RealtimeAgent with local websocket connection
RealtimeAgent using websockets
realtimewebsockets
Swarm Orchestration with AG2
Swarm Orchestration with AG2
Swarm Ochestration
orchestrationgroup chatswarm
Additional Model Request Fields with Amazon Bedrock in AG2
Additional Model Request Fields with Amazon Bedrock in AG2
Additional Model Request Fields with Amazon Bedrock in AG2
modelsbedrockamazon
Auto Generated Agent Chat: Task Solving with Langchain Provided Tools as Functions
Auto Generated Agent Chat: Task Solving with Langchain Provided Tools as Functions
Use Langchain tools.
langchainintegrationtool/function
FSM - User can input speaker transition constraints
FSM - User can input speaker transition constraints
Explore the demonstration of the Finite State Machine implementation, which allows the user to input speaker transition constraints.
group chatfsmorchestration
AutoBuild
AutoBuild
Automatically build multi-agent system with AgentBuilder
autobuild
From Dad Jokes To Sad Jokes: Function Calling with GPTAssistantAgent
From Dad Jokes To Sad Jokes: Function Calling with GPTAssistantAgent
Use tools in a GPTAssistantAgent Multi-Agent System by utilizing functions such as calling an API and writing to a file.
OpenAI Assistanttool/function
Web Scraping using Oxylabs Web Scraper API
Web Scraping using Oxylabs Web Scraper API
Use AG2 to Web Scrape with Oxylabs
llmopenaiweb scrapingoxylabs
Wikipedia Search Tools
Wikipedia Search Tools
Perplexity Search Integration with AG2
toolsperplexityweb-searchsearch
Using RetrieveChat Powered by PGVector for Retrieve Augmented Code Generation and Question Answering
Using RetrieveChat Powered by PGVector for Retrieve Augmented Code Generation and Question Answering
Explore the use of AG2's RetrieveChat for tasks like code generation from docstrings, answering complex questions with human feedback, and exploiting features like Update Context, custom prompts, and few-shot learning.
PGVectorintegrationRAG
Validating Agent Output With FunctionTarget: A Comprehensive Guide to Custom Validation in Multi-Agent Conversations
Validating Agent Output With FunctionTarget: A Comprehensive Guide to Custom Validation in Multi-Agent Conversations
Group Chat FunctionTarget Examples
group chatfunctiontargetgroupchat
Translating Video audio using Whisper and GPT-3.5-turbo
Translating Video audio using Whisper and GPT-3.5-turbo
Use tools to extract and translate the transcript of a video file.
whispermultimodaltool/function
Run a standalone AssistantAgent
Run a standalone AssistantAgent
Run a standalone AssistantAgent, browsing the web using the BrowserUseTool
Assistants with Azure Cognitive Search and Azure Identity
Assistants with Azure Cognitive Search and Azure Identity
This notebook demonstrates the use of Assistant Agents in conjunction with Azure Cognitive Search and Azure Identity
integrationRAGAzure IdentityAzure AI Search
RealtimeAgent in a Swarm Orchestration
RealtimeAgent in a Swarm Orchestration
Swarm Ochestration
orchestrationgroup chatswarm
Agent Tracking with AgentOps
Agent Tracking with AgentOps
Use AgentOps to simplify the development process and monitor your agents in production.
integrationmonitoringdebugging
Discord, Slack, and Telegram messaging tools
Discord, Slack, and Telegram messaging tools
Adding Browsing Capabilities to AG2
toolsbrowser-usewebscrapingfunction calling
Using RetrieveChat Powered by MongoDB Atlas for Retrieve Augmented Code Generation and Question Answering
Using RetrieveChat Powered by MongoDB Atlas for Retrieve Augmented Code Generation and Question Answering
Explore the use of AG2's RetrieveChat for tasks like code generation from docstrings, answering complex questions with human feedback, and exploiting features like Update Context, custom prompts, and few-shot learning.
MongoDBintegrationRAG
Auto Generated Agent Chat: GPTAssistant with Code Interpreter
Auto Generated Agent Chat: GPTAssistant with Code Interpreter
This Jupyter Notebook showcases the integration of the Code Interpreter tool which executes Python code dynamically within applications.
OpenAI Assistantcode interpreter
Using ReliableTool to Generate Sub-Questions (Synchronous Version)
Using ReliableTool to Generate Sub-Questions (Synchronous Version)
ReliableTool - Google Search Example
tool callingtoolsreliablesearchgoogle
Agent Chat with Multimodal Models: DALLE and GPT-4V
Agent Chat with Multimodal Models: DALLE and GPT-4V
Multimodal agent chat with DALL-E and GPT-4v.
multimodalgpt-4v
(Legacy) Implement Swarm-style orchestration with GroupChat
(Legacy) Implement Swarm-style orchestration with GroupChat
(Legacy) Implement Swarm-style orchestration with GroupChat
orchestrationgroup chatstateflowswarm
Shell Tool with OpenAI Responses API
Shell Tool with OpenAI Responses API
Use the shell tool with OpenAI's Responses API for filesystem diagnostics, extending capabilities with UNIX utilities, and running multi-step build and test flows.
responsesshellfilesystemautomationcliopenai
Using RetrieveChat for Retrieve Augmented Code Generation and Question Answering
Using RetrieveChat for Retrieve Augmented Code Generation and Question Answering
Explore the use of AG2's RetrieveChat for tasks like code generation from docstrings, answering complex questions with human feedback, and exploiting features like Update Context, custom prompts, and few-shot learning.
RAG
SearxNG Search Tool Walkthrough
SearxNG Search Tool Walkthrough
This notebook demonstrates how to use the SearxNG Search Tool for real-time web searches using a privacy-friendly, open-source metasearch engine.
toolsearxngsearchweb
RealtimeAgent in a Swarm Orchestration
RealtimeAgent in a Swarm Orchestration
Swarm Ochestration
orchestrationgroup chatswarmrealtime
`run` function examples with event processing
`run` function examples with event processing
Using run and event processing
runevent-processingintegratefrontend
Solving Complex Tasks with Nested Chats
Solving Complex Tasks with Nested Chats
Solve complex tasks with a chat nested as inner monologue.
nested chatreflectionreasoningorchestration
Agent with memory using Mem0
Agent with memory using Mem0
Use Mem0 to create agents with memory.
memory
Engaging Image Input/Output with OpenAI's Responses API in AG2
Engaging Image Input/Output with OpenAI's Responses API in AG2
This notebook demonstrates how to do image input and image generate through a two agent chat with OpenAI Responses API and gpt-4o.
multimodalresponses
Trip planning with a FalkorDB GraphRAG agent using GroupChat
Trip planning with a FalkorDB GraphRAG agent using GroupChat
FalkorDB GraphRAG utilises a knowledge graph and can be added as a capability to agents. Together with a swarm orchestration of agents is highly effective at providing a RAG capability.
Explore the demonstration of the SocietyOfMindAgent in the AG2 library, which runs a group chat as an internal monologue, but appears to the external world as a single agent, offering a structured way to manage complex interactions among multiple agents and handle issues such as extracting responses from complex dialogues and dealing with context window constraints.
orchestrationnested chatgroup chat
Websockets: Streaming input and output using websockets
Websockets: Streaming input and output using websockets
Websockets facilitate real-time, bidirectional communication between web clients and servers, enhancing the responsiveness and interactivity of AG2-powered applications.
websocketsstreaming
Auto Generated Agent Chat: Group Chat with GPTAssistantAgent
Auto Generated Agent Chat: Group Chat with GPTAssistantAgent
Use GPTAssistantAgent in group chat.
OpenAI Assistantgroup chat
A Uniform interface to call different LLMs
A Uniform interface to call different LLMs
Uniform interface to call different LLM.
integrationcustom model
Solving Multiple Tasks in a Sequence of Async Chats
Solving Multiple Tasks in a Sequence of Async Chats
Use conversational agents to solve a set of tasks with a sequence of async chats.
orchestrationasyncsequential chats
Enhanced Swarm Orchestration with AG2
Enhanced Swarm Orchestration with AG2
Swarm Ochestration
orchestrationgroup chatswarm
Auto Generated Agent Chat: Collaborative Task Solving with Coding and Planning Agent
Auto Generated Agent Chat: Collaborative Task Solving with Coding and Planning Agent
Use planning agent in a function call.
planningorchestrationnested chattool/function
Veronica Core: Circuit Breaker for AG2 Agents
Veronica Core: Circuit Breaker for AG2 Agents
Use veronica-core's CircuitBreakerCapability to add per-agent circuit breakers and system-wide SAFE_MODE to AG2 multi-agent workflows.
toolsveronicacircuit-breakerlocal-llmreliability
Conversational Workflows with MCP: A French joke on a random Wikipedia article
Conversational Workflows with MCP: A French joke on a random Wikipedia article
Conversational Workflows with MCP: A French joke on a random Wikipedia article
MCP
Chatting with a teachable agent
Chatting with a teachable agent
Learn how to persist memories across chat sessions using the Teachability capability
teachabilitylearningRAGcapability
Engaging with Multimodal Models: GPT-4V in AG2
Engaging with Multimodal Models: GPT-4V in AG2
Leveraging multimodal models through two different methodologies: MultimodalConversableAgent and VisionCapability.
multimodalgpt-4v
Tools with Dependency Injection
Tools with Dependency Injection
Tools Dependency Injection
toolsdependency injectionfunction calling
Conversational Chess using non-OpenAI clients
Conversational Chess using non-OpenAI clients
LLM-backed agents playing chess with each other using nested chats.
nested chattool/functionorchestration
Mitigating Prompt hacking with JSON Mode in Autogen
Mitigating Prompt hacking with JSON Mode in Autogen
Use JSON mode and Agent Descriptions to mitigate prompt manipulation and control speaker transition.
Anthropic's structured outputs feature provides two powerful modes: JSON Outputs (Get validated JSON responses matching a specific schema) and Strict Tool Use (Guaranteed schema validation for tool inputs).
structured outputanthropic
Currency Calculator: Task Solving with Provided Tools as Functions
Currency Calculator: Task Solving with Provided Tools as Functions
Learn how to register function calls using AssistantAgent and UserProxyAgent.
tool/function
Generate Dalle Images With Conversable Agents
Generate Dalle Images With Conversable Agents
Generate images with conversable agents.
capabilitymultimodal
Web Scraping using Apify Tools
Web Scraping using Apify Tools
Scrapping web pages and summarizing the content using agents with tools.
webapifyintegrationtool/function
Use AG2 in Microsoft Fabric
Use AG2 in Microsoft Fabric
Use AG2 in Microsoft Fabric
agentschatmicrosoftfabricguides
Exponential Backoff and Retry Configuration with Amazon Bedrock in AG2
Exponential Backoff and Retry Configuration with Amazon Bedrock in AG2
Configure exponential backoff and retry behavior for Amazon Bedrock API calls in AG2.
Using a local Telemetry server to monitor a GraphRAG agent
Using a local Telemetry server to monitor a GraphRAG agent
FalkorDB GraphRAG utilises a knowledge graph and can be added as a capability to agents. Together with a swarm orchestration of agents is highly effective at providing a RAG capability.
RAGtool/functionswarm
Cross-Framework LLM Tool Integration with AG2
Cross-Framework LLM Tool Integration with AG2
Cross-Framework LLM Tool Integration with AG2
toolslangchaincrewaipydanticai
Adding YouTube Search Capability to AG2
Adding YouTube Search Capability to AG2
YouTube Search Integration with AG2
toolsyoutubevideosearch
Task Solving with Code Generation, Execution and Debugging
Task Solving with Code Generation, Execution and Debugging
Use conversable language learning model agents to solve tasks and provide automatic feedback through a comprehensive example of writing, executing, and debugging Python code to compare stock price changes.
code generation
Group Chat
Group Chat
Explore the utilization of large language models in automated group chat scenarios, where agents perform tasks collectively, demonstrating how they can be configured, interact with each other, and retrieve specific information from external resources.
orchestrationgroup chatcode generation
Structured output from json configuration
Structured output from json configuration
OpenAI offers a functionality for defining a structure of the messages generated by LLMs, AutoGen enables this functionality by propagating response_format passed to your agents to the underlying client.