本页面介绍了 Open Interpreter 如何与 OpenAI 的 GPT 模型、Anthropic 的 Claude 等云托管语言模型以及其他基于 API 的 LLM 提供商进行交互。有关在本地运行模型的信息,请参阅本地模型。
Open Interpreter 使用托管模型作为其默认配置,连接到外部 API 端点以访问在提供商服务器而非用户本地机器上运行的强大语言模型。该系统使用 LiteLLM 作为其抽象层,以提供跨多个模型提供商的一致接口。
来源:interpreter/core/llm/llm.py38-76
Open Interpreter 支持以下托管模型提供商
| 提供商 | 模型示例 | 主要功能 | API 密钥环境变量 |
|---|---|---|---|
| OpenAI | gpt-4o, gpt-3.5-turbo | 视觉,函数调用 | OPENAI_API_KEY |
| Anthropic | claude-3-5-sonnet, claude-3-opus | 高推理能力,长上下文 | ANTHROPIC_API_KEY |
| Open Interpreter API | i | 简化访问 | INTERPRETER_API_KEY |
| 自定义提供商 | 通过 API URL 的任意提供商 | 可自定义的端点 | 可变 |
默认模型是 gpt-4o,但这可以通过设置进行配置。
来源:interpreter/core/llm/llm.py53-75 interpreter/core/llm/llm.py107-124
您可以通过设置解释器 llm 对象的属性来指定要使用的托管模型及其参数
API 密钥可以通过三种方式提供
interpreter.llm.api_key--api_key 标志| 参数 | 描述 | 默认 |
|---|---|---|
| 模型 | 模型标识符 | gpt-4o |
| 温度 | 随机性 (0-1) | 0 |
| 上下文窗口 | 上下文的 Token 限制 | 自动检测 |
| max_tokens | 最大响应长度 | 自动计算 |
| api_base | 自定义 API 端点 URL | 提供商默认 |
| api_key | API 认证密钥 | 来自环境变量 |
| api_version | 要使用的 API 版本 | 提供商默认 |
| max_budget | 最大支出限制 | 无 |
来源:interpreter/core/llm/llm.py53-75 interpreter/core/llm/llm.py282-304
来源:interpreter/core/llm/llm.py76-324 interpreter/core/llm/utils/convert_to_openai_messages.py9-289
Open Interpreter 使用内部消息格式 (LMC),但在发送到托管 API 之前需要将这些消息转换为 OpenAI 兼容的消息。此转换处理不同类型的消息
来源:interpreter/core/llm/utils/convert_to_openai_messages.py9-289 interpreter/core/llm/run_tool_calling_llm.py1-316
Llm 类是处理托管模型交互的核心组件
Llm 类的显著特点
来源:interpreter/core/llm/llm.py38-76 interpreter/core/llm/llm.py76-324 interpreter/core/llm/llm.py334-413
OpenAI 模型是默认的,只需要最少的配置
Anthropic 的 Claude 模型可以使用 Anthropic API 密钥
适用于不想管理自己 API 密钥的用户
此选项会自动配置适当的设置并提供简化的体验。
来源:interpreter/core/llm/llm.py107-124 interpreter/core/llm/llm.py416-467
适用于具有自定义部署或代理服务的组织
这对于以下情况很有用
来源:interpreter/core/llm/llm.py282-304
| 问题 | 可能的解决方案 |
|---|---|
| API 密钥错误 | 确保通过环境变量或 llm.api_key 设置密钥 |
| 速率限制 | 降低请求频率或升级 API 层级 |
| 上下文窗口错误 | 减少 max_tokens 或清除 interpreter.messages |
| 模型可用性 | 验证您所在区域/账户中的模型名称和可用性 |
| 消息过大 | 对于视觉模型,请使用 interpreter.shrink_images=True |
系统包含针对常见 API 问题的自动重试逻辑
这有助于在无需用户干预的情况下从临时 API 问题中恢复。
来源:interpreter/core/llm/llm.py416-467
API 密钥安全:
.env 文件并设置适当的 gitignore成本管理:
max_budget 以限制使用性能优化:
context_window 和 max_tokenstemperature=0来源:interpreter/core/llm/llm.py282-304 interpreter/core/llm/llm.py334-413