fix: Fix bug for issue #1669 (#1672)

Co-authored-by: WangTing <wangting@192.168.1.10>
Co-authored-by: aries_ckt <916701291@qq.com>
This commit is contained in:
Armandwt 2024-06-28 12:44:06 +08:00 committed by GitHub
parent 2eeef2fa75
commit cd2163e444
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 6 deletions

View File

@ -219,6 +219,7 @@ class KnowledgeDocumentDao(BaseDao):
) )
results = counts_query.all() results = counts_query.all()
session.close()
docs_count = {result.space: result.document_count for result in results} docs_count = {result.space: result.document_count for result in results}
return docs_count return docs_count
@ -253,7 +254,9 @@ class KnowledgeDocumentDao(BaseDao):
session = self.get_raw_session() session = self.get_raw_session()
updated_space = session.merge(document) updated_space = session.merge(document)
session.commit() session.commit()
return updated_space.id update_space_id = updated_space.id
session.close()
return update_space_id
# #
def raw_delete(self, query: KnowledgeDocumentEntity): def raw_delete(self, query: KnowledgeDocumentEntity):

View File

@ -220,9 +220,14 @@ class KnowledgeService:
document.status not in [SyncStatus.RUNNING.name] document.status not in [SyncStatus.RUNNING.name]
and len(chunk_entities) == 0 and len(chunk_entities) == 0
): ):
self._sync_knowledge_document( from dbgpt.serve.rag.service.service import Service
space_name=document.space,
doc=document, rag_service = Service.get_instance(CFG.SYSTEM_APP)
space = rag_service.get({"name": document.space})
document_vo = KnowledgeDocumentEntity.to_document_vo(documents)
await rag_service._sync_knowledge_document(
space_id=space.id,
doc_vo=document_vo[0],
chunk_parameters=chunk_parameters, chunk_parameters=chunk_parameters,
) )
knowledge = KnowledgeFactory.create( knowledge = KnowledgeFactory.create(

View File

@ -133,7 +133,7 @@ class ChromaStore(VectorStoreBase):
Chunk( Chunk(
content=chroma_result[0], content=chroma_result[0],
metadata=chroma_result[1] or {}, metadata=chroma_result[1] or {},
score=chroma_result[2], score=(1 - chroma_result[2]),
) )
) )
for chroma_result in zip( for chroma_result in zip(
@ -195,7 +195,7 @@ class ChromaStore(VectorStoreBase):
where_filters = {} where_filters = {}
filters_list = [] filters_list = []
condition = filters.condition condition = filters.condition
chroma_condition = f"${condition}" chroma_condition = f"${condition.value}"
if filters.filters: if filters.filters:
for filter in filters.filters: for filter in filters.filters:
if filter.operator: if filter.operator: