尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
KnowFlow Agent Day10:实现文档切片与数据保存
一、今天完成的内容今天继续开发 KnowFlow Agent主要完成了文档切片功能。前面的 Day08 和 Day09 已经实现了文档信息管理以及 Spring Boot 调用 FastAPI 解析文档。今天在这个基础上把解析后的长文本拆成多个较短的文本片段并保存到系统中为后续的 Embedding 和 RAG 检索做准备。本次新增了以下接口POST /api/documents/{id}/chunks GET /api/documents/{id}/chunks POST /ai/documents/chunk其中FastAPI 负责执行文本切片Spring Boot 负责业务处理和保存切片数据。二、什么是文档切片文档切片就是把一篇较长的文档拆成多个较短的文本片段。例如一份企业售后手册可能包含退货、退款、维修和物流等内容。如果直接把整份文档交给大模型不仅会浪费 Token还可能让模型难以找到真正相关的信息。切片之后系统可以只查找与用户问题最相关的几个片段再把这些内容交给大模型。整体流程如下长文档 ↓ 拆分成多个切片 ↓ 保存切片 ↓ 根据用户问题查找相关切片 ↓ 交给大模型生成回答三、chunkSize 是什么chunkSize表示每个切片允许包含的最大字符数。例如一篇文档有1000个字符chunkSize 500大约拆成2个切片 chunkSize 200大约拆成5个切片chunkSize不能设置得太大否则一个切片中可能包含很多无关内容影响检索准确率也不能设置得太小否则一句完整的话可能会被拆开。项目当前默认值为{ chunkSize: 500 }四、为什么需要 overlapoverlap表示相邻切片之间重复保留的字符数。假设一句话刚好在切片边界处被截断切片1用户可以在收到商品七天内 切片2申请退货运费由商家承担这两个切片单独来看表达的信息都不够完整。加入重叠内容后切片1用户可以在收到商品七天内 切片2收到商品七天内申请退货运费由商家承担第二个切片保留了前面的部分内容语义会更加完整。项目当前的默认配置为{ chunkSize: 500, overlap: 50 }表示每个切片最多500个字符相邻切片重复保留50个字符。五、切片是一个一个查找吗切片保存后并不是每次都从第一条开始逐个查找。后续系统会使用 Embedding把每个切片转换成一组数字也就是向量。用户的问题同样会被转换成向量然后通过向量检索找到语义最相近的几个切片。例如用户询问质量问题退货时运费由谁承担系统会找到类似下面的内容Top 1质量问题产生的退货运费由商家承担 Top 2用户可以在签收后七天内申请退货 Top 3退款将在审核通过后到账系统通常只把最相关的3到5个切片交给大模型不需要把整份知识库都发送过去。六、今天实现的业务流程今天实现的完整流程是Spring Boot 接收文档内容 ↓ 调用 FastAPI 切片接口 ↓ FastAPI 返回多个文本片段 ↓ Spring Boot 保存切片 ↓ 更新文档切片数量和解析状态切片数据可以使用内存保存也可以在启用 MySQL 后保存到kf_document_chunks表。当同一份文档重新切片时系统会先清除旧切片再保存新的结果避免产生重复数据。删除文档时对应的切片也会一起删除。七、接口请求示例生成文档切片POST /api/documents/1/chunks Content-Type: application/json请求内容{ content: 这里是一段需要进行切片的企业售后知识文本……, chunkSize: 500, overlap: 50 }查询文档切片GET /api/documents/1/chunks系统会按照切片序号从前到后返回该文档的所有切片。八、测试结果今天补充了切片生成、重叠内容和错误参数校验等测试。Spring Boot16个测试全部通过 FastAPI4个测试全部通过九、今天的总结通过今天的开发我理解了文档切片并不只是简单地把文章截成几段还要考虑切片大小、上下文重叠、重复切片和数据保存等问题。Day10 完成后项目已经能够把企业文档转换成适合检索的小段文本。下一步将学习 Embedding把这些切片转换成向量为真正的 RAG 相似度检索做准备。
RELATED

相关推荐

C++实现大型稀疏线性方程组迭代求解:从雅可比到共轭梯度法

C++实现大型稀疏线性方程组迭代求解:从雅可比到共轭梯度法

1. 项目概述:为什么选择迭代法?在数值计算的世界里,求解线性方程组Ax b是一个基础得不能再基础,却又无处不在的问题。从物理仿真中的有限元分析,到机器学习里的最小二乘拟合,再到图形学里的光照计算&#…

📅 2026/9/8 15:18:41
Wan2.2 Animate本地部署:ComfyUI实现角色一致性AI视频生成

Wan2.2 Animate本地部署:ComfyUI实现角色一致性AI视频生成

去年这个时候,AI 视频生成还停留在“能跑起来就不错”的阶段,画面闪烁、角色变形是家常便饭。但最近几个月,情况开始不一样了。特别是当我把 Wan2.2 Animate 工作流在 ComfyUI 上跑通后,第一次看到那个丝滑无闪烁的 4 秒视频输出时…

📅 2026/7/28 23:14:06
WPC Qi无线充电系统设计:从电磁感应原理到bq501210实战

WPC Qi无线充电系统设计:从电磁感应原理到bq501210实战

1. 无线充电技术核心:从电磁感应到WPC标准无线充电,或者说无线能量传输,现在已经不是什么新鲜概念了。从智能手机到电动牙刷,再到一些高端电动工具,我们身边支持无线充电的设备越来越多。但很多人可能只是觉得“放上去…

📅 2026/9/10 23:06:05
MORE NEWS

更多资讯

📰

AI工作流选型:3个隐形断点决定工具生死

1. 这不是工具测评,是一场持续147天的“AI生存实验”我从2023年10月开始,把日常工作中所有能被AI替代的环节——写周报、改PPT文案、查竞品资料、生成会议纪要、整理客户反馈、甚至给实习生写代码注释——全部交给AI来跑。不是试用一两天,而是…

📰

STM32嵌入式AI编程:从提示工程到硬件验证的全流程重构

1. 这不是“用AI写代码”,而是重构整个STM32开发范式我第一次把一个完整的STM32F407最小系统从零跑通FreeRTOSLVGL以太网协议栈,花了整整17天——光是CubeMX配置时钟树就卡了三天,反复核对参考手册第58页的PLL分频公式,手算出来的…

📰

变频器频繁启动的隐忧:热循环疲劳与IGBT寿命优化指南

搞设备的这些年,我对一句话越来越有体会:设备不是用坏的,而是“折腾”坏的。尤其是在用变频器驱动电机的场合,真正让一套驱动系统折寿的,往往不是连续运行的大负载,而是那些看起来不起眼的频繁启动。电梯、…

📰

Agent驱动的技术美术管线:从脚本到智能体的实战升级

开头我先说个真实场景:美术同学上周还在为两千张贴图批量改 sRGB 的事熬夜,昨天又开始给 UI 做按钮热区适配;TA 同事写的批处理脚本则越补越厚,最后连原作者自己都不敢动。Unreal 那边也一样,材质批量替换、Cesium 水印…

📰

Vue3实战案例合集:从响应式原理到状态管理的最佳实践

简介:这套基于Vue3的案例合集,围绕搜索历史记录、购物车、TodoList、回到顶部、图书管理等五类常见业务场景展开,适合正在学习Vue3或准备用其开发实际项目的开发者参考。资源共450个文件、压缩包仅3.17MB,其中以121个vue组件、106…

📰

圆桌论坛怎么听-Panel提问设计与价值获取方法

摘要 在技术大会的议程中,圆桌论坛(Panel)常被视为"茶歇前奏"——听众放松、内容发散、记不住要点。但在 2026 奇点智能技术大会(11 月 20-21 日 北京万达文华酒店)的议程架构中,Keynote 之后紧…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬