Skip to content

Commit 70fb7ad

Browse files
committed
fix: enhance error handling for Embedding API responses
1 parent f77170f commit 70fb7ad

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

  • apps/models_provider/impl/siliconCloud_model_provider/model

apps/models_provider/impl/siliconCloud_model_provider/model/embedding.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
@desc:
88
"""
99
from typing import Dict, List
10-
10+
from common.utils.logger import maxkb_logger
1111
import requests
1212

1313
from models_provider.base_model_provider import MaxKBBaseModel
@@ -51,10 +51,13 @@ def embed_query(self, text: str) -> list:
5151

5252
response = requests.post(self.base_url + '/embeddings', json=payload, headers=headers)
5353
data = response.json()
54-
if data['data'] is None or 'code' in data:
55-
raise ValueError(f"Embedding API returned no data: {data}")
56-
# 假设返回结构中有 'data[0].embedding'
57-
return data["data"][0]["embedding"]
54+
if isinstance(data, dict):
55+
if data['data'] is None or 'code' in data:
56+
raise ValueError(f"Embedding API returned no data: {data}")
57+
# 假设返回结构中有 'data[0].embedding'
58+
return data["data"][0]["embedding"]
59+
else:
60+
maxkb_logger.error(f"Unexpected response from Embedding API: {data}")
5861

5962
def embed_documents(self, texts: list) -> list:
6063
return [self.embed_query(text) for text in texts]

0 commit comments

Comments
 (0)