news 2026/5/31 1:44:23

轻松入门SpringAI-SpringAI实现RAG

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
轻松入门SpringAI-SpringAI实现RAG

轻松入门 Spring AI · RAG(Retrieval-Augmented Generation)实现
(2026年主流实用写法 · 从最简单到生产可用)

RAG 是目前使用大模型最常见、最有效的增强方式之一:
让模型“先查资料,再回答”,大幅降低幻觉,提高答案准确性。

Spring AI 中 RAG 的几种主流实现难度对比(2026年初)

难度实现方式向量存储类型上手时间生产可用性推荐场景
★☆☆内存版(SimpleVectorStore)内存5~15分钟★☆☆学习、Demo、快速验证
★★☆文件+PGVectorPostgreSQL + pgvector1~3小时★★★★小型到中型项目、性价比高
★★★Chroma / Milvus / Redis专用向量数据库3~8小时★★★★★中大型项目、分布式、高并发
★★★★Elasticsearch / Weaviate搜索+向量混合6~15小时★★★★★已有ES集群、企业级

最推荐的入门组合(2026年最常用)

学习/快速上手首选
Spring AI 1.0.x + SimpleVectorStore(内存) + OpenAI/DeepSeek/通义千问 兼容接口

小项目/生产过渡推荐
PostgreSQL + pgvector + Spring AI PGVector Store

方式一:最简单内存版 RAG(5分钟能跑通)

@RestController@RequestMapping("/rag/easy")@RequiredArgsConstructorpublicclassEasyRagController{privatefinalChatClientchatClient;privatefinalEmbeddingModelembeddingModel;// 自动注入,通常跟随你选择的模型// 内存向量存储(项目重启就清空,适合学习)privatefinalVectorStorevectorStore=newSimpleVectorStore(embeddingModel);// 启动时自动加载知识(实际项目中可以做成定时任务/管理接口)@PostConstructpublicvoidinitKnowledge(){List<String>rawTexts=List.of("Spring AI 是 Spring 家族 2024~2025 年推出的官方大模型集成框架。","ChatClient 是最核心的高层抽象,类似以前的 RestTemplate。","目前最受欢迎的国内模型组合:DeepSeek-R1(推理)、DeepSeek-V3(综合)、通义千问-max(稳定)。","RAG 全称 Retrieval-Augmented Generation,中文叫检索增强生成。","好的 RAG 系统关键在于:高质量的切分、分块、Embedding、检索召回、上下文构建。");List<Document>documents=rawTexts.stream().map(text->Document.builder().content(text).metadata(Map.of("source","spring-ai-rag-intro","type","tutorial")).build()).toList();vectorStore.add(documents);}@GetMapping("/ask")publicStringaskQuestion(@RequestParamStringquestion){// 1. 检索最相似的 TopK 文档List<Document>similarDocs=vectorStore.similaritySearch(SearchRequest.query(question).withTopK(4)// 召回几条.withSimilarityThreshold(0.68)// 相似度阈值,可调);// 2. 构建上下文(最简单拼接方式)Stringcontext=similarDocs.stream().map(doc->doc.getContent()).collect(Collectors.joining("\n\n---\n\n"));// 3. 带上下文提问returnchatClient.prompt().system(""" 你现在是一位基于给定上下文回答问题的专家助手。 只使用下面提供的上下文信息来回答问题。 如果上下文里没有相关信息,就诚实地说不知道,不要编造。 上下文: {context} """).user(question).advisors(PromptTemplate.from("{context}").withVariable("context",context)).call().content();}}

测试例子
http://localhost:8080/rag/easy/ask?question=什么是RAG?它有什么关键点?

方式二:更接近生产的 PGVector 版(推荐小项目使用)

依赖

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-pgvector-store-spring-boot-starter</artifactId></dependency><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><scope>runtime</scope></dependency>

application.yml 配置示例

spring:ai:vectorstore:pgvector:initialize-schema:true# 第一次启动时自动建表index-type:HNSW# 或 IVFFlatdimensions:1536# 跟你的 embedding model 维度一致(text-embedding-3-small=1536)distance-type:COSINE# 余弦最常用datasource:url:jdbc:postgresql://localhost:5432/ragdbusername:postgrespassword:yourpassword

代码基本相同,只改 VectorStore 注入方式

@AutowiredprivateVectorStorevectorStore;// 会自动注入 PgVectorStore

其他使用方式几乎不变。

目前(2026年1月)推荐的 Embedding 模型选择

模型维度中文效果速度价格/本地推荐度
text-embedding-3-small (OpenAI)1536★★★★★★★★付费★★★★
bge-m3 (BAAI)1024★★★★★★★★免费/本地★★★★★
text-embedding-ada-0021536★★★★★★★★便宜★★★
moka-ai/m3e-base768★★★★☆★★★★本地免费★★★★
GTE-large-zh (Alibaba-NLP)1024★★★★★★★★本地/云★★★★½

一句话总结目前最舒服的入门 RAG 路径:

先用SimpleVectorStore + bge-m3 或 text-embedding-3-small跑通完整流程 →
理解原理后再迁移到PGVector / Chroma
再考虑高级切分、重排、HyDE、查询改写、多路召回等优化

需要我帮你把上面代码改成更完整的版本吗?
例如:

告诉我你想往哪个方向深入~ 😄

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 14:34:30

计算机小程序毕设实战-基于springboot+微信小程序的服装商城的设计与实现小程序基于微信小程序的在线服装商城店铺的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/30 15:36:45

吐血推荐10个一键生成论文工具,专科生毕业论文必备!

吐血推荐10个一键生成论文工具&#xff0c;专科生毕业论文必备&#xff01; 专科生的论文救星&#xff0c;AI 工具如何改变你的写作方式&#xff1f; 在如今的学术环境中&#xff0c;论文写作早已不再是单纯的文字堆砌&#xff0c;而是对逻辑、结构和内容深度的综合考验。尤其是…

作者头像 李华
网站建设 2026/5/29 21:26:03

(1-2)人形机器人的发展历史、趋势与应用场景:未来趋势与行业需求

1.2 未来趋势与行业需求随着具身智能、大模型与机器人核心硬件的快速发展&#xff0c;人形机器人正从技术验证阶段迈向面向真实场景的规模化应用阶段。未来的发展趋势不仅体现在智能水平的持续提升&#xff0c;更体现在对劳动力结构、生产方式与服务形态的深刻重塑。在制造业、…

作者头像 李华
网站建设 2026/5/28 15:24:11

4. 为什么 Triton 不够了

作者&#xff1a;HOS(安全风信子) 日期&#xff1a;2026-01-17 来源平台&#xff1a;GitHub 摘要&#xff1a; 2026年&#xff0c;随着大模型规模和复杂度的急剧增长&#xff0c;传统推理框架Triton Inference Server在处理现代推理场景时逐渐显现出局限性。本文深入剖析了Trit…

作者头像 李华