新闻详情

新闻详情

首页 / 资讯中心 / 详情

NocoBase 工作流 AI 知识库节点实战:用数据库事件触发器实现业务数据与知识库的增删改同步

发布时间:2026/9/15 12:42:52来源:尧图网络
NocoBase 工作流 AI 知识库节点实战:用数据库事件触发器实现业务数据与知识库的增删改同步
NocoBase 工作流 AI 知识库节点实战用数据库事件触发器实现业务数据与知识库的增删改同步【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase导读本文讲解 NocoBase 中「AI 知识库节点」的完整用法通过「Collection event」数据库事件触发器监听业务表的增、删、改事件配合「Create document / Update document / Delete document」三个异步节点把业务数据实时同步到 AI 知识库再通过「Retrieve document」节点把知识库片段检索出来作为上下文喂给下游 AI 员工节点完成问答任务。读完本文你将掌握一套可复制的「业务表 ⇄ 知识库」双向同步链路数据入库即建文档、数据更新即覆盖文档、数据删除即清理文档并理解Key字段在整个同步链路中的核心作用。本组文档对应插件为nocobase/plugin-ai-knowledge-base文章原始出处见 工作流 AI 知识库节点概述。核心概念AI 知识库节点是什么AI 知识库节点是一组可以在工作流中直接操作知识库文档的节点它让知识库内容不再是「手动上传、手动维护」的静态资产而是可以跟随业务数据自动变化业务数据新增时自动在知识库中创建一篇文档业务数据更新时自动用最新内容覆盖知识库中的同一篇文档业务数据删除时自动从知识库中删除对应文档需要问答时用检索文档节点把知识库片段取出来交给 AI。这样知识库内容始终与业务表保持一致后续 AI 员工或其他流程就可以基于这些知识库文档提供检索、问答等能力。这组节点都是异步节点创建工作流时必须选择异步执行。所谓异步是指节点提交后立即返回真正的写库、分段、向量化在后台进行因此节点执行完成 ≠ 文档立即可检索需要等「Documents」列表中的「Status」变为Success后再做分段检查或命中测试。示例场景QA 知识库同步本文使用一个 QA 场景作为贯穿示例后台维护标准答案以及每条答案对应的常见问法。工作流把答案正文和关联问题一起同步到同一个目标知识库后续 AI 员工或其他流程基于这些文档回答用户提问。示例中涉及两张业务表数据表作用Answers保存可同步到知识库的答案内容是知识库文档的来源表Questions保存答案对应的常见问法通过关系字段挂在答案下面同步规则新增答案→ 创建知识库文档修改答案→ 更新知识库文档删除答案→ 删除知识库文档Questions不作为独立的知识库文档来源它通过Answers.questions关系字段补充同一条答案可能对应的不同问法。同步前需要先准备一个 Local 知识库并配置好文件存储、向量数据库、LLM 服务和 Embedding model相关配置见 知识库概述 和 向量数据库。知识库名称可按环境自行设置后续创建、更新、删除三条工作流只要选择同一个知识库即可。Answers 表结构设计Answers表主要使用三个字段字段用途Title作为知识库文档名称Content作为知识库文档正文questions关联到Questions表补充相关问题questions是一个一对多关系字段源表是Answers目标表是Questions源键和目标键都使用ID外键保存在Questions表中。这个关系字段在创建和更新文档时会被预加载Preload associations从而把关联问题写入分段的「Related questions」让一条答案不仅能通过正文被检索到也能通过常见问法被检索到。:::tip 如果你的知识库文档不需要相关问题可以不配置类似questions的关系字段。只要有稳定的Key字段和正文内容就可以完成创建、更新、删除同步。 :::工作流分工一条数据、三条链路这组示例的核心是三条同步工作流它们处理同一批Answers数据、写入同一个目标知识库场景触发方式使用节点作用新增答案Answers表After record added「Create document」把新增答案写入 AI 知识库更新答案Answers表After record updated「Update document」用同一个Key更新知识库文档删除答案Answers表After record deleted「Delete document」用同一个Key删除知识库文档其中Key是同步链路里最重要的字段。创建、更新、删除三个流程必须使用同一套Key规则示例中直接使用Answers表记录 IDAnswers.ID。这样无论数据在哪个环节变化都能精确锁定知识库中的同一篇文档。文本内容的入库与向量化配置创建或更新文档节点时如果「Document type」选择Text工作流会先把「Content」中选择的文本字段保存成一份.txt文档再写入目标知识库。随后知识库会按当前分段参数生成分段并把启用中的分段及其关联问题一起向量化存入知识库绑定的向量数据库。这个过程以异步节点执行。节点完成不代表文档已经可以立即被检索通常需要等「Documents」列表中的「Status」变为Success后再做分段检查或命中测试。创建文档同步链路的起点创建文档节点用于向 AI 知识库写入新文档。它监听Answers表的新增记录把答案正文、文档名称、关联问题和稳定的Key一起写入目标知识库。完整说明见 创建文档。配置触发器新建异步工作流后触发器选择「Collection event」在触发器配置中「Collection」选择需要同步的数据表比如Main / Answers「Trigger on」选择After record added如果文档需要带上关联表里的字段在「Preload associations」里预加载关联字段示例预加载questions。配置创建文档节点在触发器后添加「Create document」节点关键配置项如下配置项示例配置说明「Knowledge base」目标知识库选择概述中准备好的同一个 Local 知识库。工作流会在这个知识库的「Documents」列表中创建一篇文档并进入后续分段和向量化流程。「Split document」No控制是否把正文拆成多个分段。示例里一条答案本身就是完整回答关闭拆分后整篇文档会作为一个分段更适合和「Related questions」一起命中同一条答案。「Related questions」Answers.questions.content只有关闭「Split document」后才会生效。把常见问法写入当前分段的「Related questions」它不会改写正文但会参与检索用来提升同义问法、常见问法的命中效果。「Document type」Text使用文本字段创建知识库文档。如果业务表里保存的是附件或文件地址再改用Attachment。「Content」Answers.Content选择答案正文作为知识库文档正文。后续在分段管理中看到的「Content」就来自这里。「Key」Answers.ID设置知识库文档的唯一标识。示例使用Answers记录 ID这样更新和删除工作流可以用同一个Key精确找到这篇文档。「Name」Answers.Title设置知识库文档名称方便在「Documents」列表中查看文档状态、进入分段管理和做命中测试。:::warning 「Key」会作为后续更新和删除知识库文档的依据。创建、更新、删除三个工作流必须使用同一套 Key 规则通常直接使用业务表记录 ID。如果「Related questions」需要引用关联表字段触发器里必须先配置「Preload associations」。否则节点执行时只能拿到当前Answers记录本身拿不到关联的questions数据。 :::更新文档用同一个 Key 覆盖内容更新文档节点用于更新 AI 知识库里已有的文档。它监听Answers表的更新记录用和创建文档相同的Key找到目标知识库里的文档并用最新字段内容重新写入。完整说明见 更新文档。配置触发器触发器选择「Collection event」配置要点「Collection」选择需要监听的数据表比如Main / Answers「Trigger on」选择After record updated「Changed fields」可按需限制触发字段比如只监听标题或正文变化不选择时任意字段变化都会触发该工作流如果节点需要使用关联字段在「Preload associations」里预加载。配置更新文档节点更新文档节点的参数和创建文档基本一致继续选择同一个目标知识库、同样的分段方式、同样的正文和标题字段如果需要同步关联问题继续使用Answers.questions.content。最需要注意的是「Key」是必填参数且必须与创建文档节点完全一致。示例继续使用Answers.ID节点才能找到同一篇知识库文档并覆盖它的内容。:::warning 如果找不到对应Key的文档更新会失败。配置前先确保创建文档工作流已经用同一个Key创建过文档。 :::删除文档清理已移除的数据删除文档节点用于从 AI 知识库中删除指定文档。它监听Answers表的删除事件用和创建文档相同的Key删除目标知识库里的对应文档避免已经移除的数据继续被检索出来。完整说明见 删除文档。配置触发器触发器选择「Collection event」「Collection」选择需要监听的数据表比如Main / Answers「Trigger on」选择After record deleted。删除文档只需要找到对应文档的Key通常不需要预加载关联字段。配置删除文档节点删除文档节点只需要定位要删除的文档不需要重新传入正文、标题或关联问题配置项示例配置说明「Knowledge base」目标知识库选择和创建、更新文档节点相同的知识库。「Key」Answers.ID选择和创建文档节点完全一致的字段确保删除的是这条答案对应的知识库文档。:::warning 删除节点不会根据标题或正文查找文档只会根据「Knowledge base」和「Key」定位文档。创建、更新、删除三个流程里的Key必须一致。 :::检索文档把知识库片段交给 AI 员工检索文档节点用于在工作流里搜索 AI 知识库并返回匹配的文档片段。它适合放在 AI 员工节点之前先用任务输入检索知识库再把检索结果传给 AI 员工作为任务处理的上下文。完整说明见 检索文档。示例工作流监听Questions表的新增记录把检索文本传给「Retrieve document」节点再把检索结果交给下游「AI employee」节点处理任务。实际业务里AI 员工生成的处理结果通常还需要保存起来后面继续接数据库操作节点示例为了聚焦检索节点省略了保存结果的后续节点。配置触发器「Collection」选择检索文本来源表比如Main / Questions「Trigger on」选择After record added。这样每新增一条输入记录工作流就会自动进入检索和任务处理流程。配置检索文档节点在触发器后添加「Retrieve document」节点建议把节点 key 改成容易引用的名称比如retrieve_docs。关键配置项「Knowledge base」选择一个或多个要检索的知识库「Input matching text」选择检索文本字段「Top K」设置最多返回的片段数量「Score」设置最低相似度阈值。节点执行后会返回一个文档片段数组每个结果包含id、content、score、metadata字段并按score从高到低排序。传递给 AI 员工节点在「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。AI 员工节点的配置方式见 AI 员工节点配置。:::tip 如果只想传递片段正文可以在变量选择器中引用检索结果里的content字段。直接传整个结果数组则会同时带上score和metadata便于 AI 判断片段来源和相关度。 :::验证同步链路配置完创建、更新、删除三条工作流后可以用同一条Answers记录检查完整同步链路。新增答案后按下面的顺序检查进入目标知识库的「Documents」确认新增文档已经出现并且「Status」为Success。详细用法见 知识库文档管理。点击该文档的「Segments」确认分段里的「Related questions」包含Answers.questions里的常见问法。详细用法见 分段管理。进入「Hit tests」输入答案正文关键词或关联问题确认可以命中刚同步的答案。详细用法见 命中测试。新增同步正常后继续修改这条Answers记录确认目标知识库里的文档内容随之更新最后删除这条记录确认目标知识库里的对应文档被删除。小结本文以 QA 场景为例完整覆盖了 NocoBase 工作流 AI 知识库节点的四条核心用法Create document新增业务数据时把内容、名称、Key与关联问题写入知识库Update document业务数据更新时用同一Key覆盖知识库文档Delete document业务数据删除时用同一Key清理知识库文档Retrieve document检索知识库片段作为上下文传递给 AI 员工节点。贯穿始终的设计准则是同一目标知识库 同一套Key规则 触发器预加载关联字段。只要业务表有稳定的Key字段与正文内容这套「创建 → 更新 → 删除 → 检索」的模式就可以平移到任何需要保持业务数据与知识库一致的真实场景中。由于节点均为异步执行别忘了在验证时等待文档「Status」变为Success再进入分段与命中测试环节。【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ScyllaDB Nodetool statusbackup 详解:增量备份状态查询命令的用法与底层原理 2026/9/15 13:40:02

ScyllaDB Nodetool statusbackup 详解:增量备份状态查询命令的用法与底层原理

ScyllaDB Nodetool statusbackup 详解:增量备份状态查询命令的用法与底层原理 【免费下载链接】scylladb NoSQL data store using the Seastar framework, compatible with Apache Cassandra and Amazon DynamoDB 项目地址: https://gitcode.com/GitHub_Trending/…

阅读更多 →
ModNet轻量级人像抠图模型在安卓端的Paddle Lite部署全流程解析 2026/9/15 13:40:02

ModNet轻量级人像抠图模型在安卓端的Paddle Lite部署全流程解析

简介:这份资源是基于飞桨PaddleSeg的ModNet算法实现的人像抠图安卓版Demo,面向移动端视觉开发者、AI应用学习者以及嵌入式系统工程师。它能帮助解决在手机等移动设备上高效分离人物与背景的问题,直观演示深度学习大模型在资源受限环境中的部署…

阅读更多 →
Midday 的 Runway 计算为什么把负债排除在现金余额之外? 2026/9/15 13:40:02

Midday 的 Runway 计算为什么把负债排除在现金余额之外?

Midday 的 Runway 计算为什么把负债排除在现金余额之外? 【免费下载链接】midday Invoicing, Time tracking, File reconciliation, Storage, Financial Overview & your own Assistant made for Freelancers 项目地址: https://gitcode.com/GitHub_Trending/…

阅读更多 →
NocoBase FlowEngine 事件流(Event Flow)全解析:静态流、动态流与联动规则的事件驱动编排 2026/9/15 13:40:02

NocoBase FlowEngine 事件流(Event Flow)全解析:静态流、动态流与联动规则的事件驱动编排

NocoBase FlowEngine 事件流(Event Flow)全解析:静态流、动态流与联动规则的事件驱动编排 【免费下载链接】nocobase NocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everythi…

阅读更多 →
Cataclysm-DDA 模组实战解析:Backrooms 全室内世界生成转换模组 2026/9/15 13:40:02

Cataclysm-DDA 模组实战解析:Backrooms 全室内世界生成转换模组

Cataclysm-DDA 模组实战解析:Backrooms 全室内世界生成转换模组 【免费下载链接】Cataclysm-DDA Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world. 项目地址: https://gitcode.com/GitHub_Trending/ca/Cataclysm-DDA …

阅读更多 →
用C++编写2048小游戏:数组设计、合并算法与实现全解析 2026/9/15 13:37:01

用C++编写2048小游戏:数组设计、合并算法与实现全解析

翻到两年前写的2048小游戏代码,忍不住还是觉得这个项目对C新手来说太合适了。当时我刚学完C语法,指针、引用、vector这些概念背得滚瓜烂熟,但让我独立写点东西就发懵。后来在地铁上玩了几把2048,突然意识到这个游戏逻辑并不复杂&a…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞