def add_knowledge_from_sub_knowledge_list(self, summary_text, sub_knowledge_list):
为具有子知识列表的知识总结创建一个JSON文件来存储子知识,并将知识总结添加到知识库中。
summary_text (str): 知识总结的文本。
sub_knowledge_list (list): 子知识的列表,每个子知识通常包含文本描述等信息。
if not summary_text or not isinstance(summary_text, str):
logger.error("summary_text 必须是非空字符串。")
if not isinstance(sub_knowledge_list, list):
logger.error("sub_knowledge_list 必须是列表。")
sub_knowledge_file = f"../resource/knowledge/{hash(summary_text)}_sub_knowledge.json"
sub_knowledge_content = {
"summary_text": summary_text,
"sub_knowledge_list": sub_knowledge_list
with open(sub_knowledge_file, 'w', encoding="utf-8") as file:
json.dump(sub_knowledge_content, file, ensure_ascii=False, indent=4)
logger.error(f"写入子知识文件时发生错误: {e}")
logger.info(f"为知识总结:{summary_text} 添加了子知识文件:{sub_knowledge_file}")
self.add_knowledge_from_text(summary_text, sub_knowledge_file)
return sub_knowledge_file