安装与配置

安装

安装 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_PROVIDEREMBEDDING_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 文件。