fix: rare embedding issue.
This commit is contained in:
@@ -107,10 +107,16 @@ class NanoVectorDBStorage(BaseVectorStorage):
|
|||||||
embeddings = await f
|
embeddings = await f
|
||||||
embeddings_list.append(embeddings)
|
embeddings_list.append(embeddings)
|
||||||
embeddings = np.concatenate(embeddings_list)
|
embeddings = np.concatenate(embeddings_list)
|
||||||
|
if len(embeddings) == len(list_data):
|
||||||
for i, d in enumerate(list_data):
|
for i, d in enumerate(list_data):
|
||||||
d["__vector__"] = embeddings[i]
|
d["__vector__"] = embeddings[i]
|
||||||
results = self._client.upsert(datas=list_data)
|
results = self._client.upsert(datas=list_data)
|
||||||
return results
|
return results
|
||||||
|
else:
|
||||||
|
# sometimes the embedding is not returned correctly. just log it.
|
||||||
|
logger.error(
|
||||||
|
f"embedding is not 1-1 with data, {len(embeddings)} != {len(list_data)}"
|
||||||
|
)
|
||||||
|
|
||||||
async def query(self, query: str, top_k=5):
|
async def query(self, query: str, top_k=5):
|
||||||
embedding = await self.embedding_func([query])
|
embedding = await self.embedding_func([query])
|
||||||
|
Reference in New Issue
Block a user