Skip to content

上游提供商

LLM Fence 通过适配器模式支持多种上游 Provider。Provider 配置存储在 MongoDB 运行配置中,可通过管理端或 /api/admin/config/providers API 维护。

适配器类型

类型说明
newapiNewAPI / OneAPI 等 OpenAI 兼容上游
deepseekDeepSeek 官方 API
llm-fence另一个 LLM Fence 实例,用于链式转发

Provider 配置

json
{
  "name": "deepseek",
  "type": "deepseek",
  "api_key": "sk-...",
  "base_url": "https://api.deepseek.com",
  "models": [
    { "name": "deepseek-chat", "upstream_model": null }
  ],
  "supported_formats": ["openai"],
  "auto_convert": true
}
字段说明
nameProvider 唯一名称,用于路由和管理接口路径
typenewapideepseekllm-fence
api_key上游 API Key;写入时必须传真实值,读取时返回 api_key_masked
base_url上游 API 基础地址
models暴露给客户端的模型配置
supported_formats上游原生支持格式,必须显式配置且不能为空
auto_convert是否允许客户端使用非原生格式并自动转换

格式支持与转换

supported_formats 表示上游原生支持的协议格式:

json
"supported_formats": ["openai"]
"supported_formats": ["openai", "anthropic"]

当客户端请求格式在 supported_formats 中时,LLM Fence 原样使用对应 endpoint 转发。

当客户端请求格式不在 supported_formats 中时:

  • auto_convert = trueformat_converter.enabled = true:转换到 supported_formats[0] 对应的上游 endpoint。
  • 否则拒绝请求。

旧版 accept / send 已移除,不要再写到 Provider 或 model 配置中。

模型配置

json
{
  "name": "gpt-4o",
  "upstream_model": "gpt-4o-2024-11-20"
}
字段说明
name客户端请求时使用的模型名
upstream_model实际发送给上游的模型名;为 null 时与 name 相同

NewAPI

json
{
  "name": "newapi-main",
  "type": "newapi",
  "api_key": "sk-...",
  "base_url": "https://your-upstream/v1",
  "models": [
    { "name": "gpt-4o", "upstream_model": null }
  ],
  "supported_formats": ["openai"],
  "auto_convert": true
}

DeepSeek

json
{
  "name": "deepseek",
  "type": "deepseek",
  "api_key": "sk-...",
  "base_url": "https://api.deepseek.com",
  "models": [
    { "name": "deepseek-chat", "upstream_model": null }
  ],
  "supported_formats": ["openai"],
  "auto_convert": true
}

DeepSeek 上游原生走 OpenAI 兼容格式;开启 auto_convert 后,Anthropic 客户端请求可由 format_converter 转换后转发。

llm-fence 链式转发

json
{
  "name": "upstream-fence",
  "type": "llm-fence",
  "api_key": "sk-upstream-business-key",
  "base_url": "http://another-llm-fence:3000/v1",
  "models": [
    { "name": "gpt-4o", "upstream_model": null }
  ],
  "supported_formats": ["openai", "anthropic"],
  "auto_convert": false
}

上游 LLM Fence 使用自己的业务 Key 做认证。当前业务 Key 明文只在创建或轮换时返回一次,配置链式转发前需要先在上游实例创建 Key。