
* initial base memroy impl * update, add example with chromadb * include mimetype consideration * add transform method * update to address feedback, will update after 4681 is merged * update memory impl, * remove chroma db, typing fixes * format, add test * update uv lock * update docs * format updates * update notebook * add memoryqueryevent message, yield message for observability. * minor fixes, make score optional/none * Update python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com> * update tests to improve cov * refactor, move memory to core. * format fixxes * format updates * format updates * fix azure notebook import, other fixes * update notebook, support str query in Memory protocol * update test * update cells * add specific extensible return types to memory query and update_context --------- Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
AutoGen Python packages
This directory works as a single uv
workspace containing all project packages. See packages
to discover all project packages.
Migrating from 0.2.x?
Please refer to the migration guide for how to migrate your code from 0.2.x to 0.4.x.
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. Theall-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 --python 3.12
source .venv/bin/activate
cookiecutter ./templates/new-package/