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.
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
Tools with Dependency Injection
Tools with Dependency Injection
Tools Dependency Injection
toolsdependency injectionfunction calling
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
Using Guidance with AG2
Using Guidance with AG2
Constrained responses via guidance.
guidanceintegrationJSON
Use ChromaDBQueryEngine to query Markdown files
Use ChromaDBQueryEngine to query Markdown files
ChromaDB Query Engine for document queries
agentsdocumentsRAGdocagentchromachromadb
RAG OpenAI Assistants in AG2
RAG OpenAI Assistants in AG2
OpenAI Assistant with retrieval augmentation.
RAGOpenAI Assistant
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
Firecrawl Tool Example
Firecrawl Tool Example
This notebook demonstrates how to use the FirecrawlTool to scrape, crawl, and map websites.
tool callingtoolsfirecrawl
Config loader utility functions
Config loader utility functions
Config loader utility functions
utilityconfig
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
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
Runtime Logging with AG2
Runtime Logging with AG2
Provide capabilities of runtime logging for debugging and performance analysis.
loggingdebugging
StateFlow: Build Workflows through State-Oriented Actions
StateFlow: Build Workflows through State-Oriented Actions
StateFlow: Build workflows through state-oriented actions.
orchestrationgroup chatstateflowresearch
Use LLamaIndexQueryEngine to query Markdown files
Use LLamaIndexQueryEngine to query Markdown files
Use any LlamaIndex vector store as a Query Engine
agentsdocumentsRAGdocagentchromachromadbpinecone
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.
Learn how to persist memories across chat sessions using the Teachability capability
teachabilitylearningRAGcapability
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
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
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
DuckDuckGo Search Tool
DuckDuckGo Search Tool
DuckDuckGo Search Tool
toolsDuckDuckGoweb-searchsearch
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
Agent Chat with Multimodal Models: LLaVA
Agent Chat with Multimodal Models: LLaVA
Leveraging multimodal models like llava.
multimodalllava
Chat Context Dependency Injection
Chat Context Dependency Injection
Chat Context Dependency Injection
toolsdependency injectionfunction calling
`run` function examples with event processing
`run` function examples with event processing
Using run and event processing
runevent-processingintegratefrontend
RealtimeAgent in a Swarm Orchestration using WebRTC
RealtimeAgent in a Swarm Orchestration using WebRTC
Swarm Ochestration
orchestrationgroup chatswarm
Swarm Orchestration with AG2
Swarm Orchestration with AG2
Swarm Ochestration
orchestrationgroup chatswarm
Auto Generated Agent Chat: Group Chat with GPTAssistantAgent
Auto Generated Agent Chat: Group Chat with GPTAssistantAgent
Use GPTAssistantAgent in group chat.
OpenAI Assistantgroup chat
Tavily Search Tool
Tavily Search Tool
Tavily Search Integration with AG2
toolstavilyweb-searchsearch
Load the configuration including the response format
Load the configuration including the response format
Agent Quickstart Examples
agentstoolsquickstartexamplesautogen
RealtimeAgent in a Swarm Orchestration
RealtimeAgent in a Swarm Orchestration
Swarm Ochestration
orchestrationgroup chatswarm
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
Enhanced Swarm Orchestration with AG2
Enhanced Swarm Orchestration with AG2
Swarm Ochestration
orchestrationgroup chatswarm
SQL Agent for Spider text-to-SQL benchmark
SQL Agent for Spider text-to-SQL benchmark
Natural language text to SQL query using the Spider text-to-SQL benchmark.
SQLtool/function
Use MongoDBQueryEngine to query Markdown files
Use MongoDBQueryEngine to query Markdown files
Mongo DB Query Engine
agentsdocumentsRAGdocagentmongodbquery
Agent Tools and Run Method Examples
Agent Tools and Run Method Examples
Agent Quickstart Examples
agentstoolsquickstartexamplesautogen
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
Use AG2 in Microsoft Fabric
Use AG2 in Microsoft Fabric
Use AG2 in Microsoft Fabric
agentschatmicrosoftfabricguides
Usage tracking with AG2
Usage tracking with AG2
cost calculation
cost
OptiGuide with Nested Chats in AG2
OptiGuide with Nested Chats in AG2
This is a nested chat re-implementation of OptiGuide which is an LLM-based supply chain optimization framework.
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
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
Web Scraping using Oxylabs Web Scraper API
Web Scraping using Oxylabs Web Scraper API
Use AG2 to Web Scrape with Oxylabs
llmopenaiweb scrapingoxylabs
RealtimeAgent with gemini client
RealtimeAgent with gemini client
RealtimeAgent with gemini client using websockets
realtimewebsocketsgemini
Using ReliableTool to Generate Sub-Questions (Synchronous Version)
Using ReliableTool to Generate Sub-Questions (Synchronous Version)
ReliableTool - Group Chat Example
tool callingtoolsreliable
RealtimeAgent in a Swarm Orchestration
RealtimeAgent in a Swarm Orchestration
Swarm Ochestration
orchestrationgroup chatswarmrealtime
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
Making OpenAI Assistants Teachable
Making OpenAI Assistants Teachable
Teach OpenAI assistants.
teachabilitycapabilitylearningRAGOpenAI Assistant
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
OpenAI Assistants in AG2
OpenAI Assistants in AG2
Two-agent chat with OpenAI assistants.
OpenAI Assistant
Agent Observability with OpenLIT
Agent Observability with OpenLIT
Use OpenLIT to easily monitor AI agents in production with OpenTelemetry.
integrationmonitoringobservabilitydebugging
Adding Google Search Capability to AG2
Adding Google Search Capability to AG2
Google Search
agentstoolssearchwebgooglereal-time search
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
CaptainAgent
CaptainAgent
Introducing CaptainAgent, a powerful agent that can manage and orchestrate other agents and tools to solve complex tasks.
autobuildCaptainAgent
SocietyOfMindAgent
SocietyOfMindAgent
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
Writing a software application using function calls
Writing a software application using function calls
Equip your agent with functions that can efficiently implement features into your software application.
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
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
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
Solving Complex Tasks with A Sequence of Nested Chats
Solving Complex Tasks with A Sequence of Nested Chats
Solve complex tasks with one or more sequence chats nested as inner monologue.
nested chatsequential chatsorchestration
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
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
Adding YouTube Search Capability to AG2
Adding YouTube Search Capability to AG2
YouTube Search Integration with AG2
toolsyoutubevideosearch
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
AutoBuild
AutoBuild
Automatically build multi-agent system with AgentBuilder
autobuild
Generate Dalle Images With Conversable Agents
Generate Dalle Images With Conversable Agents
Generate images with conversable agents.
capabilitymultimodal
Google Drive Tools
Google Drive Tools
Google Drive Tools
agentstoolsgoogle drive
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
Use AG2 in Databricks with DBRX
Use AG2 in Databricks with DBRX
Use Databricks DBRX and Foundation Model APIs to build AG2 applications backed by open-source LLMs.
Chat with OpenAI Assistant using function call in AG2: OSS Insights for Advanced GitHub Data Analysis
Chat with OpenAI Assistant using function call in AG2: OSS Insights for Advanced GitHub Data Analysis
This Jupyter Notebook demonstrates how to leverage OSS Insight (Open Source Software Insight) for advanced GitHub data analysis by defining `Function calls` in AG2 for the OpenAI Assistant.
OpenAI Assistanttool/function
Solving Complex Tasks with Nested Chats
Solving Complex Tasks with Nested Chats
Solve complex tasks with a chat nested as inner monologue.
nested chatreflectionreasoningorchestration
Handling errors with the RunResponseProtocol
Handling errors with the RunResponseProtocol
This notebook demonstrates handling errors with the RunResponseProtocol
errorsrunresponseprotocol
Group Chat with Coder and Visualization Critic
Group Chat with Coder and Visualization Critic
Explore a group chat example using agents such as a coder and visualization agent.
group chatcode generation
Using ReliableTool to Generate Sub-Questions (Synchronous Version)
Using ReliableTool to Generate Sub-Questions (Synchronous Version)
ReliableTool - Google Search Example
tool callingtoolsreliablesearchgoogle
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
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.
RAGtool/functionswarm
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
Auto Generated Agent Chat: Collaborative Task Solving with Multiple Agents and Human Users
Auto Generated Agent Chat: Collaborative Task Solving with Multiple Agents and Human Users
Involve multiple human users via function calls and nested chat.
This notebook demonstrates a fully autonomous, multi-currency conversion system.
tool callingtoolscurrencygoogle search
Agent with memory using Mem0
Agent with memory using Mem0
Use Mem0 to create agents with memory.
memory
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.
structured output
Use AG2 to Tune ChatGPT
Use AG2 to Tune ChatGPT
Use AG2 to Tune ChatGPT
llmhyperparamatertuninggptparameter tuning
Interactive LLM Agent Dealing with Data Stream
Interactive LLM Agent Dealing with Data Stream
Automated continual learning from new data.
streamingasynclearning
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.
LLM-backed agents playing chess with each other using nested chats.
nested chattool/functionorchestration
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
Group Chat with Customized Speaker Selection Method
Group Chat with Customized Speaker Selection Method
Introduce group chat with customized speaker selection method.
orchestrationgroup chat
Conversational Workflows with MCP: A Shakespearean Take on arXiv Abstracts
Conversational Workflows with MCP: A Shakespearean Take on arXiv Abstracts
Conversational Workflows with MCP: A Shakespearean Take on arXiv Abstracts
MCP
RealtimeAgent with local websocket connection
RealtimeAgent with local websocket connection
RealtimeAgent using websockets
realtimewebsockets
Using FalkorGraphRagCapability with agents for GraphRAG Question & Answering
Using FalkorGraphRagCapability with agents for GraphRAG Question & Answering
Using FalkorGraphRagCapability with agents for GraphRAG Question & Answering
RAGFalkorDB
Agent Chat with Async Human Inputs
Agent Chat with Async Human Inputs
Async human inputs.
asynchuman
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.
optimizationtool/function
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
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
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
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
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
RealtimeAgent with WebRTC connection
RealtimeAgent with WebRTC connection
RealtimeAgent using websockets
realtimewebsockets
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
Using OpenAI’s Web Search Tool with AG2
Using OpenAI’s Web Search Tool with AG2
Web Search Preview
toolssearchresponses api
A Uniform interface to call different LLMs
A Uniform interface to call different LLMs
Uniform interface to call different LLM.
integrationcustom model
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
Use AG2 to Tune OpenAI Models
Use AG2 to Tune OpenAI Models
Use AG2 to Tune OpenAI Models
llmhyperparamatertuningopenaigptparameter tuning
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
Language Agent Tree Search
Language Agent Tree Search
Language Agent Tree Search.
LATSsearchreasoningreflection
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
Solving Multiple Tasks in a Sequence of Chats
Solving Multiple Tasks in a Sequence of Chats
Use conversational agents to solve a set of tasks with a sequence of chats.