安装与配置¶
安装¶
安装 RDAgent:针对不同场景
对于普通用户:请使用
pip install rdagent
安装 RDAgent对于开发用户:查看开发
安装 Docker:RDAgent 旨在用于研究和开发,像人类研究员和开发者一样。它可以在各种环境中编写和运行代码,主要使用 Docker 进行代码执行。这使得其余的依赖保持简单。用户必须确保在尝试大多数场景之前已安装 Docker。请参考 官方 🐳Docker 页面 获取安装说明。确保当前用户可以 不使用 sudo 运行 Docker 命令。您可以通过执行 docker run hello-world 来验证这一点。
LiteLLM 后端配置¶
请在项目的根目录中创建一个 .env 文件并添加环境变量。
以下是通过 LiteLLM 使用 OpenAI 的 gpt-4o 的示例配置。
BACKEND=rdagent.oai.backend.LiteLLMAPIBackend # It can be modified to any model supported by LiteLLM. CHAT_MODEL=gpt-4o EMBEDDING_MODEL=text-embedding-3-small # The backend api_key fully follows the convention of litellm. OPENAI_API_KEY=<replace_with_your_openai_api_key>
必要的参数包括:
BACKEND:要使用的后端。默认值为 rdagent.oai.backend.DeprecBackend。要使用 LiteLLM 后端,请将其设置为 rdagent.oai.backend.LiteLLMAPIBackend。
CHAT_MODEL:聊天模型的模型名称。
EMBEDDING_MODEL:嵌入模型的模型名称。
The CHAT_MODEL and EMBEDDING_MODEL parameters will be passed into LiteLLM's completion function.
因此,在使用不同提供商提供的模型时,请首先查看 LiteLLM 的接口配置。模型名称必须与 LiteLLM 允许的名称匹配。
此外,您需要为相应的模型提供商设置额外参数,参数名称必须与 LiteLLM 所需的名称一致。
例如,如果您使用 DeepSeek 模型,则需要设置如下:
# For some models LiteLLM requires a prefix to the model name. CHAT_MODEL=deepseek/deepseek-chat DEEPSEEK_API_KEY=<replace_with_your_deepseek_api_key>
有关 LiteLLM 要求的更多详细信息,请参考 官方 LiteLLM 文档.
配置(已弃用)¶
要运行该应用程序,请在项目的根目录中创建一个 .env 文件并根据您的要求添加环境变量。
使用 OpenAI API 的用户的标准配置选项在 .env.example 文件中提供。
这里有一些其他可以使用的配置选项:
OpenAI API¶
这是使用 OpenAI API 的用户的标准配置。
OPENAI_API_KEY=<your_api_key> EMBEDDING_MODEL=text-embedding-3-small CHAT_MODEL=gpt-4-turbo
Azure OpenAI¶
以下环境变量是使用 OpenAI API 的用户的标准配置选项。
USE_AZURE=True EMBEDDING_OPENAI_API_KEY=<replace_with_your_azure_openai_api_key> EMBEDDING_AZURE_API_BASE= # The endpoint for the Azure OpenAI API. EMBEDDING_AZURE_API_VERSION= # The version of the Azure OpenAI API. EMBEDDING_MODEL=text-embedding-3-small CHAT_OPENAI_API_KEY=<replace_with_your_azure_openai_api_key> CHAT_AZURE_API_BASE= # The endpoint for the Azure OpenAI API. CHAT_AZURE_API_VERSION= # The version of the Azure OpenAI API. CHAT_MODEL= # The model name of the Azure OpenAI API.
使用 Azure 令牌提供者¶
如果您使用 Azure 令牌提供者,则需要将 CHAT_USE_AZURE_TOKEN_PROVIDER 和 EMBEDDING_USE_AZURE_TOKEN_PROVIDER 环境变量设置为 True。然后使用 Azure 配置部分 中提供的环境变量。
☁️ Azure 配置 - 安装 Azure CLI:
`sh curl -L https://aka.ms/InstallAzureCli | bash `
登录到 Azure:
`sh az login --use-device-code `
exit 并重新登录到您的环境(此步骤可能不是必需的)。
配置列表¶
OpenAI API 设置
配置选项 |
含义 |
默认值 |
---|---|---|
OPENAI_API_KEY |
聊天和嵌入模型的 API 密钥 |
无 |
EMBEDDING_OPENAI_API_KEY |
使用不同的API密钥用于嵌入模型 |
无 |
CHAT_OPENAI_API_KEY |
设置为使用不同的API密钥用于聊天模型 |
无 |
EMBEDDING_MODEL |
嵌入模型的名称 |
text-embedding-3-small |
CHAT_MODEL |
聊天模型的名称 |
gpt-4-turbo |
EMBEDDING_AZURE_API_BASE |
Azure OpenAI API的基础URL |
无 |
EMBEDDING_AZURE_API_VERSION |
Azure OpenAI API的版本 |
无 |
CHAT_AZURE_API_BASE |
Azure OpenAI API的基础URL |
无 |
CHAT_AZURE_API_VERSION |
Azure OpenAI API的版本 |
无 |
USE_AZURE |
如果您正在使用Azure OpenAI则为真 |
False |
CHAT_USE_AZURE_TOKEN_PROVIDER |
如果您在聊天模型中使用Azure令牌提供者则为真 |
False |
EMBEDDING_USE_AZURE_TOKEN_PROVIDER |
如果您在嵌入模型中使用 Azure 令牌提供程序,则为真 |
False |
全局设置
配置选项 |
含义 |
默认值 |
---|---|---|
max_retry |
最大重试次数 |
10 |
retry_wait_seconds |
重试前等待的秒数 |
1 |
log_trace_path |
日志跟踪文件的路径 |
无 |
log_llm_chat_content |
指示是否记录聊天内容的标志 |
真 |
缓存设置
配置选项 |
含义 |
默认值 |
---|---|---|
dump_chat_cache |
指示是否转储聊天缓存的标志 |
False |
dump_embedding_cache |
指示是否转储嵌入缓存的标志 |
False |
use_chat_cache |
指示是否使用聊天缓存的标志 |
False |
使用嵌入缓存 |
指示是否使用嵌入缓存的标志 |
False |
提示缓存路径 |
提示缓存的路径 |
./prompt_cache.db |
最大过去消息包含 |
要包含的最大过去消息数量 |
10 |
加载配置¶
为了用户的方便,我们提供了一个名为 rdagent 的CLI接口,它会自动运行 load_dotenv() 从 .env 文件加载环境变量。然而,其他脚本默认情况下并未启用此功能。我们建议用户按照以下步骤加载环境:
- ⚙️ 环境配置
- 将 .env 文件放置在与 .env.example 文件相同的目录中。
.env.example 文件包含使用 OpenAI API 所需的环境变量(请注意,.env.example 是示例文件,.env 是最终将使用的文件。)
导出 .env 文件中的每个变量:
export $(grep -v '^#' .env | xargs)
如果您想更改默认环境变量,可以参考上述配置并编辑 .env 文件。