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

20260318_203310_AI大模型之RAG(向量库milvus实现)

介绍概念RAG 检索增强生成Retrieval-Augmented Generation打个比方 普通 AI像闭卷考试只会脑子里记的东西容易记错、过时。 RAG AI像开卷考试先去翻你给的课本 / 文档找到相关内容再整理成通顺答案。2025年初 deepseek很火的时候用ollamaanything LLM整了一个RAG通过控制台界面上传文档再向量化然后可以对话使用RAG了今天用代码来实现。大语言RAG工作原理1.用户上传文档对文档分块并通过Embedding模型将文档向量化存入向量数据库。2.用户查询知识库Embedding模型将用户提示词向量化并进行相似查询将查询结果和用户提示词一起发送给大模型大模型根据结果组织回答。介绍一下代码的实现开发环境java17 spring ai alibaba 向量数据库 milvus一、向量数据库 milvus我在青云科技上申请云主机(系统 contos8.3搭建milvus向量库便于拉取镜像1核2G就够了有外网访问权限并设置好网络访问控制。1.安装docker会安装的略过在线安装sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.reposudo yum install -y docker-ce docker-ce-cli containerd.iosystemctl start dockerdocker ps -a配置docker镜像加速器sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json -‘EOF’{ “registry-mirrors”: [“https://izf4l7qi.mirror.aliyuncs.com”] }EOFsudo systemctl daemon-reloadsudo systemctl restart docker2.安装 docker-compose(会安装的略过)docker-compose 在线安装curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-( u n a m e − s ) − (uname -s)-(uname−s)−(uname -m) -o /usr/local/bin/docker-composechmod x /usr/local/bin/docker-composedocker-compose -v3.安装milvus及客户端yum install -y wgetwget https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-linux-x86_64修改名字mv milvus-standalone-docker-compose.yml docker-compose.yml运行起来需要下载镜像需要一点时间docker-compose up -d4.milvus连接客户端安装docker run --rm -p 3000:3000 -e MILVUS_URLhost.docker.internal:19530 zilliz/attu:v2.5访问终端(IP改为云主机外网IP):http://103.61.37.169:3000/ 打开后修改连接IP为云主机外网IP然后连接这样milvus既安装好了。二、spring ai alibaba大语言模型配置、分词器配置略需要请留言2.POM文件dependencies dependency groupId org.springframework.boot /groupId artifactId spring-boot-starter-web /artifactId /dependency dependency groupId com.alibaba.cloud.ai /groupId artifactId spring-ai-alibaba-starter-dashscope /artifactId /dependency dependency groupId org.springframework.ai /groupId artifactId spring-ai-tika-document-reader /artifactId /dependency dependency groupId org.springframework.ai /groupId artifactId spring-ai-starter-vector-store-milvus /artifactId version 1.0.3 /version /dependency dependency groupId org.springframework.ai /groupId artifactId spring-ai-advisors-vector-store /artifactId version 1.0.3 /version /dependency /dependencies3.application.propertiesserver.port 9001 server.servlet.encoding.enabled true server.servlet.encoding.force true server.servlet.encoding.charset UTF-8 spring.ai.dashscope.api-key 替换为自己百炼平台apikey阿里百炼申请 spring.ai.dashscope.chat.options.model qwen-plus spring.ai.dashscope.embedding.options.model text-embedding-v3 spring.application.name rag-huxipi spring.ai.vectorstore.milvus.client.host 103.61.37.163 spring.ai.vectorstore.milvus.client.port 19530 spring.ai.vectorstore.milvus.client.username spring.ai.vectorstore.milvus.client.password spring.ai.vectorstore.milvus.database-name default spring.ai.vectorstore.milvus.collection-name vector_store spring.ai.vectorstore.milvus.embedding-dimension 1024 spring.ai.vectorstore.milvus.index-type IVF_FLAT spring.ai.vectorstore.milvus.metric-type COSINE spring.ai.vectorstore.milvus.initialize-schema true4.关键代码controller文档向量化GetMapping (value /rag/save ) public String doSave (){ try { // 从 resource 目录读取 docx 文件 ClassPathResource classPathResource new ClassPathResource( 2025 年XXXX信息系统报告 .docx ); // 使用 TikaDocumentReader 读取文件内容支持 txt 、 pdf 、 docx 、 doc 等格式 TikaDocumentReader reader new TikaDocumentReader(classPathResource); ListDocument documents reader.read(); // 懒加载获取 Bean 避免启动时就连接 Milvus TokenTextSplitter tokenTextSplitter getTokenTextSplitter(); VectorStore vectorStore getVectorStore(); // 1. 分块 - 将文档内容分成小块 ListDocument apply tokenTextSplitter.apply(documents); // 2. 向量化 - 将文本转换为向量嵌入并存储 vectorStore.add(apply); return 文档加载成功 classPathResource.getFilename() 共处理 documents.size() 个文档块 ; } catch (Exception e) { e.printStackTrace(); return 错误 e.getMessage(); } }文档查询GetMapping (value /rag/query ) public FluxString doQuery ( RequestParam (name msg ,defaultValue 你是谁 ) String msg){ FluxString content chatClient .prompt() .user(msg).advisors( QuestionAnswerAdvisor. builder (getVectorStore()) .searchRequest(SearchRequest. builder ().query(msg).similarityThreshold( 0.1d ).build()) .build()) .stream() .content(); return content;三、结果演示文档加载文档查询学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关文章:

20260318_203310_AI大模型之RAG(向量库milvus实现)

介绍概念:RAG 检索增强生成Retrieval-Augmented Generation 打个比方 普通 AI:像闭卷考试,只会脑子里记的东西,容易记错、过时。 RAG AI:像开卷考试,先去翻你给的课本 / 文档,找到相关内容&am…...

固定资产清查别敷衍!账实对不上、资产流失,全是清查没做细

说起企业资产管理,很多人盯着折旧核算,却忽略了最基础的固定资产清查。这项工作看似繁琐,却是堵住资产流失、校准财务数据、规避税务与内控风险的关键一步,不管是中小企业还是大型公司,定期做规范清查,才能…...

选艺术字体AI工具这件事,别只盯出图快慢

在日常门店运营中,活动海报的艺术字体设计需要兼顾效率和后续修改空间。最近一次促销活动,首版物料我选择了千图的AI艺术字体工具,主要看重其AI海报可编辑和同款生成功能——能够让AI先产出风格方向,再进一步用其抠图、放大、消除…...

Edge浏览器 about:blank 问题修复

打开新标签出现 about:blank 空页面 修改-> 修复 Get-AppxPackage MicrosoftEdge | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "(_.InstallLocation)\AppXManifest.xml"}命令含义解析 这段PowerShell命令的核心作用是重新注册/修复微软Edge…...

根据ai创建校园管理系统——MySQL数据库设计与建立

native效果展示一.DDL语句-- -- 校园二手交易系统 - DDL数据定义语句 -- -- 1. 初始化设置 SET FOREIGN_KEY_CHECKS 0; -- 临时关闭外键检查,避免删表报错 SET NAMES utf8mb4;-- 2. 创建并使用数据库 CREATE DATABASE IF NOT EXISTS campus_second_hand_trade D…...

应用数学新时代的到来

以下内容转载自微信公众号“数学家”,仅作分享 原文链接:https://mp.weixin.qq.com/s/qbnHosCL13TaPSQ9DRih5w 鄂维南,1963年9月生于江苏省靖江市,数学家,中国科学院院士,北京大学、普林斯顿大学教授、北京…...

把AIGC率降到个位数有多爽?2026十款主流免费降AI工具天花板实测

自从2024年各大高校引入AI检测系统后,无数学生陷入了"AI降AI"的死循环:用AI写论文效率高,但查出来就完蛋;手写太慢,赶不上ddl。于是,降低ai率成了比查重更棘手的难题。今天这篇文章,我…...

第6篇:中文语言 学会华夏本源语言能做什么?

第6篇:学会华夏本源语言能做什么? 作者: 大号:华夏之光永存(道级解读) 小号:华夏之光永存小号(术级解读) 核心简介: 道:领域永恒不变的本质规律…...

HTML学习日记——DAY01(基本标签)

今天我正式步入web开发中的html的学习了&#xff0c;今天主要针对HTML的基本标签展开了学习&#xff1a;1.HTML初始的一个标签组成&#xff1a;<!--声明当前文档的类型是html--> <!DOCTYPE html> <!--设置网页语言--> <html lang"en"> <!…...

港中文大学发布PIRA-Bench:AI助手告别被动等待

这项由香港中文大学多媒体实验室、南开大学和华为研究院联合完成的突破性研究发表于2026年3月&#xff0c;论文编号为arXiv:2603.08013v1&#xff0c;标志着人工智能助手从被动响应向主动预测的重大转变。当前的图形用户界面智能助手就像一个严格按指令工作的管家。每当你想让它…...

2026省选联考游记

分数481512150090。 Day1 首先&#xff0c;先花了1个小时时间想出了T1的一个n^3写法&#xff0c;然后&#xff0c;耗时2 ~ 3小时写出该做法&#xff0c;试图用FFT或NTT优化&#xff0c;但忘了FFT如何打&#xff0c;于是花0.5 ~ 1小时写出后两题暴力&#xff0c;然后剩余时间未想…...

02 python阶段大纲介绍

环境搭建安装python解释器 目的 解释python代码&#xff0c;例如print(“hello world”)版本 3.8x及以上版本安装Anaconda数据科学家 pythons解释器python库安装IDE工具 Pycharm , 版本必2023.x及以上基础语法 函数容器类型相关文件操作相关异常处理扩展—递归包和模块 项目 综…...

rchtxchs.dll文件丢失找不到 免费下载修复方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…...

2025 CCF 非专业级软件能力认证 解析

拼数题目描述小 R 正在学习字符串处理。小 X 给了小 R 一个字符串 s&#xff0c;其中 s 仅包含小写英文 字母及数字&#xff0c;且包. 含. 至. 少. 一. 个. 1 ∼ 9 中. 的. 数. 字. 。小 X 希望小 R 使用 s 中的任. 意. 多. 个. 数 字&#xff0c;按任. 意. 顺. 序. 拼成一个正…...

算法设计与分析-习题9.4

目录 1. a.对于下面的数据构造一套哈夫曼编码&#xff1a; b.用a中的编码对文本ABACABAD进行编码。 c.对于 100010111001010用a中的编码进行解码。 2.出于数据传输的目的&#xff0c;我们常常需要一套码长差异最小的编码(在具有相同平均长度的编码中)。针对以下数据构造哈…...

金仓数据库在文档型数据迁移中的实践复盘:从MongoDB协议兼容到政务系统平滑替换

金仓数据库在文档型数据迁移中的实践复盘&#xff1a;从MongoDB协议兼容到政务系统平滑替换 凌晨2:17&#xff0c;监控告警再次触发——电子证照系统“亮证查询”接口响应超时率突破8%&#xff0c;MongoDB从库CPU使用率持续高于95%&#xff0c;慢查询日志中频繁出现多层嵌套的…...

一天一个开源项目(第54篇):Supabase - 开源的 Postgres 开发平台,Firebase 替代方案

引言 “The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.” 这是「一天一个开源项目」系列的第 54 篇文章。今天介绍的项目是 Supabase&#xff08;GitHub&#xff09;。 想用 Firebas…...

博弈论详解 3(SG定理的运用)

时隔一年半&#xff0c;主播再次回到博弈论。这次是练习时间&#xff01;&#xff01;&#xff01; 如果你没有学过SG定理或者想要复习一下 如果没有看过之前的前置文章的可以先看零基础知识讲解。 Episode 1&#xff08;Nim基础&#xff09;&#xff1a;https://blog.csdn.n…...

ESP-IDF 简介

ESP-IDF&#xff08;Espressif IoT Development Framework&#xff09;是乐鑫&#xff08;Espressif Systems&#xff09;为 ESP 系列芯片开发的物联网开发框架。它支持 ESP32、 ESP32-S、 ESP32-C 和 ESP32-H 系列 SoC&#xff0c;基于C/C语言提供了一个自给自足的 SDK&#x…...

linux内核 Netfilter

Netfilter 是 Linux 内核中一套模块化、可扩展的网络数据包处理框架&#xff0c;是 iptables、nftables、firewalld 等防火墙工具的底层核心&#xff0c;负责实现数据包过滤、NAT、连接跟踪、流量整形等网络功能。Netfilter 是 Linux 内核内置的网络数据包处理框架&#xff0c;…...

关于 HarmonyOS 版本的简述

1、所有版本 HarmonyOS 已面向开发者发布的所有版本清单如下&#xff1a; 2、推荐开发版本 目前官方推荐使用 6.0.0(20) 版本&#xff0c;配套的工具为 DevEco Studio 6.0.0 Release(6.0.0.858) 版本。6.0.0(20) Release 开发者套件配套信息如下&#xff1a; 3、应用工程…...

OpenClaw 第十三篇:核心技术实现拆解——从指令输入到执行落地的全链路原理

OpenClaw 第十三篇&#xff1a;核心技术实现拆解——从指令输入到执行落地的全链路原理前面十二篇我们聚焦OpenClaw的实操落地&#xff0c;从基础部署、本地自动化&#xff0c;到远程操控、职场场景全覆盖&#xff0c;相信大家已经能熟练用它解决实际问题。但很多技术爱好者、开…...

【数据库】金仓数据库智能SQL防护机制,实现99.99%异常语句精准拦截

文章目录前言一、注入风险&#xff1a;隐藏在输入背后的隐患二、三种模式&#xff1a;构建灵活的“智能准入系统”三、高效、精准、易用&#xff1a;理想的安全防护标准1. 99.99%的识别准确率&#xff0c;近乎“零误判”2. 性能损耗低于6%&#xff0c;业务无感知3. 两步配置&am…...

【JWT】JWT(JSON Web Token)结构化知识体系(完整版)

文章目录JWT&#xff08;JSON Web Token&#xff09;一、基础认知层&#xff1a;定义与核心边界1. 核心定义2. 诞生背景3. 适用与不适用场景二、核心结构层&#xff1a;JWT的标准格式与字段规范1. Header&#xff08;头部&#xff09;2. Payload&#xff08;载荷&#xff09;3.…...

3-1课堂笔记

import os import json import requests from bs4 import BeautifulSoup# 数据采集基础知识&#xff1a;豆瓣读书T250的数据的获取 def getHTML(n):# 获取每一张含有25本书的网页&#xff0c;n为页码-1url "https://book.douban.com/top250"header {"user-age…...

CentOS 7.5/RHEL 7.x 配置 YUM 源(阿里云镜像+本地源双方案)

CentOS 7.5/RHEL 7.x 配置 YUM 源&#xff08;阿里云镜像本地源双方案&#xff09;【实操指南】CentOS 7.5/RHEL 7.x 配置 YUM 源&#xff08;阿里云镜像本地源双方案&#xff09;环境说明前置准备&#xff1a;备份原有 YUM 源方案一&#xff1a;配置阿里云 CentOS 7 镜像源&am…...

企业微信ipad协议的消息扩展字段与业务数据注入

企业微信ipad协议的消息扩展字段与业务数据注入 在企业微信的深度集成场景中&#xff0c;单纯收发消息往往无法满足业务需求。如何将内部系统的工单号、客户标签、订单状态等信息与聊天消息绑定&#xff0c;实现跨系统的数据关联&#xff1f;企业微信ipad协议通过预留的扩展字段…...

别盲目入行网安!一文看懂所有网安岗位岗位职责与发展方向

网络安全可以从事哪些岗位 伴随着社会的发展&#xff0c;网络安全被列为国家安全战略的一部分&#xff0c;因此越来越多的行业开始迫切需要网安人员&#xff0c;也有不少人转行学习网络安全。那么网络安全可以从事哪些岗位?岗位职责是什么?相信很多人都不太了解&#xff0c;…...

安装显卡驱动报错提示“7-Zip:CRC error“

目录问题描述解决方案问题描述 我的设备信息如下 安装驱动(591.86-desktop-win10-win11-64bit-international-dch-whql.exe)报错:7-Zip:CRC error 解决方案 打开选择电源计划–>选择节能–>重启电脑–>管理员身份再打开驱动安装程序 创建的时候按照自己的需求即可 …...

【软件开发设计全流程及工具推荐】从需求到部署的完整指南

文章目录软件开发设计全流程及工具推荐&#xff1a;从需求到部署的完整指南一、引言二、软件开发全流程2.1 整体流程概览三、需求分析阶段3.1 核心任务3.2 推荐工具3.3 实践建议四、系统设计阶段4.1 设计层次4.2 推荐工具4.3 架构设计示例五、编码实现阶段5.1 编码规范5.2 推荐…...