From cd2163e444709853862ad7669bc4a23a49982227 Mon Sep 17 00:00:00 2001 From: Armandwt Date: Fri, 28 Jun 2024 12:44:06 +0800 Subject: [PATCH] fix: Fix bug for issue #1669 (#1672) Co-authored-by: WangTing Co-authored-by: aries_ckt <916701291@qq.com> --- dbgpt/app/knowledge/document_db.py | 5 ++++- dbgpt/app/knowledge/service.py | 11 ++++++++--- dbgpt/storage/vector_store/chroma_store.py | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/dbgpt/app/knowledge/document_db.py b/dbgpt/app/knowledge/document_db.py index c8ce94da6..ae20ea24a 100644 --- a/dbgpt/app/knowledge/document_db.py +++ b/dbgpt/app/knowledge/document_db.py @@ -219,6 +219,7 @@ class KnowledgeDocumentDao(BaseDao): ) results = counts_query.all() + session.close() docs_count = {result.space: result.document_count for result in results} return docs_count @@ -253,7 +254,9 @@ class KnowledgeDocumentDao(BaseDao): session = self.get_raw_session() updated_space = session.merge(document) session.commit() - return updated_space.id + update_space_id = updated_space.id + session.close() + return update_space_id # def raw_delete(self, query: KnowledgeDocumentEntity): diff --git a/dbgpt/app/knowledge/service.py b/dbgpt/app/knowledge/service.py index b0c8c16e4..c4e2f2f9a 100644 --- a/dbgpt/app/knowledge/service.py +++ b/dbgpt/app/knowledge/service.py @@ -220,9 +220,14 @@ class KnowledgeService: document.status not in [SyncStatus.RUNNING.name] and len(chunk_entities) == 0 ): - self._sync_knowledge_document( - space_name=document.space, - doc=document, + from dbgpt.serve.rag.service.service import Service + + 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, ) knowledge = KnowledgeFactory.create( diff --git a/dbgpt/storage/vector_store/chroma_store.py b/dbgpt/storage/vector_store/chroma_store.py index 930579c48..5bd5ff59c 100644 --- a/dbgpt/storage/vector_store/chroma_store.py +++ b/dbgpt/storage/vector_store/chroma_store.py @@ -133,7 +133,7 @@ class ChromaStore(VectorStoreBase): Chunk( content=chroma_result[0], metadata=chroma_result[1] or {}, - score=chroma_result[2], + score=(1 - chroma_result[2]), ) ) for chroma_result in zip( @@ -195,7 +195,7 @@ class ChromaStore(VectorStoreBase): where_filters = {} filters_list = [] condition = filters.condition - chroma_condition = f"${condition}" + chroma_condition = f"${condition.value}" if filters.filters: for filter in filters.filters: if filter.operator: