mirror of
https://github.com/RYDE-WORK/Langchain-Chatchat.git
synced 2026-02-06 06:49:48 +08:00
fix kb_doc_api.py
This commit is contained in:
parent
3f045cedb9
commit
7f89efee4b
@ -54,7 +54,7 @@ async def upload_doc(file: UploadFile = File(description="上传文件"),
|
|||||||
kb_file = KnowledgeFile(filename=file.filename,
|
kb_file = KnowledgeFile(filename=file.filename,
|
||||||
knowledge_base_name=knowledge_base_name)
|
knowledge_base_name=knowledge_base_name)
|
||||||
kb = KnowledgeBase.load(knowledge_base_name=knowledge_base_name)
|
kb = KnowledgeBase.load(knowledge_base_name=knowledge_base_name)
|
||||||
kb.add_file(kb_file)
|
kb.add_doc(kb_file)
|
||||||
|
|
||||||
return BaseResponse(code=200, msg=f"成功上传文件 {file.filename}")
|
return BaseResponse(code=200, msg=f"成功上传文件 {file.filename}")
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ async def recreate_vector_store(knowledge_base_name: str):
|
|||||||
knowledge_base_name=kb_name)
|
knowledge_base_name=kb_name)
|
||||||
print(f"processing {kb_file.filepath} to vector store.")
|
print(f"processing {kb_file.filepath} to vector store.")
|
||||||
kb = KnowledgeBase.load(knowledge_base_name=kb_name)
|
kb = KnowledgeBase.load(knowledge_base_name=kb_name)
|
||||||
kb.add_file(kb_file)
|
kb.add_doc(kb_file)
|
||||||
yield json.dumps({
|
yield json.dumps({
|
||||||
"total": len(docs),
|
"total": len(docs),
|
||||||
"finished": i + 1,
|
"finished": i + 1,
|
||||||
|
|||||||
@ -149,7 +149,7 @@ def list_docs_from_db(kb_name):
|
|||||||
conn.close()
|
conn.close()
|
||||||
return kbs
|
return kbs
|
||||||
|
|
||||||
def add_file_to_db(kb_file: KnowledgeFile):
|
def add_doc_to_db(kb_file: KnowledgeFile):
|
||||||
conn = sqlite3.connect(DB_ROOT_PATH)
|
conn = sqlite3.connect(DB_ROOT_PATH)
|
||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
# Create table
|
# Create table
|
||||||
@ -163,6 +163,7 @@ def add_file_to_db(kb_file: KnowledgeFile):
|
|||||||
file_version INTEGER,
|
file_version INTEGER,
|
||||||
create_time DATETIME) ''')
|
create_time DATETIME) ''')
|
||||||
# Insert a row of data
|
# Insert a row of data
|
||||||
|
# TODO: 同名文件添加至知识库时,file_version增加
|
||||||
c.execute(f"""INSERT INTO knowledge_files
|
c.execute(f"""INSERT INTO knowledge_files
|
||||||
(file_name, file_ext, kb_name, document_loader_name, text_splitter_name, file_version, create_time)
|
(file_name, file_ext, kb_name, document_loader_name, text_splitter_name, file_version, create_time)
|
||||||
VALUES
|
VALUES
|
||||||
@ -219,7 +220,7 @@ class KnowledgeBase:
|
|||||||
vector_store = FAISS.from_documents(docs, embeddings) # docs 为Document列表
|
vector_store = FAISS.from_documents(docs, embeddings) # docs 为Document列表
|
||||||
torch_gc()
|
torch_gc()
|
||||||
vector_store.save_local(vs_path)
|
vector_store.save_local(vs_path)
|
||||||
add_file_to_db(kb_file)
|
add_doc_to_db(kb_file)
|
||||||
refresh_vs_cache(self.kb_name)
|
refresh_vs_cache(self.kb_name)
|
||||||
elif self.vs_type in ["milvus"]:
|
elif self.vs_type in ["milvus"]:
|
||||||
# TODO: 向milvus库中增加文件
|
# TODO: 向milvus库中增加文件
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user