VeapAI 实战(五)AI 资料处理与知识内容初始化

发布时间:2026/10/26 10:56:17

VeapAI 实战(五)AI 资料处理与知识内容初始化 摘要本文是 VeapAI 企业 AI 知识库实战系列的第五篇聚焦 AI 资料处理与知识内容初始化。文章从「解析只是有原料、还不是有知识」切入讲解如何把页级片段加工成可溯源的知识点随后给出 ai_knowledge_entry 与 ai_knowledge_entry_source 两张核心表的设计说明知识点本体、来源映射、快照同步唯一键与审核开放状态再走读页面操作与源码入口重点剖析快照同步的 upsert 与物理删除逻辑以及大模型输出 sourceRefs 只能引用 segment_id 的硬约束最后给出复现步骤并预告下一篇「一键向量化」的工程要点。# 从零打通企业 AI 知识库全链路VeapAI 实战五AI 资料处理与知识内容初始化 关键词知识库构建、知识点生成、知识溯源 | 首发CSDN | 同步知乎 / 掘金![本系列 8 步流程总览当前⑤ AI 资料处理与知识内容初始化]## 解析完只是有原料还不是有知识第 4 篇的产物是页级片段是原料。这一步要把片段变成知识点一条知识点讲清楚一件事同时记住自己来自哪份文件的哪一页。后者就是知识溯源也是后面问答点回原文的地基。## 表设计知识点 来源映射ai_knowledge_entry 关键字段| 字段 | 说明 || ---- | ---- || topic_id | 归属主题standard_id 归属元数据标准 || code | 序号信息配合 (topicId, standardId, code) 做快照同步的唯一键 || title / content / summary / keywords | 知识点本体 || metadata | 元数据 JSON结构由 ai_metadata_field.schema_json 定义 || approval_status / open_status | 审核状态、开放状态默认 0 || external_ref | 向量化后回写的 Milvus 关联 ID |表格里没列的一个字段也值得知道semantic_template_id语义模板主键。第 2 篇提过语义模板的取值链路topic_code → 知识主题 → 元数据标准 → 元数据字段生成知识点正文时按模板拼装模板挂在主题和知识点上。知识点长什么样不是模型自由发挥是模板定好的骨架。ai_knowledge_entry_source 是溯源映射表字段几乎都是外键| 字段 | 说明 || ---- | ---- || knowledge_entry_id | 知识点 || file_data_id | 源附件 || doc_asset_id | 文档资产 || doc_content_id | 精确到片段 || page_from / page_to | 页码区间 || anchor_text / quote_text | 短锚文本、引用摘录 || locator_json | 打开预览的定位参数 || source_order | 1 表示主来源 |uk_entry_source_ref(tenant_id, knowledge_entry_id, doc_content_id) 保证一个知识点对同一个片段只有一条来源记录。知识点可以挂多个来源跨文件综合但每对关系唯一。![核心表关系 ER 图简化版只标关键属性与核心联动]## 页面操作![资料附件管理 - AI 处理]「AI 知识库 → 资料附件管理」里选资料配好 agent、元数据标准、提示词、模型点 AI 处理。ai_file_datas.ai_status 从待处理走到已处理。处理结果落在知识内容页views/ai/knowledgeEntry/每条知识点有标题、正文、元数据 JSON来源列能看到来自哪份文件第几页点开直接定位到预览页对应片段。## 源码走读入口com.veap.ai.controller.AiFileDatasControllerbasePath /aiFileDatas、AiKnowledgeEntryController/knowledgeEntry、AiKnowledgeEntrySourceController。知识内容的写入有一条重要的路快照同步。textPOST /knowledgeEntry/syncSnapshotAiKnowledgeEntry请求体{ topicId, standardId, entries: [...] }语义以 (topicId, standardId, code) 为唯一键 upsert数据库里存在但快照缺失的 code 会物理删除。前端保存命令 kbBuild.knowledgeEntry.syncSnapshot 构造 entries 时必须把 businessId / sourceType / sourceInfo / ext 带上后端 AiKnowledgeEntryServiceImpl.syncSnapshotAiKnowledgeEntry 负责原样入库。溯源字段的推荐口径在开发文档里写死了source_typeFILE_DATAsource_infofileDataIdbusiness_idaiFileId。三件套入库审计链条才完整。## 一处值得注意的约束大模型输出的 sourceRefs 只允许引用 ai_doc_content.segment_id。这是硬约束写在表注释里。意义在于模型输出的引用永远可验证——拿 segment_id 查片段、查页码、打开预览一步都不会断。不约束的后果就是模型自己编页码你还没法证伪。## 审核与开放两道闸ai_knowledge_entry 上有两个状态字段approval_status审核状态和 open_status开放状态默认都是 0。为什么 AI 生成的内容还要人工审政策问答这类场景答错要担责。模型生成的知识点可能有断章取义。语义模板执行服务里新生成的知识点是 setOpenStatus(0)——先不开放审核通过后由人工开放。生成、审核、开放分三步走每一步都在表上有状态可查。这层设计也可以理解成流程上的插件化现在审核是人工点按钮将来要接自动化审核规则比如来源页码校验换的是审核环节的实现不改知识内容的数据结构。## 复现把第 4 篇解析完的两份 PDF 走一遍 AI 处理检查知识内容页每条知识点都有来源记录page_from 与预览页一致locator_json 能打开预览定位。再试一次快照同步确认缺失的 code 被物理删除、新增的被 upsert。下一篇是整套链路里工程含量最高的一篇一键向量化job / run / item 三级审计和 etag 幂等怎么落地。仓库含表结构与设计文档https://gitee.com/mindock/veap
延伸阅读

更多相关文章

2026/10/25 11:01:18

WorkBuddy深度解析:用Skill与自定义指令构建个人AI工作台

早上我打开 WorkBuddy,把一份 200 行的会议记录拖进去,让它按“结论、待办、负责人、截止时间”整理成表;接着又让它把产品需求里重复出现的关键词统计出来;最后让它按我平时写周报的习惯,把前一天的项目进展生成一段 …

2026/10/25 3:56:59

全栈开发工程师就是个神话

在企业招募人员的职务说明里边, 常常会出现“全栈开发工程师(full stack)”这个词语。然而, Hello的联合创办人兼首席技術官Scott, 于最近发布的一篇网络日志里表明, 全栈开发工程师乃是一个虚构的传说, 就算不全是这样, 出钱找人员的一方也很难寻觅到这…

2026/10/25 3:57:26

数学建模实战:从VRP问题到遗传算法求解的完整流程与代码实现

简介:本资源为2026年第十六届MathorCup数学应用挑战赛(“妈妈杯”)B题的全流程参赛解决方案,面向高校数学建模参赛队、竞赛指导教师及建模入门学习者,旨在解决赛题理解难、模型构建慢、代码实现卡点、论文撰写不规范等…

2026/10/26 10:52:35

哈希表原理与内存优化实践

1. 哈希散列的本质:从数学映射到内存实现 哈希表的核心思想源于数学中的映射概念。想象一个图书馆,每本书都有唯一的索书号,管理员通过索书号能直接定位到书架位置,而不需要逐本查找。哈希函数就是这个"索书号生成器"&a…

2026/10/26 10:52:35

Linux命令实战:从基础操作到高效运维技巧

1. Linux命令概述与核心价值 在计算机技术领域,Linux系统以其开源、稳定和高效的特点,成为服务器、嵌入式设备和开发环境的首选操作系统。而Linux命令则是与这个系统交互的核心工具链,掌握它们就像获得了一把打开系统管理大门的万能钥匙。无论…

2026/10/26 10:52:35

VSCode+Qt6+CMake跨平台开发环境配置指南

1. 为什么选择VSCodeQt6CMake组合? 在嵌入式开发和跨平台GUI开发领域,这套工具链正在成为越来越多开发者的首选方案。我最初从Qt Creator转向这个组合时,主要基于以下几个实际考量: 首先,VSCode的轻量级特性&#xff…

2026/10/26 10:52:35

静态页面移动端适配:核心挑战与最佳实践

1. 静态页面移动端适配的核心挑战 上周接手公司官网改版项目时,产品经理拿着最新的用户数据找我:"现在移动端访问占比已经突破78%,但跳出率居高不下,特别是iPad用户平均停留时间只有手机端的1/3..." 这个现象背后&#…

2026/10/26 10:52:35

代码质量度量与改进:从基础指标到定制化实践

1. 代码质量度量的本质与价值 在软件工程领域,代码质量度量从来都不是简单的数字游戏。那个从90%到99.9%的跨越,实际上代表着开发团队从"能用就行"到"工业级可靠"的质变过程。我经历过一个电商系统重构项目,当代码质量评…

2026/10/26 10:47:34

Kubernetes资源管理:Requests与Limits最佳实践

1. Kubernetes资源管理基础概念 在Kubernetes集群中运行应用时,资源管理是确保应用稳定性和集群健康的关键环节。每个Pod都需要明确声明其资源需求,这样调度器才能做出合理的决策。 资源请求(Requests)和限制(Limits)是Kubernetes资源管理的两个核心概念…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/26 0:20:17

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/26 0:00:48

Nested Learning:解决AI灾难性遗忘的分层记忆架构

1. 为什么AI需要"记忆"能力?在传统深度学习模型中,我们常遇到一个根本性问题:模型在处理新任务时,往往会完全遗忘之前学到的知识。这种现象被业界称为"灾难性遗忘"(Catastrophic Forgetting)。想象一下&#…

2026/10/26 0:00:48

企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战

1. 这不是“用大模型”,而是重构工作流的起点“大模型的应用和工具”——这八个字现在被贴在无数技术分享、招聘JD、内部立项书的标题栏里,但绝大多数人点进去后看到的,是零散的API调用示例、几个开源UI截图、或者一句“接入LLM就能降本增效”…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑