diff --git a/rag/llm/embedding_model.py b/rag/llm/embedding_model.py index 6530e9b67..52656e46e 100644 --- a/rag/llm/embedding_model.py +++ b/rag/llm/embedding_model.py @@ -209,12 +209,15 @@ class QWenEmbed(Base): for i in range(0, len(texts), batch_size): retry_max = 5 resp = dashscope.TextEmbedding.call(model=self.model_name, input=texts[i : i + batch_size], api_key=self.key, text_type="document") - while resp["output"] is None and retry_max > 0: + while (resp["output"] is None or resp["output"].get("embeddings") is None) and retry_max > 0: time.sleep(10) resp = dashscope.TextEmbedding.call(model=self.model_name, input=texts[i : i + batch_size], api_key=self.key, text_type="document") retry_max -= 1 - if retry_max == 0 and resp["output"] is None: - log_exception(ValueError("Retry_max reached, calling embedding model failed")) + if retry_max == 0 and (resp["output"] is None or resp["output"].get("embeddings") is None): + if resp.get("message"): + log_exception(ValueError(f"Retry_max reached, calling embedding model failed: {resp['message']}")) + else: + log_exception(ValueError("Retry_max reached, calling embedding model failed")) raise try: embds = [[] for _ in range(len(resp["output"]["embeddings"]))]