|
@@ -137,9 +137,19 @@ class TongyiTextEmbeddingModel(_CommonTongyi, TextEmbeddingModel):
|
|
|
input=text,
|
|
|
text_type="document",
|
|
|
)
|
|
|
- data = response.output["embeddings"][0]
|
|
|
- embeddings.append(data["embedding"])
|
|
|
- embedding_used_tokens += response.usage["total_tokens"]
|
|
|
+ if response.output and "embeddings" in response.output and response.output["embeddings"]:
|
|
|
+ data = response.output["embeddings"][0]
|
|
|
+ if "embedding" in data:
|
|
|
+ embeddings.append(data["embedding"])
|
|
|
+ else:
|
|
|
+ raise ValueError("Embedding data is missing in the response.")
|
|
|
+ else:
|
|
|
+ raise ValueError("Response output is missing or does not contain embeddings.")
|
|
|
+
|
|
|
+ if response.usage and "total_tokens" in response.usage:
|
|
|
+ embedding_used_tokens += response.usage["total_tokens"]
|
|
|
+ else:
|
|
|
+ raise ValueError("Response usage is missing or does not contain total tokens.")
|
|
|
|
|
|
return [list(map(float, e)) for e in embeddings], embedding_used_tokens
|
|
|
|