From 17ddee38a47e7316d50e0d226115431cb244822b Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Thu, 10 Aug 2023 15:02:41 +0800 Subject: [PATCH] fix conflict between def_fastchat and pr1037 --- configs/config.py | 14 -------------- configs/model_config.py.example | 15 ++++++++++++++- .../db/repository/knowledge_file_repository.py | 16 +++++++++------- server/knowledge_base/kb_service/base.py | 3 +-- .../knowledge_base/kb_service/pg_kb_service.py | 7 +++---- 5 files changed, 27 insertions(+), 28 deletions(-) delete mode 100644 configs/config.py diff --git a/configs/config.py b/configs/config.py deleted file mode 100644 index 0c64404..0000000 --- a/configs/config.py +++ /dev/null @@ -1,14 +0,0 @@ -kbs_config = { - "faiss": { - }, - "milvus": { - "host": "127.0.0.1", - "port": "19530", - "user": "", - "password": "", - "secure": False, - }, - "pg": { - "connection_uri": "postgresql://postgres:postgres@192.168.50.128:5432/langchain_chatgml", - } -} diff --git a/configs/model_config.py.example b/configs/model_config.py.example index f4744b7..f893d57 100644 --- a/configs/model_config.py.example +++ b/configs/model_config.py.example @@ -149,7 +149,20 @@ BING_SEARCH_URL = "https://api.bing.microsoft.com/v7.0/search" # 是因为服务器加了防火墙,需要联系管理员加白名单,如果公司的服务器的话,就别想了GG BING_SUBSCRIPTION_KEY = "" - +kbs_config = { + "faiss": { + }, + "milvus": { + "host": "127.0.0.1", + "port": "19530", + "user": "", + "password": "", + "secure": False, + }, + "pg": { + "connection_uri": "postgresql://postgres:postgres@192.168.50.128:5432/langchain_chatgml", + } +} # 是否开启中文标题加强,以及标题增强的相关配置 # 通过增加标题判断,判断哪些文本为标题,并在metadata中进行标记; diff --git a/server/db/repository/knowledge_file_repository.py b/server/db/repository/knowledge_file_repository.py index 37197ce..13c60c8 100644 --- a/server/db/repository/knowledge_file_repository.py +++ b/server/db/repository/knowledge_file_repository.py @@ -1,5 +1,3 @@ -import datetime - from server.db.models.knowledge_base_model import KnowledgeBaseModel from server.db.models.knowledge_file_model import KnowledgeFileModel from server.db.session import with_session @@ -24,11 +22,15 @@ def add_doc_to_db(session, kb_file: KnowledgeFile): existing_file.file_version += 1 # 否则,添加新文件 else: - session.add(KnowledgeFileModel(file_name=kb_file.filename, - file_ext=kb_file.ext, - document_loader_name=kb_file.document_loader_name, - text_splitter_name=kb_file.text_splitter_name - )) + new_file = KnowledgeFileModel( + file_name=kb_file.filename, + file_ext=kb_file.ext, + kb_name=kb_file.kb_name, + document_loader_name=kb_file.document_loader_name, + text_splitter_name=kb_file.text_splitter_name, + ) + kb.file_count += 1 + session.add(new_file) return True diff --git a/server/knowledge_base/kb_service/base.py b/server/knowledge_base/kb_service/base.py index 48ca142..ce6909d 100644 --- a/server/knowledge_base/kb_service/base.py +++ b/server/knowledge_base/kb_service/base.py @@ -5,11 +5,10 @@ import os from langchain.embeddings.base import Embeddings from langchain.docstore.document import Document -from configs.config import kbs_config from server.db.repository.knowledge_base_repository import add_kb_to_db, delete_kb_from_db, list_kbs_from_db, kb_exists, load_kb_from_db from server.db.repository.knowledge_file_repository import add_doc_to_db, delete_file_from_db, doc_exists, \ list_docs_from_db -from configs.model_config import (DB_ROOT_PATH, VECTOR_SEARCH_TOP_K, +from configs.model_config import (DB_ROOT_PATH, kbs_config, VECTOR_SEARCH_TOP_K, embedding_model_dict, EMBEDDING_DEVICE, EMBEDDING_MODEL) from server.knowledge_base.utils import (get_kb_path, get_doc_path, load_embeddings, KnowledgeFile) from typing import List, Union diff --git a/server/knowledge_base/kb_service/pg_kb_service.py b/server/knowledge_base/kb_service/pg_kb_service.py index 8c5df9c..33fb38c 100644 --- a/server/knowledge_base/kb_service/pg_kb_service.py +++ b/server/knowledge_base/kb_service/pg_kb_service.py @@ -5,10 +5,9 @@ from langchain.schema import Document from langchain.vectorstores import PGVector from sqlalchemy import text -from configs.config import kbs_config -from configs.model_config import EMBEDDING_DEVICE -from server.knowledge_base.kb_service.base import KBService, load_embeddings, SupportedVSType -from server.knowledge_base.utils import KnowledgeFile +from configs.model_config import EMBEDDING_DEVICE, kbs_config +from server.knowledge_base.kb_service.base import SupportedVSType +from server.knowledge_base.utils import KBService, load_embeddings, KnowledgeFile class PGKBService(KBService):