修改知识库范围

This commit is contained in:
2025-04-09 14:21:18 +08:00
parent 0ddf56a52a
commit b6b697efdb
4 changed files with 58 additions and 25 deletions
+25 -16
View File
@@ -5,7 +5,7 @@ from agno.document import Document
from agno.utils.log import logger
from dotenv import load_dotenv
from agentic_rag import initialize_knowledge_base, get_reader
from agentic_rag import initialize_knowledge_base, get_reader, initialize_mingci_knowledge_base
# 加载.env文件
load_dotenv()
@@ -14,25 +14,34 @@ import os
def main():
print("Hello from agno-agentic-rag!")
# 从.env加载知识库来源目录并初始化知识库
load_knowledge = os.getenv("LOAD_KNOWLEDGE", "false").lower() == "true"
mingci_knowledge_source_dir = os.getenv("MINGCI_KNOWLEDGE_SOURCE_DIR")
if mingci_knowledge_source_dir and os.path.exists(mingci_knowledge_source_dir):
# 初始化知识库
knowledge_base = initialize_mingci_knowledge_base()
LoadKnowledgeToDatabase(knowledge_base, mingci_knowledge_source_dir)
knowledge_source_dir = os.getenv("KNOWLEDGE_SOURCE_DIR")
if load_knowledge and knowledge_source_dir and os.path.exists(knowledge_source_dir):
if knowledge_source_dir and os.path.exists(knowledge_source_dir):
# 初始化知识库
knowledge_base = initialize_knowledge_base()
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:
filePath = Path(file_path)
docs: List[Document] = reader.read(filePath)
knowledge_base.load_documents(docs, upsert=True)
except Exception as e:
logger.warning(f"无法加载文档 {file_path}: {str(e)}")
LoadKnowledgeToDatabase(knowledge_base, knowledge_source_dir)
def LoadKnowledgeToDatabase(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:
filePath = Path(file_path)
docs: List[Document] = reader.read(filePath)
knowledge_base.load_documents(docs, upsert=True)
except Exception as e:
logger.warning(f"无法加载文档 {file_path}: {str(e)}")
if __name__ == "__main__":