内置组件¶
本页面列出了所有原生提供的 🧩 组件 和它们实现的 ⚙️ 协议。它们被 AutoGPT agent 使用。某些组件在表格中列出了额外的配置选项,请参阅 组件配置 了解更多信息。
注意
如果配置字段使用环境变量,它仍然可以通过配置模型传递。### 配置中的值优先于环境变量!环境变量仅在配置中未设置值时应用。
SystemComponent
¶
允许 agent 完成任务的必要组件。
DirectiveProvider¶
- 关于 API 预算的约束
MessageProvider¶
- 当前时间和日期
- 剩余 API 预算以及预算较低时的警告
CommandProvider¶
finish
在任务完成时使用
UserInteractionComponent
¶
添加在 CLI 中与用户交互的能力。
CommandProvider¶
ask_user
用于向用户请求输入
FileManagerComponent
¶
添加了将持久化文件读写到本地存储、Google Cloud Storage 或 Amazon S3 的能力。对于保存和加载 agent 的状态(保留会话)至关重要。
FileManagerConfiguration
¶
配置变量 | 详情 | 类型 | 默认值 |
---|---|---|---|
storage_path |
agent 文件(例如状态)的路径 | str |
agents/{agent_id}/ [^1] |
workspace_path |
agent 可以访问的文件的路径 | str |
agents/{agent_id}/workspace/ [^1] |
[^1] 此选项是在组件构建期间动态设置的,而不是在配置模型中默认设置的,{agent_id}
将被替换为 agent 的唯一标识符。
DirectiveProvider¶
- 关于可以读写文件的资源信息
CommandProvider¶
read_file
用于读取文件write_file
用于写入文件list_folder
列出文件夹中的所有文件
CodeExecutorComponent
¶
允许 agent 执行非交互式 Shell 命令和 Python 代码。Python 代码执行仅在 Docker 可用时有效。
CodeExecutorConfiguration
¶
配置变量 | 详情 | 类型 | 默认值 |
---|---|---|---|
execute_local_commands |
启用 shell 命令执行 | bool |
False |
shell_command_control |
控制使用哪个列表 | "allowlist" \| "denylist" |
"allowlist" |
shell_allowlist |
允许的 shell 命令列表 | List[str] |
[] |
shell_denylist |
禁止的 shell 命令列表 | List[str] |
[] |
docker_container_name |
用于代码执行的 Docker 容器名称 | str |
"agent_sandbox" |
所有 shell 命令配置仅用于方便。此组件不安全,不应在生产环境中使用。建议使用更合适的沙箱环境。
CommandProvider¶
execute_shell
执行 shell 命令execute_shell_popen
使用 popen 执行 shell 命令execute_python_code
执行 Python 代码execute_python_file
执行 Python 文件
ActionHistoryComponent
¶
跟踪 agent 的操作及其结果。将它们的摘要提供给 prompt。
ActionHistoryConfiguration
¶
配置变量 | 详情 | 类型 | 默认值 |
---|---|---|---|
llm_name |
用于压缩历史记录的 llm 模型名称 | ModelName |
"gpt-3.5-turbo" |
max_tokens |
用于历史摘要的最大 token 数量 | int |
1024 |
spacy_language_model |
使用 spacy 进行摘要分块的语言模型 | str |
"en_core_web_sm" |
full_message_count |
在 prompt 中包含未摘要的循环次数 | int |
4 |
MessageProvider¶
- Agent 的进度摘要
AfterParse¶
- 记录 agent 的操作
ExecutionFailure¶
- 回退 agent 的操作,使其不被保存
AfterExecute¶
- 将 agent 的操作结果保存在历史记录中
GitOperationsComponent
¶
添加与 git 仓库和 GitHub 交互的能力。
GitOperationsConfiguration
¶
配置变量 | 详情 | 类型 | 默认值 |
---|---|---|---|
github_username |
GitHub 用户名,ENV: GITHUB_USERNAME |
str |
None |
github_api_key |
GitHub API 密钥,ENV: GITHUB_API_KEY |
str |
None |
CommandProvider¶
clone_repository
用于克隆 git 仓库
ImageGeneratorComponent
¶
添加使用各种提供商生成图像的能力。
Hugging Face¶
要使用 Hugging Face 的文本到图像模型,您需要一个 Hugging Face API 令牌。相关设置页面的链接:Hugging Face > 设置 > 令牌
Stable Diffusion WebUI¶
您可以将自己托管的 Stable Diffusion WebUI 与 AutoGPT 一起使用。### 确保您的 WebUI 启用了 --api
。
ImageGeneratorConfiguration
¶
配置变量 | 详情 | 类型 | 默认值 |
---|---|---|---|
image_provider |
图像生成提供商 | "dalle" \| "huggingface" \| "sdwebui" |
"dalle" |
huggingface_image_model |
Hugging Face 图像模型,请参阅 可用模型 | str |
"CompVis/stable-diffusion-v1-4" |
huggingface_api_token |
Hugging Face API 令牌,ENV: HUGGINGFACE_API_TOKEN |
str |
None |
sd_webui_url |
自托管 Stable Diffusion WebUI 的 URL | str |
"http://localhost:7860" |
sd_webui_auth |
Stable Diffusion WebUI 的 Basic Auth,ENV: SD_WEBUI_AUTH |
格式为 {username}:{password} 的 str |
None |
CommandProvider¶
generate_image
用于根据 prompt 生成图像
WebSearchComponent
¶
允许 agent 搜索网络。DuckDuckGo 不需要 Google 凭据。Google API 密钥设置说明
WebSearchConfiguration
¶
配置变量 | 详情 | 类型 | 默认值 |
---|---|---|---|
google_api_key |
Google API 密钥,ENV: GOOGLE_API_KEY |
str |
None |
google_custom_search_engine_id |
Google 自定义搜索引擎 ID,ENV: GOOGLE_CUSTOM_SEARCH_ENGINE_ID |
str |
None |
duckduckgo_max_attempts |
使用 DuckDuckGo 搜索的最大尝试次数 | int |
3 |
duckduckgo_backend |
用于 DDG sdk 的后端 | "api" \| "html" \| "lite" |
"api" |
DirectiveProvider¶
- 关于可以搜索网络的资源信息
CommandProvider¶
search_web
用于使用 DuckDuckGo 搜索网络google
用于使用 Google 搜索网络,需要 API 密钥
WebSeleniumComponent
¶
允许 agent 使用 Selenium 读取网站。
WebSeleniumConfiguration
¶
配置变量 | 详情 | 类型 | 默认值 |
---|---|---|---|
llm_name |
用于读取网站的 llm 模型名称 | ModelName |
"gpt-3.5-turbo" |
web_browser |
Selenium 使用的 Web 浏览器 | "chrome" \| "firefox" \| "safari" \| "edge" |
"chrome" |
headless |
在无头模式下运行浏览器 | bool |
True |
user_agent |
浏览器使用的 User agent | str |
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" |
browse_spacy_language_model |
用于文本分块的 Spacy 语言模型 | str |
"en_core_web_sm" |
selenium_proxy |
与 Selenium 一起使用的 Http 代理 | str |
None |
DirectiveProvider¶
- 关于可以读取网站的资源信息
CommandProvider¶
read_website
用于读取特定的 URL 并查找特定主题或回答问题
ContextComponent
¶
添加了在 prompt 中保持文件和文件夹内容更新的能力。
MessageProvider¶
- 上下文元素的内容
CommandProvider¶
open_file
用于将文件打开到上下文中open_folder
用于将文件夹打开到上下文中close_context_item
从上下文中移除一个项目
WatchdogComponent
¶
监测 agent 是否陷入循环,并在必要时切换到智能模式。
AfterParse¶
- 调查发生了什么,并在必要时切换到智能模式