fix(cache): 兼容元组形式的 embedding_result
get_embedding 方法的返回值可能是一个包含向量和模型名称的元组
This commit is contained in:
committed by
Windpicker-owo
parent
dcecd9cf7d
commit
64e3d6d56b
@@ -134,7 +134,9 @@ class CacheManager:
|
|||||||
if semantic_query and self.embedding_model:
|
if semantic_query and self.embedding_model:
|
||||||
embedding_result = await self.embedding_model.get_embedding(semantic_query)
|
embedding_result = await self.embedding_model.get_embedding(semantic_query)
|
||||||
if embedding_result:
|
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:
|
if validated_embedding is not None:
|
||||||
query_embedding = np.array([validated_embedding], dtype='float32')
|
query_embedding = np.array([validated_embedding], dtype='float32')
|
||||||
|
|
||||||
@@ -250,12 +252,14 @@ class CacheManager:
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 写入语义缓存
|
# 写入语义缓存
|
||||||
if semantic_query and self.embedding_model:
|
if semantic_query and self.embedding_model and self.chroma_collection:
|
||||||
|
try:
|
||||||
embedding_result = await self.embedding_model.get_embedding(semantic_query)
|
embedding_result = await self.embedding_model.get_embedding(semantic_query)
|
||||||
if embedding_result:
|
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:
|
if validated_embedding is not None:
|
||||||
try:
|
|
||||||
embedding = np.array([validated_embedding], dtype='float32')
|
embedding = np.array([validated_embedding], dtype='float32')
|
||||||
# 写入 L1 Vector
|
# 写入 L1 Vector
|
||||||
new_id = self.l1_vector_index.ntotal
|
new_id = self.l1_vector_index.ntotal
|
||||||
|
|||||||
Reference in New Issue
Block a user