Skip to content

Commit d77c90b

Browse files
Merge branch 'main' into redis/support-linear-memory
2 parents ed3cdaa + 82df9dd commit d77c90b

19 files changed

Lines changed: 1426 additions & 802 deletions

File tree

.github/ISSUE_TEMPLATE/1-bug_report.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ body:
9090
multiple: false
9191
options:
9292
- "Python dev (main branch)"
93+
- "Python 0.7.4"
94+
- "Python 0.7.3"
9395
- "Python 0.7.2"
9496
- "Python 0.7.1"
9597
- "Python 0.6.4"

.github/workflows/docs.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
poe-dir: ".",
4040
},
4141
{
42-
ref: "python-v0.7.2",
42+
ref: "python-v0.7.4",
4343
dest-dir: stable,
4444
uv-version: "0.7.13",
4545
sphinx-release-override: "stable",
@@ -199,6 +199,20 @@ jobs:
199199
sphinx-release-override: "",
200200
poe-dir: ".",
201201
},
202+
{
203+
ref: "python-v0.7.3",
204+
dest-dir: "0.7.3",
205+
uv-version: "0.7.13",
206+
sphinx-release-override: "",
207+
poe-dir: ".",
208+
},
209+
{
210+
ref: "python-v0.7.4",
211+
dest-dir: "0.7.4",
212+
uv-version: "0.7.13",
213+
sphinx-release-override: "",
214+
poe-dir: ".",
215+
},
202216
]
203217
steps:
204218
- name: Checkout
@@ -216,8 +230,6 @@ jobs:
216230
- run: |
217231
uv venv --python=3.11
218232
source .venv/bin/activate
219-
# Only pin version to ensure compatibility
220-
uv pip install -U 'setuptools-scm==8.3.1'
221233
uv sync --locked --all-extras
222234
poe --directory ${{ matrix.version.poe-dir }} docs-build
223235
mkdir -p docs-staging/${{ matrix.version.dest-dir }}/

README.md

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ AutoGen requires **Python 3.10 or later**.
2424
pip install -U "autogen-agentchat" "autogen-ext[openai]"
2525
```
2626

27-
The current stable version is v0.4. If you are upgrading from AutoGen v0.2, please refer to the [Migration Guide](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/migration-guide.html) for detailed instructions on how to update your code and configurations.
27+
The current stable version can be found in the [releases](https://github.com/microsoft/autogen/releases). If you are upgrading from AutoGen v0.2, please refer to the [Migration Guide](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/migration-guide.html) for detailed instructions on how to update your code and configurations.
2828

2929
```bash
3030
# Install AutoGen Studio for no-code GUI
@@ -43,7 +43,7 @@ from autogen_agentchat.agents import AssistantAgent
4343
from autogen_ext.models.openai import OpenAIChatCompletionClient
4444

4545
async def main() -> None:
46-
model_client = OpenAIChatCompletionClient(model="gpt-4o")
46+
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
4747
agent = AssistantAgent("assistant", model_client=model_client)
4848
print(await agent.run(task="Say 'Hello World!'"))
4949
await model_client.close()
@@ -90,6 +90,58 @@ asyncio.run(main())
9090
> **Warning**: Only connect to trusted MCP servers as they may execute commands
9191
> in your local environment or expose sensitive information.
9292
93+
### Multi-Agent Orchestration
94+
95+
You can use `AgentTool` to create a basic multi-agent orchestration setup.
96+
97+
```python
98+
import asyncio
99+
100+
from autogen_agentchat.agents import AssistantAgent
101+
from autogen_agentchat.tools import AgentTool
102+
from autogen_agentchat.ui import Console
103+
from autogen_ext.models.openai import OpenAIChatCompletionClient
104+
105+
106+
async def main() -> None:
107+
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
108+
109+
math_agent = AssistantAgent(
110+
"math_expert",
111+
model_client=model_client,
112+
system_message="You are a math expert.",
113+
description="A math expert assistant.",
114+
model_client_stream=True,
115+
)
116+
math_agent_tool = AgentTool(math_agent, return_value_as_last_message=True)
117+
118+
chemistry_agent = AssistantAgent(
119+
"chemistry_expert",
120+
model_client=model_client,
121+
system_message="You are a chemistry expert.",
122+
description="A chemistry expert assistant.",
123+
model_client_stream=True,
124+
)
125+
chemistry_agent_tool = AgentTool(chemistry_agent, return_value_as_last_message=True)
126+
127+
agent = AssistantAgent(
128+
"assistant",
129+
system_message="You are a general assistant. Use expert tools when needed.",
130+
model_client=model_client,
131+
model_client_stream=True,
132+
tools=[math_agent_tool, chemistry_agent_tool],
133+
max_tool_iterations=10,
134+
)
135+
await Console(agent.run_stream(task="What is the integral of x^2?"))
136+
await Console(agent.run_stream(task="What is the molecular weight of water?"))
137+
138+
139+
asyncio.run(main())
140+
```
141+
142+
For more advanced multi-agent orchestrations and workflows, read
143+
[AgentChat documentation](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/index.html).
144+
93145
### AutoGen Studio
94146

95147
Use AutoGen Studio to prototype and run multi-agent workflows without writing code.

docs/dotnet/core/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ You can run the backend on its own:
8181
dotnet run --project Microsoft.AutoGen.AgentHost
8282
```
8383

84-
or you can run iclude it inside your own application:
84+
or you can include it inside your own application:
8585

8686
```csharp
8787
using Microsoft.AutoGen.RuntimeGateway;

docs/switcher.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,21 @@
55
"url": "/autogen/dev/"
66
},
77
{
8-
"name": "0.7.2 (stable)",
8+
"name": "0.7.4 (stable)",
99
"version": "stable",
1010
"url": "/autogen/stable/",
1111
"preferred": true
1212
},
13+
{
14+
"name": "0.7.3",
15+
"version": "0.7.3",
16+
"url": "/autogen/0.7.3/"
17+
},
18+
{
19+
"name": "0.7.2",
20+
"version": "0.7.2",
21+
"url": "/autogen/0.7.2/"
22+
},
1323
{
1424
"name": "0.7.1",
1525
"version": "0.7.1",

python/packages/autogen-agentchat/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "autogen-agentchat"
7-
version = "0.7.2"
7+
version = "0.7.4"
88
license = {file = "LICENSE-CODE"}
99
description = "AutoGen agents and teams library"
1010
readme = "README.md"
@@ -15,7 +15,7 @@ classifiers = [
1515
"Operating System :: OS Independent",
1616
]
1717
dependencies = [
18-
"autogen-core==0.7.2",
18+
"autogen-core==0.7.4",
1919
]
2020

2121
[tool.ruff]

python/packages/autogen-agentchat/src/autogen_agentchat/tools/_task_runner_tool.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def __init__(
3636
return_type=TaskResult,
3737
name=name,
3838
description=description,
39+
strict=True,
3940
)
4041

4142
async def run(self, args: TaskRunnerToolArgs, cancellation_token: CancellationToken) -> TaskResult:

python/packages/autogen-core/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "autogen-core"
7-
version = "0.7.2"
7+
version = "0.7.4"
88
license = {file = "LICENSE-CODE"}
99
description = "Foundational interfaces and agent runtime implementation for AutoGen"
1010
readme = "README.md"

python/packages/autogen-core/src/autogen_core/models/_model_client.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class ModelFamily:
1818
1919
This namespace class holds constants for the model families that AutoGen understands. Other families definitely exist and can be represented by a string, however, AutoGen will treat them as unknown."""
2020

21+
GPT_5 = "gpt-5"
2122
GPT_41 = "gpt-41"
2223
GPT_45 = "gpt-45"
2324
GPT_4O = "gpt-4o"
@@ -53,6 +54,7 @@ class ModelFamily:
5354

5455
ANY: TypeAlias = Literal[
5556
# openai_models
57+
"gpt-5",
5658
"gpt-41",
5759
"gpt-45",
5860
"gpt-4o",
@@ -121,6 +123,7 @@ def is_gemini(family: str) -> bool:
121123
@staticmethod
122124
def is_openai(family: str) -> bool:
123125
return family in (
126+
ModelFamily.GPT_5,
124127
ModelFamily.GPT_45,
125128
ModelFamily.GPT_41,
126129
ModelFamily.GPT_4O,

python/packages/autogen-ext/pyproject.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "autogen-ext"
7-
version = "0.7.2"
7+
version = "0.7.4"
88
license = {file = "LICENSE-CODE"}
99
description = "AutoGen extensions library"
1010
readme = "README.md"
@@ -15,7 +15,7 @@ classifiers = [
1515
"Operating System :: OS Independent",
1616
]
1717
dependencies = [
18-
"autogen-core==0.7.2",
18+
"autogen-core==0.7.4",
1919
]
2020

2121
[project.optional-dependencies]
@@ -32,7 +32,7 @@ docker = ["docker~=7.0", "asyncio_atexit>=1.0.1"]
3232
ollama = ["ollama>=0.4.7", "tiktoken>=0.8.0"]
3333
openai = ["openai>=1.93", "tiktoken>=0.8.0", "aiofiles"]
3434
file-surfer = [
35-
"autogen-agentchat==0.7.2",
35+
"autogen-agentchat==0.7.4",
3636
"magika>=0.6.1rc2",
3737
"markitdown[all]~=0.1.0a3",
3838
]
@@ -50,21 +50,21 @@ mem0-local = [
5050
"chromadb>=1.0.0"
5151
]
5252
web-surfer = [
53-
"autogen-agentchat==0.7.2",
53+
"autogen-agentchat==0.7.4",
5454
"playwright>=1.48.0",
5555
"pillow>=11.0.0",
5656
"magika>=0.6.1rc2",
5757
"markitdown[all]~=0.1.0a3",
5858
]
5959
magentic-one = [
60-
"autogen-agentchat==0.7.2",
60+
"autogen-agentchat==0.7.4",
6161
"magika>=0.6.1rc2",
6262
"markitdown[all]~=0.1.0a3",
6363
"playwright>=1.48.0",
6464
"pillow>=11.0.0",
6565
]
6666
video-surfer = [
67-
"autogen-agentchat==0.7.2",
67+
"autogen-agentchat==0.7.4",
6868
"opencv-python>=4.5",
6969
"ffmpeg-python",
7070
"openai-whisper",

0 commit comments

Comments
 (0)