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";
    }
}
相关推荐
小鸟你好啊5 小时前
搭建基于 Solon AI 的 Streamable MCP 服务并部署至阿里云百炼
人工智能·阿里云·云计算
Summer-Bright5 小时前
深度 | Agent框架大洗牌:AutoGen退场后的新秩序
人工智能·ai·语言模型·ai软件
ThsPool5 小时前
【遥感学习整理 02】ENVI遥感图像处理基础:从数据读取到遥感信息产品
图像处理·人工智能·学习
非凸科技5 小时前
非凸智能APP
人工智能
土星云SaturnCloud6 小时前
抽水蓄能设备智慧运营:基于土星云边缘计算实现机组全生命周期预测性维护
服务器·人工智能·ai·边缘计算
江畔柳前堤6 小时前
系统的本质——从LTI系统到神经网络
人工智能·深度学习·神经网络·机器学习·计算机视觉·数据挖掘·语音识别
HackTwoHub6 小时前
轻量化AI渗透武器库|ARTEX自主攻防系统、资产梳理、漏洞挖掘、链路分析全流程智能化落地
人工智能·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
中电金信6 小时前
WAIC 2026媒体聚焦:中电金信的AI工程化思考与实践
人工智能
冬奇Lab6 小时前
码库知识库系列(03):代码 Embedding 策略——原始代码反而比注释增强更好
人工智能
冬奇Lab6 小时前
开源项目第172期:agentOS — 以库的形式给 AI Agent 一个操作系统,冷启动 92x 更快、内存 47x 更少
人工智能·开源·agent