完善整个示例,并增加查询测试模式

This commit is contained in:
2025-04-10 07:18:52 +08:00
parent 211db332c0
commit 6356f53ef7
4 changed files with 238 additions and 105 deletions
+26 -2
View File
@@ -1,3 +1,4 @@
import json
from pathlib import Path
from typing import List
@@ -19,7 +20,7 @@ def main():
# 初始化知识库
knowledge_base = initialize_mingci_knowledge_base()
LoadKnowledgeToDatabase(knowledge_base, mingci_knowledge_source_dir)
LoadMingCiKnowledgeToDatabase(knowledge_base, mingci_knowledge_source_dir)
knowledge_source_dir = os.getenv("KNOWLEDGE_SOURCE_DIR")
if knowledge_source_dir and os.path.exists(knowledge_source_dir):
@@ -28,6 +29,30 @@ def main():
LoadKnowledgeToDatabase(knowledge_base, knowledge_source_dir)
def LoadMingCiKnowledgeToDatabase(knowledge_base, knowledge_source_dir):
logger.info(f"加载知识库: {knowledge_source_dir}")
for root, _, files in os.walk(knowledge_source_dir):
for file in files:
file_path = os.path.join(root, file)
file_ext = os.path.splitext(file)[1][1:] # 获取文件扩展名
reader = get_reader(file_ext)
if reader:
try:
docs = []
with open(file_path, 'r', encoding='utf-8') as f:
json_obj = json.load(f)
for item in json_obj:
file_contents = "{}\n 同义词: {}".format(item["name"], item["synonymous"])
docs.append(Document(
name=item["name"],
id=item["name"],
content=file_contents,
))
knowledge_base.load_documents(docs, upsert=True)
except Exception as e:
logger.warning(f"无法加载文档 {file_path}: {str(e)}")
def LoadKnowledgeToDatabase(knowledge_base, knowledge_source_dir):
logger.info(f"加载知识库: {knowledge_source_dir}")
for root, _, files in os.walk(knowledge_source_dir):
@@ -43,6 +68,5 @@ def LoadKnowledgeToDatabase(knowledge_base, knowledge_source_dir):
except Exception as e:
logger.warning(f"无法加载文档 {file_path}: {str(e)}")
if __name__ == "__main__":
main()