3211 Commits

Author SHA1 Message Date
afourney
cf6fa77273
Add text-only model support to M1 (#5344)
Modify M1 agents to support text-only settings.
This allows M1 to be used with models like o3-mini and Llama3.1+
2025-02-04 08:25:48 -08:00
afourney
517e3f000e
Assistant agent drop images when not provided with a vision-capable model. (#5351)
Allow AssistantAgent to drop images when not equipped with a multi-modal model.

Adds a corresponding utility function, which can be used in autogen-ext and teams, to accomplish the same.
2025-02-04 14:55:04 +00:00
Juan
5df5bde127
docs(core_distributed-group-chat): fix the typos in the docs in the README.md (#5347)
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

Wrong file names in the README.md

## Related issue number



## Checks

- [x] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [ ] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.

Co-authored-by: Mohammad Mazraeh <Mazraeh.Mohammad@Gmail.com>
2025-02-04 07:13:03 +00:00
Victor Dibia
b89ca2a5ae
Fix warnings in AGS (#5320)
This PR does the following: 

- Fix warning messages in AGS on launch.
- Improve Cli message to include app URL on startup from command line
- Minor improvements default gallery generator. (add more default tools)
- Improve new session behaviour.



## Related issue number

Closes #5097

## Checks
2025-02-04 06:32:34 +00:00
Victor Dibia
fbda70320d
Ensure ModelInfo field is serialized for OpenAIChatCompletionClient (#5315)
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

Fix bug where the `model_info` field is not serialized for the
`OpenAIChatCompletionClient` class. This was because the `_raw_config`
field was based on a version of the args that had been sanitized
(model_info removed). We need the full model info field for non-openai
models

```python
from autogen_ext.agents.web_surfer import MultimodalWebSurfer
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_core.models import ModelInfo
mistral_vllm_model = OpenAIChatCompletionClient(
    model="TheBloke/Mistral-7B-Instruct-v0.2-GGUF",
    base_url="http://localhost:1234/v1",
    api_key="empty",
    model_info=ModelInfo(vision=False, function_calling=True, json_output=False, family="unkown"),
)
(mistral_vllm_model.dump_component().model_dump_json())
```

Before
```
{
  "provider": "autogen_ext.models.openai.OpenAIChatCompletionClient",
  "component_type": "model",
  "version": 1,
  "component_version": 1,
  "description": "Chat completion client for OpenAI hosted models.",
  "label": "OpenAIChatCompletionClient",
  "config": {
    "model": "TheBloke/Mistral-7B-Instruct-v0.2-GGUF",
    "api_key": "empty",
    "base_url": "http://localhost:1234/v1"
  }
}

```

After
```
{
  "provider": "autogen_ext.models.openai.OpenAIChatCompletionClient",
  "component_type": "model",
  "version": 1,
  "component_version": 1,
  "description": "Chat completion client for OpenAI hosted models.",
  "label": "OpenAIChatCompletionClient",
  "config": {
    "model": "TheBloke/Mistral-7B-Instruct-v0.2-GGUF",
    "api_key": "empty",
    "model_info": {
      "vision": false,
      "function_calling": true,
      "json_output": false,
      "family": "unkown"
    },
    "base_url": "http://localhost:1234/v1"
  }
}


```
<!-- Please give a short summary of the change and the problem this
solves. -->

## Related issue number

<!-- For example: "Closes #1234" -->

## Checks

- [ ] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [ ] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.
2025-02-04 05:51:38 +00:00
afourney
e8f49ef386
Fix reading string args from m1 cli (#5343)
After #5431 some command-line arguments became string rather than lists.
This PR fixes the issue by checking the type.
2025-02-03 13:27:37 -08:00
afourney
cd88757cac
Allow m1 cli to read a configuration from a yaml file. (#5341)
Allow m1 cli to read a configuration from a yaml file.
2025-02-03 20:11:42 +00:00
razvanvalca
3d00457993
Adding o3 family: o3-mini (#5325)
## Why are these changes needed?
This pull request introduces the 'o3' model family and adds support for
the 'o3-mini' model.

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-02-03 18:57:21 +00:00
Mohammad Mazraeh
06c706633d
fix: warn on empty chunks, don't error out (#5332)
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

<!-- Please give a short summary of the change and the problem this
solves. -->

We are seeing this issue more often now, probably related to the load on
the API servers. Hence this PR:
1. Demotes the the `max_consecutive_empty_chunk_tolerance` parameter
from function to inline threshold
2. Change exception to a one time warning

## Related issue number

<!-- For example: "Closes #1234" -->

## Checks

- [x] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [x] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.

---------

Signed-off-by: Mohammad Mazraeh <mazraeh.mohammad@gmail.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-02-03 18:45:29 +00:00
Eric Zhu
569bc19769
feat: add gemini model families, enhance group chat selection for Gemini model and add tests (#5334)
Resolves #5322
2025-02-03 18:32:35 +00:00
Griffin Bassman
9af6883fbe
fix: dotnet test CI and standardize test categories (#5286)
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2025-02-03 11:49:08 -05:00
afourney
877796ded1
WebSurfer: print viewport text (#5329)
This PR adds a method that approximately extracts the text visible in
the viewport of the web browser (as opposed to always printing the first
50 lines, or relying entirely on OCR).
2025-02-03 11:42:18 -05:00
Eric Zhu
227b875f28
Update Python website to v0.4.5 (#5316) 2025-01-31 20:01:51 -08:00
Eric Zhu
756e2a4865
feat: update OpenAIAssistantAgent to support AsyncAzureOpenAI client (#5312)
Resolves #5179
python-v0.4.5
2025-01-31 16:09:11 -08:00
Nour Bouzid
0bf786fbb6
Add default_header support (#5249)
Closes #5163
---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-01-31 16:03:32 -08:00
afourney
088a50faa5
Remove old autogen_magentic_one package. (#5305)
This PR removes the older `autogen_magentic_one` package, and directs
people to use the new AgentChat implementation.

Hopefully this eases confusion.

---------

Co-authored-by: Jack Gerrits <jack@jackgerrits.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-01-31 15:14:40 -08:00
Eric Zhu
cd9dca4740
feat: add o3 to model info; update chess example (#5311)
Because.
2025-01-31 15:07:14 -08:00
Eric Zhu
69d3af7324
Add a new sample to show streaming and R1 usage (#5285)
* New sample of chess playing showing R1's thought process in streaming
mode
* Modify existing samples to use `model_config.yml` instead of JSON
configs for better clarity.

---------

Co-authored-by: Mohammad Mazraeh <Mazraeh.Mohammad@Gmail.com>
2025-01-31 22:25:29 +00:00
Eric Zhu
88c895fd48
sample: Update chainlit sample with streaming (#5304)
* Separate agent and team examples
* Add streaming output
* Refactor to better use the chainlit API
* Removed the user proxy example -- this needs a bit more work to
improve the presentation on the ChainLit interface.

---------

Co-authored-by: Victor Dibia <victordibia@microsoft.com>
2025-01-31 22:20:11 +00:00
Eric Zhu
d5007adba7
chore: add asyncio_atexit dependency to docker requirements (#5307)
Resolves #5281
2025-01-31 14:14:43 -08:00
Eric Zhu
3cc9095f28
fix: type issues in streamlit sample and add streamlit to dev dependencies (#5309) 2025-01-31 14:06:59 -08:00
Hussein Koprly
75968565a1
adding streamlit sample app (#5306)
- New Streamlit sample app using autogen
- README added on how to run it
2025-01-31 12:19:16 -08:00
Griffin Bassman
b5626262b4
fix: windows check ci failure (#5287) dotnet-v0.2.2 2025-01-31 10:22:15 -08:00
linznin
33d9bd6d1d
Update Distributed Agent Runtime Cross-platform Sample (#5164)
fix: improve service shutdown handling in for cross-platform compatibility (#5124)

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-01-31 16:17:04 +00:00
Jacob Alber
a67395798d
ci: remove every-commit trigger form nightly build (#5278)
We should not be triggering the nightly build pipeline on every commit.
2025-01-31 15:42:53 +00:00
Eric Zhu
71bf20b8a2
chore: update package versions to 0.4.5 and remove deprecated requirements (#5280) 2025-01-31 01:52:45 +00:00
Jack Gerrits
3fcb6e6b47
Fix apidoc generation (#5279) 2025-01-30 20:40:09 -05:00
Jack Gerrits
902238fd68
Run metadata stage in addition to build (#5277)
`build` does not run the api doc generation step. The default command
does both.
2025-01-31 00:35:13 +00:00
Victor Dibia
b2800d729b
Update AGS to Use AgentChat Declarative Config Serialization (#5261)
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

This PR updates AGS to use the declarative config serialization native
to AgentChat.
The effect? You can build your teams/artifacts directly in python, run
`team.dump_component()` and immediately run it in AGS.

Some change details:

- Removes ComponentFactory. Instead TeamManager just loads team specs
directly using `Team.load_component`.
- Some fixes to the UI to simplify drag and drop experience.  
- Improve layout of nodes...


<!-- Please give a short summary of the change and the problem this
solves. -->

## Related issue number

<!-- For example: "Closes #1234" -->
Closes #4439 
Closes #5172

## Checks

- [ ] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [ ] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.


cc @EItanya @nour-bouzid
2025-01-31 00:24:37 +00:00
Jacob Alber
a1b08aa1e9
fix: NuGet icon is broken when building in ADO (#5276)
We use git-lfs for storing the icon, and cannot publish with a broken icon
dotnet-v0.4.0-dev.1
2025-01-31 00:13:22 +00:00
Jack Gerrits
b05878aa4a
Create and publish documentation site for 0.4 dotnet (#5275)
<img width="1840" alt="Screenshot 2025-01-30 at 6 26 02 PM"
src="https://github.com/user-attachments/assets/5b4c9ebf-0880-4b2e-aa1f-f2b956922b49"
/>
2025-01-30 19:04:26 -05:00
Jacob Alber
465a97472d
feat: Release pre-requisites for Microsoft.AutoGen.Core NuGet (#5270)
This is in preparation for releasing the Microsoft.AutoGen.Core NuGet
package.

* Moves IHandle<> to Microsoft.AutoGen.Contracts
* Makes KVStringParseHelper internal

* Updates versions of certain dependencies
* Updates NuGet package properties

* Enables deterministic build
* Enables ContinuousIntegrationBuild in CI
2025-01-30 17:08:39 -05:00
Griffin Bassman
994c8660df
fix: add unit tests for dotnet and improve test infrastructure (#5269) 2025-01-30 16:53:42 -05:00
Griffin Bassman
fca1de9279
feat: dotnet AgentId and MetaData tests (#5271) 2025-01-30 15:02:44 -05:00
Eric Zhu
f656ff1e01
feat: Support R1 reasoning text in model create result; enhance API docs (#5262)
Resolves #5255 

---------

Co-authored-by: afourney <adamfo@microsoft.com>
2025-01-30 11:03:54 -08:00
Eric Zhu
44db2cc1fb
fix: handle non-string function arguments in tool calls and add corresponding warnings (#5260) 2025-01-30 16:49:22 +00:00
afourney
aa23093f36
Adjusted M1 agent system prompt to remove TERMINATE (#5263)
Removed the TERMINATE clause from the system prompt since M1 handles
termination via the Orchestrator, and it is just ignored.

Removed the clause about saving to a particular file name, since tmp_
files are created in the current CodeExecutors.
2025-01-30 08:14:55 -08:00
afourney
fff201f813
Added an optional sources parameter to CodeExecutorAgent (#5259)
This PR adds a `sources` optional parameter to CodeExecutorAgent
(similar to the termination conditions), that allows finer-grained
control on which agents can provide code for execution.

It also moves the `_extract_markdown_code_blocks` subroutine to a member
method, so that it can be overridden by subclasses. I've found this to
be very important to support benchmarks like HumanEval, where we need to
add a test harness around the implementation.
2025-01-29 23:28:57 -08:00
Eric Zhu
403844ef2b
feat: add Semantic Kernel Adapter documentation and usage examples in user guides (#5256)
Partially address #5205 and #5226
2025-01-29 16:37:18 -08:00
Eric Zhu
7020f2ac34
fix: update human-in-the-loop tutorial with better system message to signal termination condition (#5253)
Resolves #5248
2025-01-29 10:53:37 -08:00
Nour Bouzid
02e968a531
FunctionTool partial support (#5183)
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

FunctionTool supports passing in a partial

## Related issue number

Closes #5151 

## Checks

- [x] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [x] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [x] I've made sure all auto checks have passed.
2025-01-29 18:02:18 +00:00
Mohammad Mazraeh
2f1684b698
update dependencies to work with protobuf 5 (#5195)
Closes #5074

Signed-off-by: Mohammad Mazraeh <mazraeh.mohammad@gmail.com>
2025-01-28 22:11:54 -08:00
Eric Zhu
225eb9d0b2
feat: introduce ModelClientStreamingChunkEvent for streaming model output and update handling in agents and console (#5208)
Resolves #3983

* introduce `model_client_stream` parameter in `AssistantAgent` to
enable token-level streaming output.
* introduce `ModelClientStreamingChunkEvent` as a type of `AgentEvent`
to pass the streaming chunks to the application via `run_stream` and
`on_messages_stream`. Although this will not affect the inner messages
list in the final `Response` or `TaskResult`.
* handle this new message type in `Console`.
2025-01-29 02:49:02 +00:00
Eric Zhu
8a0daf8285
Update website for v0.4.4 (#5246) 2025-01-28 16:15:24 -08:00
Jack Gerrits
bd5a24ba72
Start from just protos in core.grpc (#5243)
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

<!-- Please give a short summary of the change and the problem this
solves. -->

## Related issue number

<!-- For example: "Closes #1234" -->

## Checks

- [ ] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [ ] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.
magentic-one-cli-v0.2.3 v0.4.4
2025-01-28 17:44:50 -05:00
Griffin Bassman
850377c74a
fix: Various fixes and cleanups to dotnet autogen core (#5242)
Co-authored-by: Jack Gerrits <jack@jackgerrits.com>
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2025-01-28 17:13:36 -05:00
Jacob Alber
2e83d7244a
refactor: Reduce reflection calls when using HandlerInvoker (#5241)
Changes `HandlerInvoker` to avoid reflecting for every message when handling arity=2 `IHandler<,>` instances, by moving it out of the final generated delegate.
2025-01-28 21:17:11 +00:00
Jacob Alber
e6926352aa
feat: Expose self-delivery for InProcessRuntime in AgentsApp (#5240)
* Enable configuring SelfDelivery (defaults to false) when using
AgentsAppBuilder
* Also fixes the predicate for self-delivery

---------

Co-authored-by: Griffin Bassman <griffinbassman@gmail.com>
2025-01-28 21:06:10 +00:00
Jacob Alber
43e9c266c1
feat: Enable queueing and step mode in InProcessRuntime (#5239)
Moves the semantics of message delivery in .NET to be closer to Python
(up to vagaries of differences in Threading)

* Creates a message delivery queue in InProcessRuntime
* Creates Start/Stop/WaitForIdle APIs on InProcessRuntime
* Creates API to step individual messages
* Updates InProcessRuntime to play well with IHost as an IHostedService
2025-01-28 20:28:05 +00:00
Eric Zhu
10996bc172
docs: Enhance documentation for SingleThreadedAgentRuntime with usage examples and clarifications; undeprecate process_next (#5230)
Resolves #5046
2025-01-28 11:03:51 -08:00