Spring AI文档切片

添加依赖:

bash 复制代码
   <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-tika-document-reader</artifactId>
        </dependency>

Java代码:

java 复制代码
package com.zkwm.springai.rag;

import org.springframework.ai.document.Document;
import org.springframework.ai.reader.tika.TikaDocumentReader;
import org.springframework.ai.transformer.splitter.TokenTextSplitter;
import org.springframework.ai.vectorstore.VectorStore;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/docChunk")
public class DocumentChunkController {
    @Autowired
    private VectorStore vectorStore;

    @GetMapping("/processAndStore")
    public String processAndStore(String filePath) {

        TokenTextSplitter splitter = TokenTextSplitter.builder()
                .withChunkSize(500)    // 每块最大 Token 数
                .withMinChunkSizeChars(50)   // 最小字符数
                .withMaxNumChunks(10000)     // 最大分块数
                .withKeepSeparator(true)     // 保留分隔符
                .build();
        // 1. 读取文档(PDF/Word/TXT)
        TikaDocumentReader reader = new TikaDocumentReader(new FileSystemResource(filePath));
        List<Document> documents = reader.read();
        // 2. 文档切片(核心)
        List<Document> chunks = splitter.apply(documents);
        // 3. 向量化并存入向量库
        vectorStore.add(chunks);
        return "ok";
    }
}
相关推荐
Chengbei112 分钟前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构
QN1幻化引擎13 分钟前
DalinX Phi 性能突破:跨层秩保持对齐与意识涌现度量的实证研究
人工智能·ai·架构·agi·asi
NeilCarmack14 分钟前
Deepseek-harness增加桌面版端序列:第 1 讲 · 命令解析:`pnpm dsh desktop` 的第一步
人工智能·agent·ai agent
龙兵AI增长破局圈.赵老师讲成交21 分钟前
只有把过程管好,结果才会出来。
大数据·人工智能·ai·创业创新
最强小杰27 分钟前
gpt-5.6-sol 频繁报 503 怎么办?区分容量熔断和限速 429 的排查方法 + 可复用 retry wrapper
java·人工智能·gpt·ai
天天代码码天天41 分钟前
我做了一个只有一个 EXE 的本地 Markdown 编辑器:lw.MD(简墨)
人工智能
AI的探索之旅44 分钟前
97 个 OpenCV 实例(七):SIMD 向量化,给像素处理装上涡轮增压
人工智能·opencv·计算机视觉
不可求~1 小时前
用 AI 读论文别只看摘要:建立可追溯的证据链
人工智能·深度学习·机器学习
狙击主力投资工具1 小时前
通达信软件手机app和电脑使用手册教程.内含160多个.mpv版使用手册
人工智能
飞翔的火箭弹1 小时前
伊顿电力模块技术参数深度解析:AI算力时代高集成供配电方案选型参考
人工智能