add functions to get kb and doc details from db

This commit is contained in:
liunux4odoo 2023-08-08 23:57:39 +08:00
parent 717ddf4d10
commit 532ed81ecf
2 changed files with 34 additions and 0 deletions

View File

@ -42,3 +42,18 @@ def delete_kb_from_db(session, kb_name):
if kb: if kb:
session.delete(kb) session.delete(kb)
return True return True
@with_session
def get_kb_detail(session, kb_name: str) -> dict:
kb: KnowledgeBaseModel = session.query(KnowledgeBaseModel).filter_by(kb_name=kb_name).first()
if kb:
return {
"kb_name": kb.kb_name,
"vs_type": kb.vs_type,
"embed_model": kb.embed_model,
"file_count": kb.file_count,
"create_time": kb.create_time,
}
else:
return {}

View File

@ -56,3 +56,22 @@ def doc_exists(session, kb_file: KnowledgeFile):
existing_file = session.query(KnowledgeFileModel).filter_by(file_name=kb_file.filename, existing_file = session.query(KnowledgeFileModel).filter_by(file_name=kb_file.filename,
kb_name=kb_file.kb_name).first() kb_name=kb_file.kb_name).first()
return True if existing_file else False return True if existing_file else False
@with_session
def get_file_detail(session, kb_name: str, filename: str) -> dict:
file: KnowledgeFileModel = (session.query(KnowledgeFileModel)
.filter_by(file_name=filename,
kb_name=kb_name).first())
if file:
return {
"kb_name": file.kb_name,
"file_name": file.file_name,
"file_ext": file.file_ext,
"file_version": file.file_version,
"document_loader": file.document_loader_name,
"text_splitter": file.text_splitter_name,
"create_time": file.create_time,
}
else:
return {}