行业落地分享:阿里云搜索RAG应用实践
最近这一两周看到不少互联网公司都已经开始秋招提前批了。
不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。
最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解惑答疑,分享技术面试中的那些弯弯绕绕。
《大模型面试宝典》(2024版) 正式发布!
喜欢本文记得收藏、关注、点赞。更多实战和面试交流,文末加入我们
技术交流

在人工智能领域,垂直领域的挑战不断催生新的技术解决方案。RAG是一种结合检索和生成的深度学习模型,它通过检索大量相关文档,然后基于这些文档生成回答,从而提高回答的准确性和相关性。

然而,直接使用大型预训练模型来应对这些挑战并非没有问题。
-
模型通常依赖于海量的通用知识库和语料,这些资源的质量参差不齐,且可能存在安全风险。
-
在知识问答场景中,大模型可能会遇到幻觉问题,即生成看似合理但实际错误的答案。
-
模型的知识受限,难以完全覆盖特定领域的专业知识,同时其生成过程的不可解释性也引发了合规问题。
为了解决这些问题,许多企业开始转向利用自身的知识库。企业内部的文档、业务数据和经营数据是宝贵的资源,它们提供了更准确、更安全的知识来源。通过将这些内部数据与RAG模型相结合,企业可以生成更符合自身需求和标准的高质量回答。
RAG 技术方案
Retrieval-Augmented Generation(RAG)是一种先进的人工智能技术,它通过将检索结果与大型语言模型(LLM)结合,引导模型生成更加精准和可靠的答案。RAG的核心在于其能够实时更新知识库,而无需对模型进行重新训练,这大大提升了知识获取的时效性和灵活性。

RAG的三大优势
-
实时更新知识库:RAG能够动态地从最新的数据源中获取信息,确保知识库的持续更新,而无需进行耗时的模型重训练。
-
可追溯的答案来源:与传统的黑盒模型不同,RAG生成的答案可以追溯到其知识库中的原始来源,提高了答案的可解释性和可追踪性。
-
减少幻觉问题:由于RAG生成的答案基于结构化和验证过的知识库,因此相较于完全依赖模型内部知识的情况,它更不容易产生幻觉问题。
RAG关键点解析

高准确度场景
在某些关键场景中,如医疗咨询或法律服务,对答案的准确度要求极高,几乎需要达到“100%准确”。为此,RAG技术需要做到:
-
准确解析不同格式文档:无论是PDF、Word还是其他格式,RAG都应能够准确解析文档内容。
-
准确召回问题相关结果:RAG应能迅速从知识库中检索并召回与问题紧密相关的信息。
-
低幻觉率的大模型总结:生成的答案应基于可靠的数据源,减少错误信息的产生。
实时答案生成
在快节奏的查询环境中,用户期望在1到3秒内获得答案。这要求RAG技术具备:
-
高性能召回问题相关结果:快速从大量数据中检索出最相关的信息。
-
高性能大模型推理生成:模型需要在极短的时间内完成对信息的推理和生成过程。
训练与推理成本
RAG技术的一个主要成本是GPU资源的消耗,特别是在训练和推理阶段。为了降低成本,需要:
-
低成本训练方法:探索更经济的训练策略,以减少对GPU资源的依赖。
-
大模型推理加速:优化模型结构和算法,提高推理速度,降低成本。
隐私与安全性
在处理用户数据时,RAG技术必须严格遵守隐私和安全性的要求:
-
过滤敏感话题:确保模型在生成内容时能够识别并过滤掉敏感话题。
-
遵守相关法律法规:在不同地区运营时,需遵循当地的数据保护法规。
-
可控的大模型生成:通过设置合理的约束条件,控制模型生成的内容,避免违规风险。
RAG效果优化
数据解析和提取
-
表格信息提取:能够识别和解析文档中的表格数据,将其转换为结构化信息,便于模型理解和利用。
-
图表理解:对图表中的图形、趋势和数据点进行分析,提取关键信息,帮助模型理解图表所传达的内容。
-
文档结构分析:识别文档中的结构元素,如标题、段落、列表等,为文本切片和信息检索提供基础。

文本切片
文本切片是将文档分割成更小的、易于处理和检索的部分。以下是几种不同的切片方法:
-
层次切片:根据文档的层次结构进行切片,例如将一级标题和其下的段落作为一个切片单元。
-
多粒度切片:结合不同粒度的信息,如将一级标题、二级标题和相关段落组合在一起,以提供更丰富的上下文。
-
细切片:进一步细化切片,可能包括单个句子或短语,以捕获更具体的信息。

多语言向量化模型方法

Query理解

NL2SQL

混合检索

Rerank

大模型微调和评测

RAG性能优化- VectorStore CPU图算法
在RAG中,VectorStore扮演着关键角色,它用于存储和检索向量化的数据。HNSW是一种用于高效近似最近邻搜索的图算法。它构建了一个分层的图结构,每一层都具有不同的搜索精度和效率。

RAG性能优化- 大模型推理加速

RAG成本优化-方法选择

RAG成本优化-客户专属模型

RAG典型场景


多模态RAG

相关文章:
行业落地分享:阿里云搜索RAG应用实践
最近这一两周看到不少互联网公司都已经开始秋招提前批了。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。 最近,我们又陆续整理了很多大厂的面试题,帮助一些球友…...
【SQL】温度比较
目录 题目 分析 代码 题目 表: Weather ------------------------ | Column Name | Type | ------------------------ | id | int | | recordDate | date | | temperature | int | ------------------------ id 是该表具有唯…...
Istio 项目会往用户的 Pod 里注入 Envoy 容器,用来代理 Pod 的进出流量,这是什么设计模式?
Istio 项目会往用户的 Pod 里注入 Envoy 容器,用来代理 Pod 的进出流量,这是什么设计模式? A. 装饰器 B. sidecar C. 工厂模式 D. 单例 选择B Sidecar模式是一种设计模式,它将应用程序的一部分功能作为单独的进程实现ÿ…...
(24)(24.1) FPV和仿真的机载OSD(三)
文章目录 前言 5 呼号面板 6 用户可编程警告 7 使用SITL测试OSD 8 OSD面板列表 前言 此面板允许在机载 OSD 屏幕上显示业余无线电呼号(或任何其他单个字符串)。它将从 SD 卡根目录下名为“callsign.txt”的文件中读取字符串。 5 呼号面板 此面板允…...
测试开发岗面试总结
某基金管理公司线下测试开发面试题总结。 测开题目如下 可以尝试自己先写,写完之后再去看参考解法哦 ~ 1、编写一段代码,把 list 的数平方(语言不限) ListA [1, 3, 5, 7, 9, 11] 2、使用 Python 语言编写一个日志装饰器 3、进程、线程、协程有什么…...
编程-设计模式 7:桥接模式
设计模式 7:桥接模式 定义与目的 定义:桥接模式将抽象部分与它的实现部分分离,使得它们都可以独立地变化。目的:该模式的主要目的是解耦一个类的抽象部分与其实现部分,使得这两部分可以独立地发展和变化。 实现示例…...
C语言----结构体
结构体 结构体的含义 自定义的数据类型 它是由很多的数据组合成的一个整体,结构型数据 其中的每一个数据,都是结构体的成员 书写的位置: 函数的里面:局部位置,只能再本函数中使用 函数的外面:全局位置,在所有的函数中都可以…...
基于HKELM混合核极限学习机多输出回归预测 (多输入多输出) Matlab代码
基于HKELM混合核极限学习机多输出回归预测(多输入多输出)Matlab代码 每个输出都有以下线性拟合图等四张图!!!具体看图,独家图像!!! 程序已经调试好,替换数据集根据输出个数修改out…...
经纬恒润荣获小米汽车优秀质量奖!
小米SU7上市已超百天,在品质经过客户严选的同时,产量与交付量屡创新高,6-7月连续两个月交付量均超过10000台。为奖励对小米汽车质量和交付做出卓越贡献的合作伙伴团队及个人,小米向质量表现突出的供应商授予了优秀质量奖。经纬恒润…...
Linux 软件编程学习第十一天
1.管道: 进程间通信最简单的形式 2.信号: 内核层和用户层通信的一种方式 1.信号类型: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 1…...
hive udtf 函数:输入一个字符串,将这个字符串按照特殊的逻辑处理之后,输出4个字段
这里要继承GenericUDTF 这个抽象类,直接上代码: package com.xxx.hive.udf; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.hive.ql.exec.Description; import org.apache.hadoop.hive.ql.exec.UDFArgumentException; import …...
【实现100个unity特效之16】unity2022之前或者之后版本实现全屏shader graph的不同方式 —— 适用于人物受伤红屏或者一些其他状态效果
最终效果 文章目录 最终效果前言unity2022版本 Fullscreen shader graph首先,请注意你的Inity版本,是不是2022.2以上,并且项目是URP项且基本配置 修改shader graph边缘效果动起来优化科幻风制作一些变量最终效果最终节点图代码控制 2022之前版…...
比特币使用ord蚀刻符文---简单笔记
说明 毕竟符文热度过了,今年四月份做的笔记分享出来 蚀刻符文需要先同步完区块数据,和index文件,不然蚀刻会失败,在testnet和signet网络也一样。 创建钱包(会输出助记词): ord --bitcoin-da…...
大数据-74 Kafka 高级特性 稳定性 - 控制器、可靠性 副本复制、失效副本、副本滞后 多图一篇详解
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
c# 什么是扩展方法
官方解释 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种静态方法,但可以像扩展类型上的实例方法一样进行调用。 对于用 C#、F# 和 Visual Basic 编写的客户端代码&#x…...
全屏组件封装(react18+antd)
基于reactts封装的公用全屏组件 1、封装组件 在components下面构建FullScreenButton文件: FullScreenButton/index.tsx import React, { useState, useCallback, useEffect } from "react"; import { FullscreenOutlined, FullscreenExitOutlined } fr…...
wordpress全局自适应网址导航整站打包源码,含主题和数据库
wordpress全局自适应网址导航整站打包源码,含主题和数据库。直接恢复就可以使用了。 这个是自适应的布局设计,体验还不错。用网址导航是可以的。 代码免费下载:百度网盘...
PyTorch深度学习框架
最近放假在超星总部河北燕郊园区实习,本来是搞前后端开发岗位的,然后带我的副总老大哥比较关照我,了解我的情况后得知我大三选的方向是大数据,于是建议我学学python、Hadoop,Hadoop我看了一下内容比较多,而…...
Python和AI库NumPy(二):数组创建与操作
目录 1. 数组创建 1.1 基本数组创建 1.2 使用内置函数创建数组 1.3 特殊数组的创建 2. 数组的基本操作 2.1 数组属性 2.2 数组索引和切片 2.3 数组的形状操作 2.4 数组拼接与分割 3. 数组的数学操作 3.1 基本算术操作 3.2 广播机制 3.3 线性代数运算 4. 高级数组…...
GD32 SPI驱动代码
1.0 软件驱动NOR FLASH MOSI:主机发送,从机接收 MISO:主机接收,从机发送 CS:表示的是片选信号 2.0 宏定义各个引脚 // 片选 #define SET_SPI_NSS() gpio_bit_set(GPIOE,GPIO_PIN_2) #define CLR_SPI_NSS() gpio_…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
