diff --git a/rag/llm/embedding_model.py b/rag/llm/embedding_model.py index 28a2d5261..1e82bd621 100644 --- a/rag/llm/embedding_model.py +++ b/rag/llm/embedding_model.py @@ -606,6 +606,8 @@ class SILICONFLOWEmbed(Base): "encoding_format": "float", } res = requests.post(self.base_url, json=payload, headers=self.headers).json() + if "data" not in res or not isinstance(res["data"], list) or len(res["data"])!= len(texts): + raise ValueError(f"SILICONFLOWEmbed.encode got invalid response from {self.base_url}") return ( np.array([d["embedding"] for d in res["data"]]), res["usage"]["total_tokens"], @@ -618,6 +620,8 @@ class SILICONFLOWEmbed(Base): "encoding_format": "float", } res = requests.post(self.base_url, json=payload, headers=self.headers).json() + if "data" not in res or not isinstance(res["data"], list) or len(res["data"])!= 1: + raise ValueError(f"SILICONFLOWEmbed.encode_queries got invalid response from {self.base_url}") return np.array(res["data"][0]["embedding"]), res["usage"]["total_tokens"]