gagb d2537abbab
Add MagenticOne API and CLI (#4782)
* Add MagenticOne API

* Add CodeExecutorAgent to MagenticOne for enhanced task execution

* Refactor MagenticOne class to inherit from MagenticOneGroupChat and streamline initialization

* Enhance MagenticOne class documentation with detailed usage examples and initialization instructions

* Refactor MagenticOne module structure and update import paths

* Remove unused imports

* Add documentation for MagenticOne module and remove redundant initialization comments

* Enhance MagenticOne class with human-in-the-loop mode and update examples

* Update MagenticOne class documentation with safety precautions and architecture details

* Run poe format

* Add blog post reference to MagenticOne class documentation

* change default of websurfer use_ocr to false because of refusals

* Refactor MagenticOne class to use ChatCompletionClient instead of OpenAIChatCompletionClient

* Add client capability validation to MagenticOne initialization

* Poe format

* Refactor imports in MagenticOne class for clarity and organization

* Add stacklevel parameter to warning in client capability validation

* Update README to recommend using Magentic-One API for improved integration

* Add create_args property to OpenAIChatCompletionClient for better access to initialization arguments

* Enhance client capability validation in MagenticOne to ensure compatibility with OpenAI GPT-4o model

* Refactor client capability validation in MagenticOne for improved clarity

* Update magentic_one.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Remove create_args property from OpenAIChatCompletionClient and update validation logic in MagenticOne to directly access _create_args

* Refactor documentation in MagenticOne for improved readability and consistency

* Refactor client capability validation in MagenticOne to remove unnecessary model check for GPT-4o

* Add MagenticOne CLI (#4788)

* Add MagenticOne CLI script for task execution with OpenAI GPT-4o integration

* Fix argument parsing in MagenticOne CLI to require a single task input

* Add docstring to main function in MagenticOne CLI for improved usage clarity

* Fix example usage in docstring of MagenticOne CLI for correct argument order

* Refactor argument parsing in MagenticOne CLI for improved clarity and consistency

* Add type hints to run_task function in MagenticOne CLI

* Add type hint for main function in MagenticOne CLI

* Remove type ignore from main function call in MagenticOne CLI

---------

Co-authored-by: Hussein Mozannar <hmozannar@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-12-23 16:45:21 -08:00
..
2024-12-10 08:28:48 -08:00

AutoGen Python packages

0.4 Docs PyPi autogen-core PyPi autogen-agentchat PyPi autogen-ext

This directory works as a single uv workspace containing all project packages. See packages to discover all project packages.

Development

TL;DR, run all checks with:

uv sync --all-extras
source .venv/bin/activate
poe check

Setup

uv is a package manager that assists in creating the necessary environment and installing packages to run AutoGen.

Virtual Environment

During development, you may need to test changes made to any of the packages.
To do so, create a virtual environment where the AutoGen packages are installed based on the current state of the directory.
Run the following commands at the root level of the Python directory:

uv sync --all-extras
source .venv/bin/activate
  • uv sync --all-extras will create a .venv directory at the current level and install packages from the current directory along with any other dependencies. The all-extras flag adds optional dependencies.
  • source .venv/bin/activate activates the virtual environment.

Common Tasks

To create a pull request (PR), ensure the following checks are met. You can run each check individually:

  • Format: poe format
  • Lint: poe lint
  • Test: poe test
  • Mypy: poe mypy
  • Pyright: poe pyright
  • Build docs: poe --directory ./packages/autogen-core/ docs-build
  • Auto rebuild+serve docs: poe --directory ./packages/autogen-core/ docs-serve Alternatively, you can run all the checks with:
  • poe check

Note

These need to be run in the virtual environment.

Creating a New Package

To create a new package, similar to autogen-core or autogen-chat, use the following:

uv sync
source .venv/bin/activate
cookiecutter ./templates/new-package/