fix: 完善转换代理行为
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
| -------- | ----------------------------------- |
|
||||
| 协议名称 | `"openai"` |
|
||||
| 协议版本 | 无固定版本头,API 持续演进 |
|
||||
| Base URL | `https://api.openai.com` |
|
||||
| Base URL | `https://api.openai.com/v1`(供应商配置到版本路径一级) |
|
||||
| 认证方式 | `Authorization: Bearer <api_key>` |
|
||||
|
||||
---
|
||||
@@ -47,13 +47,13 @@
|
||||
OpenAI.detectInterfaceType(nativePath):
|
||||
if nativePath == "/v1/chat/completions": return CHAT
|
||||
if nativePath == "/v1/models": return MODELS
|
||||
if nativePath matches "^/v1/models/[^/]+$": return MODEL_INFO
|
||||
if nativePath startsWith "/v1/models/" and suffix is not empty: return MODEL_INFO
|
||||
if nativePath == "/v1/embeddings": return EMBEDDINGS
|
||||
if nativePath == "/v1/rerank": return RERANK
|
||||
return PASSTHROUGH
|
||||
```
|
||||
|
||||
**说明**:`detectInterfaceType` 由 OpenAI Adapter 实现,根据 OpenAI 协议的 URL 路径约定识别接口类型。
|
||||
**说明**:`detectInterfaceType` 由 OpenAI Adapter 实现,根据 OpenAI 协议的 URL 路径约定识别接口类型。网关剥离 `/openai` 协议前缀后,OpenAI Adapter 接收的 nativePath 保留 `/v1`。
|
||||
|
||||
### 2.3 接口能力矩阵
|
||||
|
||||
@@ -74,14 +74,16 @@ OpenAI.supportsInterface(type):
|
||||
```
|
||||
OpenAI.buildUrl(nativePath, interfaceType):
|
||||
switch interfaceType:
|
||||
case CHAT: return "/v1/chat/completions"
|
||||
case MODELS: return "/v1/models"
|
||||
case MODEL_INFO: return "/v1/models/{modelId}"
|
||||
case EMBEDDINGS: return "/v1/embeddings"
|
||||
case RERANK: return "/v1/rerank"
|
||||
case CHAT: return "/chat/completions"
|
||||
case MODELS: return "/models"
|
||||
case MODEL_INFO: return "/models/{modelId}"
|
||||
case EMBEDDINGS: return "/embeddings"
|
||||
case RERANK: return "/rerank"
|
||||
default: return nativePath
|
||||
```
|
||||
|
||||
**说明**:OpenAI 供应商 `base_url` 配置到版本路径一级,`buildUrl` 输出上游 path 时移除 nativePath 中的 `/v1`,避免拼接出重复版本段。
|
||||
|
||||
---
|
||||
|
||||
## 3. 请求头构建
|
||||
|
||||
Reference in New Issue
Block a user