2.3 KiB
基于知识库项目进行问答。
输入: /lyxy-kb-ask 后的参数为项目名称,可选附带问题。例如:
/lyxy-kb-ask my-project— 进入问答模式/lyxy-kb-ask my-project 这个系统用了什么技术栈?— 直接提问
前置条件: 查找并阅读名为 lyxy-kb 的 skill,了解渐进式查询策略和来源引用格式。
步骤
-
获取项目名称并验证结构
从参数中获取项目名称。如果未提供参数,提示用户输入。
按照 lyxy-kb skill「结构完整性验证」规则检查项目目录,不完整则提示用户先 init。
-
加载项目摘要
读取
<project-name>/project.md,获取项目概述和文件索引。按照 lyxy-kb skill「空知识库」规则,如果文件索引为空(尚无已入库文件),告知用户知识库为空,建议先使用
/lyxy-kb-ingest <project-name>入库文档,终止操作。 -
进入问答模式
如果用户在参数中附带了问题,直接回答该问题。否则提示用户可以开始提问。
对每个问题,按照 lyxy-kb skill「渐进式查询策略」执行:
a) 分析问题与文件索引的关联
根据用户的问题内容,对照 project.md 文件索引表中各文件的摘要,判断需要查阅哪些 parsed 文件。
b) 按需加载 parsed 文件
读取相关的
<project-name>/parsed/<文件名>.md文件。如果文件较大,可以先提取标题结构,再读取相关章节。c) 回答并标注来源
基于获取的信息回答问题。按照 lyxy-kb skill「来源引用格式」标注来源:
根据《文件名》(parsed/文件名.md),...如果回答综合了多个文件的信息,分别标注各信息点的来源。
d) 无相关信息处理
按照 lyxy-kb skill「无相关信息」规则,明确告知用户当前知识库中未找到相关信息,不编造答案。
-
保持会话上下文
回答完成后,保持当前的知识库上下文。用户可以继续提问,无需每次重新加载 project.md。已加载的 parsed 文件内容可在后续问答中复用。
会话的退出由用户自然决定(开启新话题或新会话),不主动终止问答模式。