refac
This commit is contained in:
1 parent
75db531c12
commit
248315de14
1 file changed
+7
-3
@@ -713,15 +713,19 @@ async def update_file_data_content_by_id(
|
|||||||
knowledges = await Knowledges.get_knowledges_by_file_id(id, db=db)
|
knowledges = await Knowledges.get_knowledges_by_file_id(id, db=db)
|
||||||
for knowledge in knowledges:
|
for knowledge in knowledges:
|
||||||
try:
|
try:
|
||||||
# Remove old embeddings for this file from the KB collection
|
old_vectors = await ASYNC_VECTOR_DB_CLIENT.query(collection_name=knowledge.id, filter={'file_id': id})
|
||||||
await ASYNC_VECTOR_DB_CLIENT.delete(collection_name=knowledge.id, filter={'file_id': id})
|
old_vector_ids = old_vectors.ids[0] if old_vectors and old_vectors.ids else []
|
||||||
# Re-add from the now-updated file-{file_id} collection
|
|
||||||
|
# Re-add from the now-updated file-{file_id} collection before
|
||||||
|
# removing old vectors, so a failed reindex keeps the KB usable.
|
||||||
await process_file(
|
await process_file(
|
||||||
request,
|
request,
|
||||||
ProcessFileForm(file_id=id, collection_name=knowledge.id),
|
ProcessFileForm(file_id=id, collection_name=knowledge.id),
|
||||||
user=user,
|
user=user,
|
||||||
db=db,
|
db=db,
|
||||||
)
|
)
|
||||||
|
if old_vector_ids:
|
||||||
|
await ASYNC_VECTOR_DB_CLIENT.delete(collection_name=knowledge.id, ids=old_vector_ids)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.warning(f'Failed to update knowledge {knowledge.id} after content change for file {id}: {e}')
|
log.warning(f'Failed to update knowledge {knowledge.id} after content change for file {id}: {e}')
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user