fix(cache): 兼容元组形式的 embedding_result

get_embedding 方法的返回值可能是一个包含向量和模型名称的元组
This commit is contained in:
minecraft1024a
2025-08-19 20:19:51 +08:00
parent 0364c38152
commit 9149407370

View File

@@ -134,7 +134,9 @@ class CacheManager:
if semantic_query and self.embedding_model:
embedding_result = await self.embedding_model.get_embedding(semantic_query)
if embedding_result:
validated_embedding = self._validate_embedding(embedding_result)
# embedding_result是一个元组(embedding_vector, model_name),取第一个元素
embedding_vector = embedding_result[0] if isinstance(embedding_result, tuple) else embedding_result
validated_embedding = self._validate_embedding(embedding_vector)
if validated_embedding is not None:
query_embedding = np.array([validated_embedding], dtype='float32')
@@ -263,7 +265,9 @@ class CacheManager:
try:
embedding_result = await self.embedding_model.get_embedding(semantic_query)
if embedding_result:
validated_embedding = self._validate_embedding(embedding_result)
# embedding_result是一个元组(embedding_vector, model_name),取第一个元素
embedding_vector = embedding_result[0] if isinstance(embedding_result, tuple) else embedding_result
validated_embedding = self._validate_embedding(embedding_vector)
if validated_embedding is not None:
embedding = np.array([validated_embedding], dtype='float32')
# 写入 L1 Vector