行业落地分享:阿里云搜索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_…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...
13.10 LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析
LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析 LanguageMentor 对话式训练系统架构与实现 关键词:多轮对话系统设计、场景化提示工程、情感识别优化、LangGraph 状态管理、Ollama 私有化部署 1. 对话训练系统技术架构 采用四层架构实现高扩展性的对话训练…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...

性能优化中,多面体模型基本原理
1)多面体编译技术是一种基于多面体模型的程序分析和优化技术,它将程序 中的语句实例、访问关系、依赖关系和调度等信息映射到多维空间中的几何对 象,通过对这些几何对象进行几何操作和线性代数计算来进行程序的分析和优 化。 其中࿰…...