fix provier error
This commit is contained in:
1 parent
0d8963a6e7
commit
6bf47c5337
2 files changed
+9
-2
No files matched your search
+1
-1
@@ -110,7 +110,7 @@
|
||||
- 系统内部模型 key 格式:
|
||||
- `{provider_name}/{model_name}`
|
||||
- 代理接口请求体中的 `model` 必须使用该格式
|
||||
- 转发给上游前,`ProxyService` 会把模型名裁剪成最后一段真实模型名
|
||||
- 转发给上游前,`ProxyService` 会只移除 `provider_name/` 前缀,保留真实模型名剩余部分原样不变
|
||||
|
||||
## 模型探测链路
|
||||
- `ProviderController.fetch_models()`
|
||||
|
||||
@@ -52,7 +52,7 @@ class ProxyService:
|
||||
|
||||
body = dict(request_data)
|
||||
body = provider.apply_input_body_hook(request_ctx, body)
|
||||
body["model"] = model_name.rsplit("/", 1)[-1]
|
||||
body["model"] = self._get_upstream_model_name(provider.name, model_name)
|
||||
return headers, body, request_ctx
|
||||
|
||||
for attempt in range(max_retries):
|
||||
@@ -156,6 +156,13 @@ class ProxyService:
|
||||
retryable_status_codes = {408, 409, 425, 429, 500, 502, 503, 504}
|
||||
return status_code in retryable_status_codes
|
||||
|
||||
@staticmethod
|
||||
def _get_upstream_model_name(provider_name: str, requested_model_name: str) -> str:
|
||||
prefix = f"{provider_name}/"
|
||||
if requested_model_name.startswith(prefix):
|
||||
return requested_model_name[len(prefix):]
|
||||
return requested_model_name
|
||||
|
||||
def _get_http_session(self) -> requests.Session:
|
||||
session = getattr(self._http_local, "session", None)
|
||||
if session is None:
|
||||
|
||||
Reference in new issue
Block a user