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.
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
Run a standalone AssistantAgent
Run a standalone AssistantAgent
Run a standalone AssistantAgent, browsing the web using the BrowserUseTool
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 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
Generate Dalle Images With Conversable Agents
Generate Dalle Images With Conversable Agents
Generate images with conversable agents.
capabilitymultimodal
Adding Browsing Capabilities to AG2
Adding Browsing Capabilities to AG2
Adding Browsing Capabilities to AG2
toolsbrowser-usewebscrapingfunction calling
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
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
Use AG2 in Microsoft Fabric
Use AG2 in Microsoft Fabric
Use AG2 in Microsoft Fabric
agentschatmicrosoftfabricguides
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.
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
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
Adding Google Search Capability to AG2
Adding Google Search Capability to AG2
Google Search
agentstoolssearchwebgooglereal-time search
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.
Trip planning with a FalkorDB GraphRAG agent using a Swarm
Trip planning with a FalkorDB GraphRAG agent using a Swarm
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
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
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
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
Use ChromaDBQueryEngine to query Markdown files
Use ChromaDBQueryEngine to query Markdown files
ChromaDB Query Engine for document queries
agentsdocumentsRAGdocagentchromachromadb
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
Interactive LLM Agent Dealing with Data Stream
Interactive LLM Agent Dealing with Data Stream
Automated continual learning from new data.
streamingasynclearning
Auto Generated Agent Chat: Collaborative Task Solving with Coding and Planning Agent
Auto Generated Agent Chat: Collaborative Task Solving with Coding and Planning Agent
StateFlow: Build Workflows through State-Oriented Actions
StateFlow: Build Workflows through State-Oriented Actions
StateFlow: Build workflows through state-oriented actions.
orchestrationgroup chatstateflowresearch
Use MongoDBQueryEngine to query Markdown files
Use MongoDBQueryEngine to query Markdown files
Mongo DB Query Engine
agentsdocumentsRAGdocagentmongodbquery
Usage tracking with AG2
Usage tracking with AG2
cost calculation
cost
Group Chat with Customized Speaker Selection Method
Group Chat with Customized Speaker Selection Method
Introduce group chat with customized speaker selection method.
orchestrationgroup chat
Agent Observability with OpenLIT
Agent Observability with OpenLIT
Use OpenLIT to easily monitor AI agents in production with OpenTelemetry.
integrationmonitoringobservabilitydebugging
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
Agent Tracking with AgentOps
Agent Tracking with AgentOps
Use AgentOps to simplify the development process and monitor your agents in production.
integrationmonitoringdebugging
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.
humantool/function
Runtime Logging with AG2
Runtime Logging with AG2
Provide capabilities of runtime logging for debugging and performance analysis.
loggingdebugging
Load the configuration including the response format
Load the configuration including the response format
Agent Quickstart Examples
agentstoolsquickstartexamplesautogen
Using OpenAI’s Web Search Tool with AG2
Using OpenAI’s Web Search Tool with AG2
Web Search Preview
toolssearchresponses api
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
Using Guidance with AG2
Using Guidance with AG2
Constrained responses via guidance.
guidanceintegrationJSON
Config loader utility functions
Config loader utility functions
Config loader utility functions
utilityconfig
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
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.
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
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.
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
RAG with DocAgent
RAG with DocAgent
Query documents and web pages with DocAgent
agentsdocumentsRAGdocagent
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
Google Drive Tools
Google Drive Tools
Google Drive Tools
agentstoolsgoogle drive
Agent with memory using Mem0
Agent with memory using Mem0
Use Mem0 to create agents with memory.
memory
Perplexity Search Tool
Perplexity Search Tool
Perplexity Search Integration with AG2
toolsperplexityweb-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
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
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
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
RealtimeAgent in a Swarm Orchestration
RealtimeAgent in a Swarm Orchestration
Swarm Ochestration
orchestrationgroup chatswarm
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
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
Preprocessing Chat History with `TransformMessages`
Preprocessing Chat History with `TransformMessages`
Preprocessing chat history with `TransformMessages`
long context handlingcapability
AutoBuild
AutoBuild
Automatically build multi-agent system with AgentBuilder
autobuild
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 gemini client
RealtimeAgent with gemini client
RealtimeAgent with gemini client using websockets
realtimewebsocketsgemini
Agent with memory using Mem0
Agent with memory using Mem0
Use Mem0 to create agents with memory.
mem0integrationmemory
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
Enhanced Swarm Orchestration with AG2
Enhanced Swarm Orchestration with AG2
Swarm Ochestration
orchestrationgroup chatswarm
RealtimeAgent in a Swarm Orchestration using WebRTC
RealtimeAgent in a Swarm Orchestration using WebRTC
Swarm Ochestration
orchestrationgroup chatswarm
Discord, Slack, and Telegram messaging tools
Discord, Slack, and Telegram messaging tools
Adding Browsing Capabilities to AG2
toolsbrowser-usewebscrapingfunction calling
Swarm Orchestration with AG2
Swarm Orchestration with AG2
Swarm Ochestration
orchestrationgroup chatswarm
Chat Context Dependency Injection
Chat Context Dependency Injection
Chat Context Dependency Injection
toolsdependency injectionfunction calling
Tavily Search Tool
Tavily Search Tool
Tavily Search Integration with AG2
toolstavilyweb-searchsearch
RealtimeAgent in a Swarm Orchestration
RealtimeAgent in a Swarm Orchestration
Swarm Ochestration
orchestrationgroup chatswarmrealtime
RealtimeAgent with local websocket connection
RealtimeAgent with local websocket connection
RealtimeAgent using websockets
realtimewebsockets
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
`run` function examples with event processing
`run` function examples with event processing
Using run and event processing
runevent-processingintegratefrontend
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
Solving Complex Tasks with Nested Chats
Solving Complex Tasks with Nested Chats
Solve complex tasks with a chat nested as inner monologue.
nested chatreflectionreasoningorchestration
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
RAG OpenAI Assistants in AG2
RAG OpenAI Assistants in AG2
OpenAI Assistant with retrieval augmentation.
RAGOpenAI Assistant
Cross-Framework LLM Tool for CaptainAgent
Cross-Framework LLM Tool for CaptainAgent
Cross-Framework LLM Tool for CaptainAgent
toolslangchaincrewai
Tools with Dependency Injection
Tools with Dependency Injection
Tools Dependency Injection
toolsdependency injectionfunction calling
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
(Legacy) Implement Swarm-style orchestration with GroupChat
(Legacy) Implement Swarm-style orchestration with GroupChat
(Legacy) Implement Swarm-style orchestration with GroupChat
orchestrationgroup chatstateflowswarm
Use AG2 to Tune ChatGPT
Use AG2 to Tune ChatGPT
Use AG2 to Tune ChatGPT
llmhyperparamatertuninggptparameter tuning
DuckDuckGo Search Tool
DuckDuckGo Search Tool
DuckDuckGo Search Tool
toolsDuckDuckGoweb-searchsearch
Supercharging Web Crawling with Crawl4AI
Supercharging Web Crawling with Crawl4AI
Supercharging Web Crawling with Crawl4AI
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: Group Chat with GPTAssistantAgent
Auto Generated Agent Chat: Group Chat with GPTAssistantAgent
Use GPTAssistantAgent in group chat.
OpenAI Assistantgroup chat
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
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
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
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
RealtimeAgent in a Swarm Orchestration
RealtimeAgent in a Swarm Orchestration
Swarm Ochestration
orchestrationgroup chatswarm
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 FalkorGraphRagCapability with agents for GraphRAG Question & Answering
Using FalkorGraphRagCapability with agents for GraphRAG Question & Answering
Using FalkorGraphRagCapability with agents for GraphRAG Question & Answering
RAGFalkorDB
Wikipedia Agent
Wikipedia Agent
Search Wikipedia with WikipediaAgent
toolswikipediasearch
Adding YouTube Search Capability to AG2
Adding YouTube Search Capability to AG2
YouTube Search Integration with AG2
toolsyoutubevideosearch
Use AG2 to Tune OpenAI Models
Use AG2 to Tune OpenAI Models
Use AG2 to Tune OpenAI Models
llmhyperparamatertuningopenaigptparameter tuning
Agent Chat with Async Human Inputs
Agent Chat with Async Human Inputs
Async human inputs.
asynchuman
Making OpenAI Assistants Teachable
Making OpenAI Assistants Teachable
Teach OpenAI assistants.
teachabilitycapabilitylearningRAGOpenAI Assistant
OpenAI Assistants in AG2
OpenAI Assistants in AG2
Two-agent chat with OpenAI assistants.
OpenAI Assistant
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
A Uniform interface to call different LLMs
A Uniform interface to call different LLMs
Uniform interface to call different LLM.
integrationcustom model
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
Use LLamaIndexQueryEngine to query Markdown files
Use LLamaIndexQueryEngine to query Markdown files
Use any LlamaIndex vector store as a Query Engine
agentsdocumentsRAGdocagentchromachromadbpinecone
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
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
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.