当前位置: 首页 > news >正文

SpringAI+Qwen3-8B打造本地知识库系统!代码+教程,速收藏!

本文介绍了如何使用SpringAI框架结合Qwen3-8B大模型、bge-large-zh-v1.5嵌入模型和Milvus向量数据库,搭建一个本地知识库系统。文章详细阐述了环境准备、数据集准备、代码编写、模型配置等步骤,并提供了完整的代码实现。读者可以参考本文,快速搭建自己的本地知识库系统,并收藏以备后续使用。


使用SpringAI + Qwen3-8B + bge-large-zh-v1.5 + milvus 实现本地构建知识库系统

一、环境准备

  • 24G+ 显卡
  • python 运行环境
  • 下载好LLM模型,我这里使用的是 Qwen3-8B
  • Embedding 模型,这里使用的 bge-large-zh-v1.5
  • 还有一份数据集

运行模型 Qwen3-8B

nohup python -m vllm.entrypoints.openai.api_server \--model /code/models/Qwen/Qwen3-8B \--served-model-name qwen3-8b \--max-model-len 8k \--host 0.0.0.0 \--port 6006 \--dtype bfloat16 \--gpu-memory-utilization 0.8 \--enable-auto-tool-choice \--tool-call-parser hermes &

运行Embedding模型 bge-large-zh-v1.5

nohup python -m vllm.entrypoints.openai.api_server \--model /code/models/BAAI/bge-large-zh-v1.5 \--served-model-name bge-large-zh \--host 0.0.0.0 \--port 6007 \--dtype bfloat16 \--gpu-memory-utilization 0.4 \--max-model-len512&

运行Milvus向量数据库(可参考官网https://milvus.io/docs/zh/install_standalone-docker.md)

Download the installation scriptcurl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.shStart the Docker containerbash standalone_embed.sh start

出现下面画面表示Milvus安装完成

数据集准备
我这里是在魔塔社区拉去的三国演义知识问答。地址:https://modelscope.cn/datasets/ssf2024/sanguoyanyiquestion

二、代码编写

首先pom依赖如下

<dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId></dependency><dependency><groupId>io.projectreactor.netty</groupId><artifactId>reactor-netty-http</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- QuestionAnswerAdvisor 依赖包--><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-advisors-vector-store</artifactId></dependency><!-- RetrievalAugmentationAdvisor 依赖包--><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-rag</artifactId></dependency><!-- Milvus VectorStore 依赖包--><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-vector-store-milvus</artifactId></dependency><!-- Tika DocumentReader 依赖包--><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-tika-document-reader</artifactId></dependency></dependencies>

配置信息 application.yml

spring: application: name: mashangjun-ai-rag ai: openai: chat: options: model: qwen3-8b embedding:base-url: http://192.168.10.102:6007/ options: model: bge-large-zhbase-url: http://192.168.10.102:6006/ api-key: sk-1234567890abcd vectorstore: milvus: client: host:192.168.47.130 port:19530 token: root:Milvus database-name:default embedding-dimension:1024 collection-name: msj_ai initialize-schema:trueserver: port:8081

模型配置

@Configuration@RequiredArgsConstructorpublicclassChatConfig{finalMilvusVectorStore vectorStore;@BeanpublicChatClientchatClient(ChatModel chatModel){returnChatClient.builder(chatModel).defaultSystem("你作为一名专业的AI助手,请根据用户提示信息回答问题。").build();}/** * 配置 RetrievalAugmentationAdvisor * * @return RetrievalAugmentationAdvisor */@BeanpublicRetrievalAugmentationAdvisorretrievalAugmentationAdvisor(){VectorStoreDocumentRetriever retriever =VectorStoreDocumentRetriever.builder().vectorStore(vectorStore).similarityThreshold(0.5).topK(5).build();ContextualQueryAugmenter augmenter =ContextualQueryAugmenter.builder().allowEmptyContext(true).build();returnRetrievalAugmentationAdvisor.builder().documentRetriever(retriever).queryAugmenter(augmenter).build();}@BeanpublicQuestionAnswerAdvisorquestionAnswerAdvisor(){returnQuestionAnswerAdvisor.builder(vectorStore).searchRequest(SearchRequest.builder().similarityThreshold(0.2d).topK(6).build()).build();}

加载准备好的数据

@Slf4j@Component@RequiredArgsConstructorpublicclassLoadData{finalMilvusVectorStore vectorStore;@Value("${spring.ai.vectorstore.milvus.collection-name}")privateString collectionName;@PostConstructpublicvoidloadData()throwsIOException{ log.info("开始初始化数据:{}", collectionName);Optional<Object> nativeClient = vectorStore.getNativeClient();if(nativeClient.isPresent()){ log.info("Milvus 客户端初始化成功");}else{ log.error("Milvus 客户端初始化失败");return;}MilvusServiceClient client =(MilvusServiceClient) nativeClient.get();R<GetCollectionStatisticsResponse> resp = client.getCollectionStatistics(GetCollectionStatisticsParam.newBuilder().withCollectionName(collectionName).build());if(resp.getStatus()!=R.Status.Success.getCode()){ log.error("Milvus 获取集合统计信息失败:{}", resp.getMessage());return;}long rowCount =newGetCollStatResponseWrapper(resp.getData()).getRowCount();if(rowCount >0){ log.info("集合已存在,跳过初始化数据");return;}// 加载数据到向量数据库ClassPathResource resource =newClassPathResource("train.json");// 读取文件内容String content =newString(resource.getInputStream().readAllBytes());// 拆分文档,写入向量数据库TokenTextSplitter splitter =TokenTextSplitter.builder().withChunkSize(512).withMinChunkSizeChars(200).withKeepSeparator(true).build();var chunks = splitter.split(List.of(newDocument(content))); vectorStore.add(chunks);}}

聊天接口

@RestController@RequestMapping@RequiredArgsConstructorpublicclassTalkController{finalChatClient chatClient;finalQuestionAnswerAdvisor questionAnswerAdvisor;finalRetrievalAugmentationAdvisor retrievalAugmentationAdvisor;/** * 聊天 * * @param question 问题 * @return 回复 */@GetMapping("/talk")publicFlux<String>talk(@RequestParam("question")String question){return chatClient.prompt(question).advisors(questionAnswerAdvisor).stream().content();}}

效果展示

效果展示

AI时代,未来的就业机会在哪里?

答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具,到自然语言处理、计算机视觉、多模态等核心领域,技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。

掌握大模型技能,就是把握高薪未来。

那么,普通人如何抓住大模型风口?

AI技术的普及对个人能力提出了新的要求,在AI时代,持续学习和适应新技术变得尤为重要。无论是企业还是个人,都需要不断更新知识体系,提升与AI协作的能力,以适应不断变化的工作环境。

因此,这里给大家整理了一份《2026最新大模型全套学习资源》,包括2026最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题、AI产品经理入门到精通等,带你从零基础入门到精通,快速掌握大模型技术!

由于篇幅有限,有需要的小伙伴可以扫码获取!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

4. 大模型项目实战

学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

5. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

为什么大家都在学AI大模型?

随着AI技术的发展,企业对人才的需求从“单一技术”转向 “AI+行业”双背景。企业对人才的需求从“单一技术”转向 “AI+行业”双背景。金融+AI、制造+AI、医疗+AI等跨界岗位薪资涨幅达30%-50%。

同时很多人面临优化裁员,近期科技巨头英特尔裁员2万人,传统岗位不断缩减,因此转行AI势在必行!

这些资料有用吗?

这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


大模型全套学习资料已整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】

http://www.jsqmd.com/news/421750/

相关文章:

  • 哪款蛋白粉适合中老年?2026最好最安全老年人蛋白粉品牌推荐,认准刚需别乱买 - 资讯焦点
  • Datawhale干货:5分钟上手!大语言模型驱动的智能体初探,收藏这份进阶指南!
  • 本科留学中介选校PK:TOP10机构保底G5不是随便说说 - 博客湾
  • 大模型来袭!程序员不进则退,收藏这波干货,教你从代码工匠变身AI架构师!
  • BXMya 3ASC25H214 DATX130 分布式I/O模块
  • 哪个牌子的深海鱼油质量好最好用?2026最好用的鱼油排行榜,5大维度优势 - 资讯焦点
  • 本科留学中介排名TOP10:牛剑G5面邀率谁家最强 - 博客湾
  • PROMPT_COMMAND PS1 tty阻塞
  • 香港留学中介策略排名:科学申请策略帮你稳拿Offer - 博客湾
  • epa含量最高的深海鱼油什么牌子好?2026最佳鱼油排行榜TOP8,搞定营养需求 - 资讯焦点
  • 香港留学中介榜单:专攻港新的机构有哪些优势 - 博客湾
  • 基于51单片机智能直流电机控制PWM调速系统设计DIY18-692
  • 本科留学中介避雷 TOP10,附加考试辅导千万别马虎 - 博客湾
  • 2026 执业药师题库怎么选?高分考生口碑题库实力推荐 - 医考机构品牌测评专家
  • 怎么降AI率最有效?论文党必藏,核心方法+AI工具轻松过线 - 资讯焦点
  • 香港留学中介避坑指南:面试辅导别选只会背题的 - 博客湾
  • 敢签70天生命重启合同?奥本元NMN凭什么敢叫板全球万元级补剂? - 资讯焦点
  • 2026临床执业医师备考:过来人私藏推荐,这几个老师的课一听就懂! - 医考机构品牌测评专家
  • 2026 市场观察:游戏行业的 5 个增长新坐标
  • GEO优化哪个效果好?枭氏AI以“3天收录+1月百条推荐”成本地落地首选 - 资讯焦点
  • SATT 笔记
  • 2026实测|执业药师培训机构口碑榜,考生直接抄作业 - 医考机构品牌测评专家
  • 2026年PMP课程培训班推荐哪家?通过率与性价比权威排行榜 - 资讯焦点
  • 2026 高职大数据与会计专业考证优先选哪个?
  • 加密软件哪个最好用?2026精选4款主流加密软件,你中意哪一款
  • 2026最新发布!青岛AI GEO优化优质公司盘点:青岛博采网络,解锁品牌智能流量增长密码 - 资讯焦点
  • 2026 大数据管理与应用专业证书含金量排名?大专适用
  • 小遥搜索v1.3.0版本更新【已支持-兼容openai模型集成】
  • Virtio驱动架构与vhost-user机制:DPDK高性能网络的核心逻辑
  • 本科留学中介口碑榜TOP10:长线规划谁家更靠谱 - 博客湾