恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Spring AI 12 · DocumentReader 读取多种格式

  • 首页
  • 资讯中心
  • /
  • Spring AI 12 · DocumentReader 读取多种格式

相关资讯

AI文本水印技术解析:从Claude隐形水印到Unwatermark破解 2026/8/26 1:25:52
企业级智能招聘推荐系统架构与算法实践 2026/8/26 1:25:52
自指内生‑递归分层体系下自相似对数螺旋与黄金分割的拓扑必然性严格推导 2026/8/26 1:20:51

最新资讯

机器学习驱动的智能招聘推荐系统设计与实践
Oracle数据库面试23个核心考点与优化实战
Java转Vue3技术栈的面试实战与转型策略
面试录像转文字工具横评与高效转录技巧
机器学习误差计算详解:从MAE到AUC避开评估陷阱
深度学习重塑生物医学信号分析:从特征工程到语义挖掘的范式跃迁

今日推荐

Python random 模块常用函数详解:从入门到实战
Hermes接入团队协作后,我推翻了三个效率假设
免费AI大模型调教指南:打造专属网文写作助手

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Spring AI 12 · DocumentReader 读取多种格式

发布时间:2026/8/26 1:25:52
Spring AI 12 · DocumentReader 读取多种格式 12 · DocumentReader 读取多种格式 学完能做什么用 Spring AI 的 DocumentReader 把 TXT/PDF/Markdown/JSON 等真实文件读成 Document 列表为分块和灌库做准备。⏱️ 预计耗时40 分钟含动手 依赖前置第 09 章Document 难度一句话DocumentReader 是 ETL 的第一步「读」负责把各种格式的文件统一读成ListDocument屏蔽格式差异。1. ETL 全景Reader 在哪一环RAG 灌库其实是一条 ETL 流水线Reader读── Splitter切块── 富化 metadata ── Embedding ── VectorStore灌 ↑本章 第13章 第14章 第7章 第8/9章本章只管第一环把文件读进来。2. 各格式对应的 Reader 与依赖Spring AI 为不同格式提供了不同 Reader多数需额外加依赖格式Reader依赖 artifactTXT / 纯文本TextReader核心自带PDFPagePdfDocumentReader/ParagraphPdfDocumentReaderspring-ai-pdf-document-readerMarkdownMarkdownDocumentReaderspring-ai-markdown-document-readerJSONJsonReader核心自带Word/HTML 等TikaDocumentReaderspring-ai-tika-document-reader 拿不准格式或格式很杂时TikaDocumentReader是万金油底层用 Apache Tika支持几十种格式。3. TextReader读纯文本ComponentclassTxtIngest{Value(classpath:/docs/faq.txt)privateResourcefaq;ListDocumentread(){TextReaderreadernewTextReader(faq);reader.getCustomMetadata().put(source,faq.txt);// 给读出的 doc 打标returnreader.get();// 返回 ListDocument}}4. PDF按页 or 按段落// 依赖spring-ai-pdf-document-readerValue(classpath:/docs/manual.pdf)privateResourcepdf;ListDocumentreadPdf(){// 按页读每页一个 Documentmetadata 自动带 page 页码PagePdfDocumentReaderreadernewPagePdfDocumentReader(pdf);returnreader.get();}PagePdfDocumentReader每页一个 Document自动带页码 metadata利于溯源第 21 章。ParagraphPdfDocumentReader按 PDF 书签/段落结构切结构化更好但依赖 PDF 本身有目录结构。5. Markdown保留结构// 依赖spring-ai-markdown-document-readerValue(classpath:/docs/guide.md)privateResourcemd;ListDocumentreadMd(){MarkdownDocumentReaderConfigconfigMarkdownDocumentReaderConfig.builder().withHorizontalRuleCreateDocument(true)// 遇到 --- 分文档.withIncludeCodeBlock(false)// 是否把代码块并入.withIncludeBlockquote(false).build();returnnewMarkdownDocumentReader(md,config).get();}Markdown 的标题层级是天然的切分线索配合下一章的分块效果更好。6. Tika万能格式Word/PPT/HTML…// 依赖spring-ai-tika-document-readerValue(classpath:/docs/policy.docx)privateResourcedocx;ListDocumentreadAny(){returnnewTikaDocumentReader(docx).get();}7. 读取后先检查再进入下一环读出来别急着灌先看看质量避免「垃圾进垃圾出」ListDocumentdocsreader.get();System.out.println(读到 docs.size() 个文档);docs.stream().limit(2).forEach(d-{System.out.println(内容片段: d.getText().substring(0,Math.min(80,d.getText().length())));System.out.println(metadata: d.getMetadata());});常见问题PDF 扫描件是图片读出空文本需 OCR、编码乱码、页眉页脚噪音等。8. 常见坑现象原因 / 处理PDF 读出来是空的扫描版图片 PDF需先 OCR中文乱码文件编码问题TextReader 可指定 charset缺依赖ClassNotFound对应 Reader 的 artifact 没加一个大 PDF 读成一个巨长 Document正常交给下一章分块处理9. 一句话总结DocumentReader 是 ETL 的「读」TXT/JSON 核心自带PDF/Markdown 各有专用 Reader格式杂就用万能的 Tika读出ListDocument后先检查质量再交给分块。➡️ 下一章13-TextSplitter文档分块.md把读进来的长文档切成大小合适的 chunk这是检索质量的关键一环。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号