-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add initial extensions doc page (#3762)
- Loading branch information
1 parent
c765a34
commit 373e14e
Showing
2 changed files
with
112 additions
and
0 deletions.
There are no files selected for viewing
111 changes: 111 additions & 0 deletions
111
python/packages/autogen-core/docs/src/user-guide/extensions-user-guide/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
--- | ||
myst: | ||
html_meta: | ||
"description lang=en": | | ||
User Guide for AutoGen Extensions, a framework for building multi-agent applications with AI agents. | ||
--- | ||
|
||
# Extensions | ||
|
||
Discover community projects: | ||
|
||
::::{grid} 1 2 2 2 | ||
:margin: 4 4 0 0 | ||
:gutter: 1 | ||
|
||
:::{grid-item-card} {fas}`globe;pst-color-primary` <br> Ecosystem | ||
:link: https://github.com/topics/autogen | ||
:class-item: api-card | ||
:columns: 12 | ||
|
||
Find samples, services and other things that work with AutoGen | ||
|
||
::: | ||
|
||
:::{grid-item-card} {fas}`puzzle-piece;pst-color-primary` <br> Community Extensions | ||
:link: https://github.com/topics/autogen-extension | ||
:class-item: api-card | ||
|
||
Find AutoGen extensions for 3rd party tools, components and services | ||
|
||
::: | ||
|
||
:::{grid-item-card} {fas}`vial;pst-color-primary` <br> Community Samples | ||
:link: https://github.com/topics/autogen-samples | ||
:class-item: api-card | ||
|
||
Find community samples and examples of how to use AutoGen | ||
|
||
::: | ||
|
||
:::: | ||
|
||
## Built-in extenions | ||
|
||
Read docs for built in extensions: | ||
|
||
```{note} | ||
WIP | ||
``` | ||
|
||
<!-- ::::{grid} 1 2 3 3 | ||
:margin: 4 4 0 0 | ||
:gutter: 1 | ||
:::{grid-item-card} LangChain Tools | ||
:link: python/autogen_agentchat/autogen_agentchat | ||
:link-type: doc | ||
::: | ||
:::{grid-item-card} ACA Dynamic Sessions Code Executor | ||
:link: python/autogen_agentchat/autogen_agentchat | ||
:link-type: doc | ||
::: | ||
:::: --> | ||
|
||
|
||
## Creating your own community extension | ||
|
||
With the new package structure in 0.4, it is easier than ever to create and publish your own extension to the AutoGen ecosystem. This page details some best practices so that your extension package integrates well with the AutoGen ecosystem. | ||
|
||
### Best practices | ||
|
||
#### Naming | ||
|
||
There is no requirement about naming. But prefixing the package name with `autogen-` makes it easier to find. | ||
|
||
#### Common interfaces | ||
|
||
Whenever possible, extensions should implement the provided interfaces from the `autogen_core` package. This will allow for a more consistent experience for users. | ||
|
||
##### Dependency on AutoGen | ||
|
||
To ensure that the extension works with the version of AutoGen that it was designed for, it is recommended to specify the version of AutoGen the dependency section of the `pyproject.toml` with adequate constraints. | ||
|
||
```toml | ||
[project] | ||
# ... | ||
dependencies = [ | ||
"autogen-core>=0.4,<0.5" | ||
] | ||
``` | ||
|
||
#### Usage of typing | ||
|
||
AutoGen embraces the use of type hints to provide a better development experience. Extensions should use type hints whenever possible. | ||
|
||
### Discovery | ||
|
||
To make it easier for users to find your extension, sample, service or package, you can [add the topic](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics) `autogen` to the GitHub repo. | ||
|
||
More specific topics are also available: | ||
|
||
- `autogen-extension` for extensions | ||
- `autogen-sample` for samples | ||
|
||
### Changes from 0.2 | ||
|
||
In AutoGen 0.2 it was common to merge 3rd party extensions and examples into the main repo. We are super appreciative of all of the users who have contributed to the ecosystem notebooks, modules and pages in 0.2. However, in general we are moving away from this model to allow for more flexibility and to reduce maintenance burden. | ||
|
||
There is the `autogen-ext` package for 1st party supported extensions, but we want to be selective to manage maintenance load. If you would like to see if your extension makes sense to add into `autogen-ext`, please open an issue and let's discuss. Otherwise, we encourage you to publish your extension as a separate package and follow the guidance under [discovery](#discovery) to make it easy for users to find. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,6 +6,7 @@ | |
agentchat-user-guide/index | ||
core-user-guide/index | ||
extensions-user-guide/index | ||
``` | ||
|
||
::::{grid} 1 2 2 3 | ||
|