docs/docs/cn/ai-employees/workflow/nodes/knowledge/retrieve-document.md
<PluginInfo name="ai-knowledge-base"></PluginInfo>
在 NocoBase 中,检索文档节点用于在工作流里搜索 AI 知识库,并返回匹配的文档片段。它适合放在 AI 员工节点之前:先用任务输入检索知识库,再把检索结果传给 AI 员工,作为任务处理的上下文。
检索文档节点是异步节点。使用前需要先配置好知识库,并确保知识库里已有向量化完成的文档。
示例工作流监听 Questions 表的新增记录,把检索文本传给「Retrieve document」节点,再把检索结果交给下游「AI employee」节点处理任务。
其中:
实际业务里,AI 员工生成的处理结果通常还需要保存起来,后面会继续接数据库操作节点。这里为了聚焦检索节点,省略了保存结果的后续节点。
下面的示例是独立的检索流程。开始配置前,先确认:
Questions 表触发器选择「Collection event」。在触发器配置中:
Main / QuestionsAfter record added这样每新增一条输入记录,工作流就会自动进入检索和任务处理流程。
在触发器后添加「Retrieve document」节点。建议把节点 key 改成容易引用的名称,比如 retrieve_docs。
关键配置如下:
节点执行后会返回一个文档片段数组。每个结果包含 id、content、score、metadata 字段,并按 score 从高到低排序。
在「AI employee」节点中,把检索结果写入提示词。示例里直接引用了检索节点的输出:
Task input: {{$context.data.f_b2izf5j4xx0}}
Knowledge base snippets:
{{$jobsMapByNodeKey.retrieve_docs}}
Use the snippets as context to complete the task. If the snippets are not enough, explain what information is missing.
其中 retrieve_docs 是检索节点的 key。如果你的节点 key 不同,需要替换成实际 key。
:::tip
如果只想传递片段正文,可以在变量选择器中引用检索结果里的 content 字段。直接传整个结果数组则会同时带上 score 和 metadata,便于 AI 判断片段来源和相关度。
:::