上游提供商
LLM Fence 通过适配器模式支持多种上游 Provider。Provider 配置存储在 MongoDB 运行配置中,可通过管理端或 /api/admin/config/providers API 维护。
适配器类型
| 类型 | 说明 |
|---|---|
newapi | NewAPI / OneAPI 等 OpenAI 兼容上游 |
deepseek | DeepSeek 官方 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
}| 字段 | 说明 |
|---|---|
name | Provider 唯一名称,用于路由和管理接口路径 |
type | newapi、deepseek 或 llm-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 = true且format_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。