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 相似度检索做准备。

相关新闻

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

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

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

2026/7/25 6:44:57 阅读更多 →
Wan2.2 Animate本地部署:ComfyUI实现角色一致性AI视频生成

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

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

2026/7/25 6:44:57 阅读更多 →
WPC Qi无线充电系统设计:从电磁感应原理到bq501210实战

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

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

2026/7/25 6:44:57 阅读更多 →

最新新闻

YOLOv8改进:农业果实图像分割系统实战

YOLOv8改进:农业果实图像分割系统实战

1. 项目概述:基于YOLOv8的枣子图像分割系统这个项目本质上是一个面向农业场景的果实识别与分割解决方案,核心创新点在于对YOLOv8-seg模型的深度改进。我在实际测试中发现,原版YOLOv8在复杂田间环境下对枣子的识别存在边缘模糊、小目标漏检等问…

2026/7/25 7:03:03 阅读更多 →
体育管理中的多目标决策与数据驱动建模

体育管理中的多目标决策与数据驱动建模

1. 项目背景与核心挑战2026年MCM美赛D题聚焦体育管理这一复杂系统工程,要求参赛者构建数学模型解决运动员表现预测、资源分配优化和赛事风险控制三大核心问题。这个赛题本质上考察的是多目标决策能力——如何在有限资源约束下,通过数据驱动的方法实现体育…

2026/7/25 7:03:03 阅读更多 →
智能分拣系统:计算机视觉在水产行业的应用实践

智能分拣系统:计算机视觉在水产行业的应用实践

1. 项目背景与核心价值去年夏天在杭州某水产市场调研时,我发现一个有趣现象:商户们每天凌晨3点就要开始手工分拣小龙虾,按个头大小分类计数,这个环节平均要耗费2-3小时。更麻烦的是,当某批次小龙虾出现损耗时&#xff…

2026/7/25 7:03:03 阅读更多 →
UG/OPEN C++二次开发实战:智能孔特征识别与自动标注

UG/OPEN C++二次开发实战:智能孔特征识别与自动标注

1. 项目概述:为什么选择UG/OPEN C进行二次开发?在工业设计和制造领域,UG NX(现在通常称为Siemens NX)是一个绕不开的巨无霸。无论是复杂的航空发动机叶片,还是精密的医疗器械模具,其背后往往都有…

2026/7/25 7:03:03 阅读更多 →
彻底解决C++调试中vcruntime140d_app.dll丢失问题

彻底解决C++调试中vcruntime140d_app.dll丢失问题

1. 项目概述:当C调试器拒绝启动时如果你是一名C开发者,尤其是在Windows平台上使用Visual Studio或者VSCode配合MSVC编译器,那么下面这个场景你一定不陌生:你精心编写了一段代码,准备按下F5开始调试,期待看到…

2026/7/25 7:03:03 阅读更多 →
Portainer可视化操作Redis容器全指南

Portainer可视化操作Redis容器全指南

1. Portainer管理Redis容器操作指南在容器化部署环境中,Portainer作为轻量级管理工具,为Redis等数据库容器提供了可视化操作入口。本文将详细介绍如何通过Portainer的Web终端功能安全高效地操作Redis实例,包含完整的连接流程、基础命令操作以…

2026/7/25 7:02:03 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻