Set Up Your Environment
We recommend using a virtual environment for your project to keep your packages contained. See venv.
ag2
or autogen
name. The default installation includes minimal dependencies, you can add extra options based on your specific requirements.
From version 0.8: The OpenAI package,
openai
, is not installed by default.Install AG2 with your preferred model provider(s), for example:pip install ag2[openai]
pip install ag2[gemini]
pip install ag2[anthropic,cohere,mistral]
pip install "ag2[openai]"
Build Your First Agent Workflow
Let’s build a poetic AI assistant that responds in rhymes using AG2 and OpenAI’s GPT-4o-mini model. This example demonstrates how to:- Set up an LLM configuration
- Create a conversational AI agent
- Run an interactive multi-turn conversation
first_agent.py
, and paste the following code into it:
run()
and process()
You might wonder why we need to call both run()
and process()
to get results.
👉 Here’s what’s happening:
When you call run()
, it doesn’t immediately give you the final output.
Instead, it returns an iterator, a special object that holds a stream of events, messages, and metadata.
👉 Why? Because flexibility matters.
The workflow steps won’t actually start running until you iterate over this iterator.
This design gives you full control and makes it easy to build things like:
- Custom UIs
- Real-time dashboards
- Interactive apps where you control how and when each event is handled
process()
do?
process()
is a built-in helper method that takes care of iterating through those events for you.
It simulates a chat-like console experience — printing messages, handling user inputs, and making it feel like a live conversation.
👉 In short:
Use run()
and iterate over the events yourself when you want full control over the workflow’s events and how they are processed. 👉 Learn more about the run()
method here →
Use process()
along with run()
when you just want a quick, ready-to-go chat experience in the console.
Run Your Example
Now you’re ready to see your poetic AI agent in action!Before running this code, make sure to set your === “Windows”
OPENAI_API_KEY
as an environment variable. This example uses gpt-4o-mini
, but you can replace it with any other model supported by AG2.=== “macOS / Linux”- Type a reply — and the agent will respond in rhyme to your message
- Press Enter — to send an empty message to the agent, and see how it creatively responds
- Type exit — to end the conversation