OpenAI 兼容
概览
OPL 数据空间可以连接 任何实现 OpenAI 兼容 API 的服务或 provider。本页介绍常见云 provider 与本地服务的接入方法。
如果你要直接连接 OpenAI 或 Azure OpenAI,请看专门的 OpenAI 指南。
面向协议的设计
OPL 数据空间围绕 标准协议 设计,而不是为每个 provider 单独做一套逻辑。这样可以避免行为不一致和配置膨胀。核心思路是:界面和工具由 OPL 数据空间提供,而后端遵循 OpenAI Chat Completions 协议。
- 支持协议:只要 provider 遵循广泛采用的 API 标准,就能被原生支持。我们也对 Open Responses 提供实验性支持。
- 避免私有 API 绑定:核心项目不会为每家 provider 的非标准接口都写专用适配层。若某个 provider 不兼容标准协议,可通过 pipe、LiteLLM、OpenRouter 等桥接。
更完整的设计解释见 FAQ:协议支持策略。
添加连接时, OPL 数据空间会通过标准 Bearer 认证调用 provider 的 /models 端点进行验证。有些 provider 根本没有 /models 端点,或者该端点使用非标准认证方式。出现这种情况时:
- 连接验证会 报错,例如 400、401、403
- 这 不代表 provider 不兼容,聊天请求通常仍能正常工作
- 你只需要在连接设置中手动把模型名加入 Model IDs (Filter) 白名单
已知 /models 有问题的 provider:
| Provider | /models 是否可用 | 处理方式 |
|---|---|---|
| Anthropic | 可用,且有内建兼容层 | 自动发现 |
| GitHub Models | 不可用,路径非标准 | 手动加入模型 ID |
| Perplexity | 不可用 | 手动加入模型 ID |
| MiniMax | 不可用 | 手动加入模型 ID |
| OpenRouter | 可用,但返回模型极多 | 强烈建议加过滤白名单 |
| Google Gemini | 可用 | 自动发现 |
| DeepSeek | 可用 | 自动发现 |
| Mistral | 可用 | 自动发现 |
| Groq | 可用 | 自动发现 |
手动加模型的方法:在连接设置里找到 Model IDs (Filter),输入模型 ID 后点击 +,再保存即可。
第 1 步:添加 provider 连接
- 在浏览器中打开 OPL 数据空间。
- 前往 ⚙️ 管理设置 → 连接 → OpenAI。
- 点击 ➕ 添加连接。
- 填入你的 provider 的 URL 和 API Key。输入 URL 时系统会提示常见端点。
- 如果 provider 不支持
/models自动发现,就把模型 ID 手动填进 Model IDs (Filter) 白名单。 - 点击 保存。
如果 OPL 数据空间运行在 Docker 中,而模型服务在宿主机上,请把 URL 中的 localhost 换成 host.docker.internal。
每个连接都有单独的开关,你可以暂时停用某个 provider,而无需删除配置。
云端 Provider
- Anthropic
- Google Gemini
- DeepSeek
- Mistral
- Groq
- Perplexity
- MiniMax
- OpenRouter
- Amazon Bedrock
- Azure OpenAI
- LiteLLM
Anthropic(Claude)提供 OpenAI 兼容端点。 OPL 数据空间可以自动识别 Anthropic URL,并完成模型发现。
| 设置项 | 值 |
|---|---|
| URL | https://api.anthropic.com/v1 |
| API Key | 从 console.anthropic.com 获取 |
| Model IDs | 可自动发现,也可手动过滤 |
详细步骤见 Anthropic(Claude)指南。
| 设置项 | 值 |
|---|---|
| URL | https://generativelanguage.googleapis.com/v1beta/openai |
| API Key | 从 aistudio.google.com 获取 |
| Model IDs | 自动发现 |
URL 必须是 https://generativelanguage.googleapis.com/v1beta/openai,末尾 不能 带 /,否则 /models 调用会失败。
| 设置项 | 值 |
|---|---|
| URL | https://api.deepseek.com/v1 |
| API Key | 从 platform.deepseek.com 获取 |
| Model IDs | 自动发现,如 deepseek-chat、deepseek-reasoner |
| 设置项 | 值 |
|---|---|
| URL | https://api.mistral.ai/v1 |
| API Key | 从 console.mistral.ai 获取 |
| Model IDs | 自动发现 |
| 设置项 | 值 |
|---|---|
| URL | https://api.groq.com/openai/v1 |
| API Key | 从 console.groq.com 获取 |
| Model IDs | 自动发现 |
| 设置项 | 值 |
|---|---|
| URL | https://api.perplexity.ai |
| API Key | 从 perplexity.ai/settings 获取 |
| Model IDs | 必须手动加入,如 sonar-pro |
Perplexity 没有 /models 端点,必须手动填写模型 ID。部分模型还可能拒绝某些参数,如 stop 或 frequency_penalty。
MiniMax 提供面向编码和推理场景的模型。接入时需要使用 Coding Plan 的专用 API Key。
| 设置项 | 值 |
|---|---|
| URL | https://api.minimax.io/v1 |
| API Key | Coding Plan API Key |
| Model IDs | 需要手动加入,如 MiniMax-M2.5 |
基本步骤:
- 在 订阅页面 开通 Coding Plan。
- 在 Coding Plan 页面 获取 API Key。
- 在 OPL 数据空间中添加连接,手动将
MiniMax-M2.5加入白名单。
该 API Key 与普通按量计费 API Key 不通用。
OpenRouter 聚合了大量上游模型。
| 设置项 | 值 |
|---|---|
| URL | https://openrouter.ai/api/v1 |
| API Key | 从 openrouter.ai/keys 获取 |
| Model IDs | 强烈建议手动过滤 |
OpenRouter 会返回非常多模型,不加过滤会让模型选择器和管理面板变得拥挤且更慢。建议:
- 只把需要的模型 ID 加入白名单
- 开启模型列表缓存,例如
ENABLE_BASE_MODELS_CACHE=True
Amazon Bedrock 可以通过多种 OpenAI 兼容方式接入 OPL 数据空间,常见方案包括:
- Bedrock Access Gateway(BAG)
- stdapi.ai
- LiteLLM 的 Bedrock provider
- AWS Bedrock Mantle
它们在自动模型发现、Embedding、图像生成、多区域访问等能力上有所差异。若你主要追求最简单的接入,Bedrock Mantle 是 AWS 官方托管方案;若你需要更广的能力面,可以考虑 BAG 或 stdapi.ai。
常见配置示例:
OPENAI_API_BASE_URL=https://bedrock-mantle.us-east-1.api.aws/v1
OPENAI_API_KEY=your_bedrock_api_key更多细节请参考 AWS 的 Bedrock Mantle 文档,或按需使用 BAG / stdapi.ai 的代理方案。
Azure OpenAI 通过 Azure 提供企业级托管能力。
在连接弹窗中,你需要先把 Provider Type 从 OpenAI 切换到 Azure OpenAI,然后填写:
| 设置项 | 值 |
|---|---|
| Provider Type | 切换到 Azure OpenAI |
| URL | 你的 Azure Endpoint |
| API Version | 如 2024-02-15-preview |
| API Key | Azure API Key |
| Model IDs | 必填,填 Deployment Name |
Azure OpenAI 使用的是 部署名,不是标准 OpenAI 模型名,所以必须把部署名加入白名单。
Azure 同时支持:
- 传统部署格式:
https://my-resource.openai.azure.com v1格式:https://my-resource.openai.azure.com/openai/v1
如果 URL 以 /openai/v1 结尾, OPL 数据空间会按标准 OpenAI 方式发请求,不再重写部署路径。
LiteLLM 是一个统一的 OpenAI 兼容代理,可桥接 100+ LLM provider。
| 设置项 | 值 |
|---|---|
| URL | http://localhost:4000/v1 |
| API Key | 你的 LiteLLM 代理密钥 |
| Model IDs | 由 LiteLLM 配置自动发现 |
快速启动示例:
pip install litellm
litellm --model gpt-4 --port 4000在多用户部署里,不建议把 provider 的管理级 / 主密钥直接作为主连接使用。优先选择最小权限的推理用密钥。
本地服务
- Llama.cpp
- Lemonade
- LM Studio
- vLLM
- LocalAI
- Docker Model Runner
| 设置项 | 值 |
|---|---|
| URL | http://localhost:10000/v1 |
| API Key | 留空 |
详见 Llama.cpp 指南。
| 设置项 | 值 |
|---|---|
| URL | http://localhost:8000/api/v1 |
| API Key | 留空 |
Lemonade 是面向 Windows 的 ONNX 本地 OpenAI 兼容服务。安装完成后,在 OPL 数据空间中填入以上地址即可。
| 设置项 | 值 |
|---|---|
| URL | http://localhost:1234/v1 |
| API Key | 留空,或填占位值 lm-studio |
接入前先在 LM Studio 的 “Local Server” 页面启动本地服务。
| 设置项 | 值 |
|---|---|
| URL | http://localhost:8000/v1 |
| API Key | 留空 |
详见 vLLM 指南。
| 设置项 | 值 |
|---|---|
| URL | http://localhost:8080/v1 |
| API Key | 留空 |
| 设置项 | 值 |
|---|---|
| URL | http://localhost:12434/engines/llama.cpp/v1 |
| API Key | 留空 |
具体安装见 Docker Model Runner 文档。