---
myst:
html_meta:
"description lang=zh-cn": |
AutoGen 扩展用户指南,一个用于构建多代理应用程序的框架。
"charset": "utf-8"
---
# 扩展
```{toctree}
:maxdepth: 3
:hidden:
azure-container-code-executor
```
## 发现社区项目:
::::{grid} 1 2 2 2
:margin: 4 4 0 0
:gutter: 1
:::{grid-item-card} {fas}`globe;pst-color-primary`
Ecosystem
:link: https://github.com/topics/autogen
:class-item: api-card
:columns: 12
查找与 AutoGen 配合使用的示例、服务和其他内容
:::
:::{grid-item-card} {fas}`puzzle-piece;pst-color-primary`
Community Extensions
:link: https://github.com/topics/autogen-extension
:class-item: api-card
查找用于3方工具、组件和服务的 AutoGen 扩展
:::
:::{grid-item-card} {fas}`vial;pst-color-primary`
Community Samples
:link: https://github.com/topics/autogen-sample
:class-item: api-card
查找与 AutoGen 配合使用的示例、服务和其他内容
:::
::::
### 社区项目列表
| 名称 | 包 | 描述 |
| ----------------------------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------- |
| [autogen-watsonx-client](https://github.com/tsinggggg/autogen-watsonx-client) | [PyPi](https://pypi.org/project/autogen-watsonx-client/) | Model client for [IBM watsonx.ai](https://www.ibm.com/products/watsonx-ai) |
## 内置扩展
阅读内置扩展的文档:
```{note}
WIP
```
## 创建自己的社区扩展
在 0.4 版本中,创建和发布自己的扩展比以往任何时候都更容易。本页面详细介绍了一些最佳实践,以确保您的扩展包与 AutoGen 生态系统无缝集成。
### 最佳实践
#### 命名
没有命名要求。但前缀包名称为 `autogen-` 会使其更容易被发现。
#### 常见接口
尽可能实现 `autogen_core` 包中提供的接口。这将使用户获得更一致的体验。
##### 依赖 AutoGen
为确保扩展与设计时使用的 AutoGen 版本兼容,建议在 `pyproject.toml` 的依赖项部分指定 AutoGen 的版本,并使用适当的约束。
```toml
[project]
# ...
dependencies = [
"autogen-core>=0.4,<0.5"
]
```
#### 使用类型提示
AutoGen 拥抱使用类型提示来提供更好的开发体验。扩展应尽可能使用类型提示。
### Discovery
为使您的扩展、示例、服务或包更容易被用户发现,您可以 [添加主题](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics) [`autogen`](https://github.com/topics/autogen) 到 GitHub 仓库。
更具体的话题也已可用:
- [`autogen-extension`](https://github.com/topics/autogen-extension) for extensions
- [`autogen-sample`](https://github.com/topics/autogen-sample) for samples
### 从 0.2 版本的变化
在 AutoGen 0.2 中,常见做法是将 3 方扩展和示例合并到主仓库中。我们非常感谢所有在 0.2 版本中为生态系统笔记本、模块和页面做出贡献的用户。然而,总体上我们正在远离这种模式,以允许更多的灵活性和减少维护负担。
有 `autogen-ext` 包用于 1 方支持的扩展,但我们希望选择性地管理维护负担。如果您想看看您的扩展是否适合添加到 `autogen-ext`,请打开一个 issue 并让我们讨论。否则,我们鼓励您将您的扩展作为单独的包发布,并遵循 [发现](#discovery) 下的指南,以便用户更容易发现。