Ver código fonte

pref: optimize add hit count query performance when dataset hit (#2436)

tags/0.5.5
takatost 1 ano atrás
pai
commit
e1045f01c6
Nenhuma conta vinculada ao e-mail do autor do commit

+ 8
- 4
api/core/callback_handler/index_tool_callback_handler.py Ver arquivo

@@ -42,12 +42,16 @@ class DatasetIndexToolCallbackHandler:
def on_tool_end(self, documents: list[Document]) -> None:
"""Handle tool end."""
for document in documents:
doc_id = document.metadata['doc_id']
query = db.session.query(DocumentSegment).filter(
DocumentSegment.index_node_id == document.metadata['doc_id']
)

# if 'dataset_id' in document.metadata:
if 'dataset_id' in document.metadata:
query = query.filter(DocumentSegment.dataset_id == document.metadata['dataset_id'])

# add hit count to document segment
db.session.query(DocumentSegment).filter(
DocumentSegment.index_node_id == doc_id
).update(
query.update(
{DocumentSegment.hit_count: DocumentSegment.hit_count + 1},
synchronize_session=False
)

Carregando…
Cancelar
Salvar