一图窥探RAG技术发展现状

2023年除了大语言模型,听到最多的当属RAG(检索增强生成技术了),在实际业务场景落地过程中,由于大模型目前的一定局限和能力现状以及Token限制、训练成本等多种因素的影响下,RAG不得不成为大家选择快速试错、落地的一种选择和方案。

RAG技术通过查询处理、数据检索、文档优化、增强生成、语义理解、文档结构化和自我增强等多步骤,实现了对用户问题的深度理解和高效回答。🔍📈 从自然语言到数据库查询,再到精准答案,RAG技术让AI的每一步都更加智能和人性化,让我们从这一张图来了解RAG技术体系的全貌。#RAG #人工智能 #自然语言处理 #技术前沿"

一、在RAG技术体系中将用户的问题路由到最合适的数据源或处理路径

一般有语义路由和逻辑路由两种方式。语义路由和逻辑路由可能结合使用,以实现更高效和准确的信息检索。语义路由帮助系统理解查询的深层含义,而逻辑路由确保查询按照正确的逻辑被处理。这种结合可以提高系统对复杂查询的处理能力,尤其是在需要理解用户意图和执行复杂逻辑操作的场景中。

  1. 语义路由(Semantic Routing)

    • 语义路由侧重于理解查询的语义内容,即查询的实际含义和意图。
    • 在RAG系统中,语义路由可能涉及到自然语言处理(NLP)技术,如语义分析、实体识别和意图识别,以确保系统能够准确理解用户的问题。
    • 语义路由的目标是将用户的查询映射到最相关的数据源或处理路径,即使这些路径可能不是直观的或直接的。
    • 例如,如果用户询问“最近的天气如何?”,语义路由会识别出这是一个关于天气查询的问题,并将其路由到提供天气信息的服务或数据库。
  2. 逻辑路由(Logical Routing)

    • 逻辑路由则更侧重于查询的结构和形式,它根据查询的逻辑结构来确定处理路径。
    • 在RAG系统中,逻辑路由可能涉及到对查询语句的解析,识别出查询中的逻辑关系,如AND、OR、NOT等操作。
    • 逻辑路由的目标是确保查询按照既定的规则和顺序被正确处理,以便系统能够生成准确的回答。
    • 例如,如果用户提出一个复杂的SQL查询,逻辑路由会确保查询中的各个部分按照正确的逻辑顺序被执行。

二、RAG技术涉及的以下几个关键过程

  1. 查询处理

    • 用户提出问题后,系统首先需要构建一个有效的查询(Query Construction)。
    • 系统将自然语言查询转换为数据库查询语言,如SQL或Cypher(Text-to-SQL, Text-to-Cypher)。
  2. 数据检索与排名

    • 系统从多种数据源(如关系型数据库、图数据库、向量数据库)检索相关文档(Retrieval)。
    • 对检索到的文档进行排名(Ranking),以确定哪些文档最相关。
  3. 文档处理与优化

    • 对文档进行精炼(Refinement),可能包括重新排名、过滤或压缩,以提高相关性。
    • 自动生成元数据(Auto-generate metadata)以辅助检索。
    • 对文档进行分块优化(Chunk Optimization),以便于处理和生成回答。
  4. 检索增强与生成

    • 使用RAG-Fusion等技术将检索到的信息与生成的回答结合起来。
    • 主动检索(Active Retrieval)确保在初始检索不相关时能够重新检索或从新数据源获取信息。
  5. 语义理解和微调

    • 使用语义分割器(Semantic Splitter)来处理文档,提高理解的准确性。
    • 对模型进行微调(Fine-tuning),如使用ColBERT等先进的嵌入模型,以提高检索和生成的质量。
  6. 文档摘要与结构化

    • 构建文档摘要的树状结构(Tree of document summarization),以便于在不同抽象层次上理解和回答。
    • 优化文档转换为紧凑形式的工具(如RAPTOR),提高检索效率。
  7. 自我增强与迭代

    • 自我增强的RAG(Self-RAG)和重复回答检索(RRR)允许系统自我改进其检索和生成过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/459175.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【多模态大模型】跨越视觉-语言界限:BLIP的多任务精细处理策略

BLIP 核心思想MED架构和CapFilt方法效果 总结CLIP模型 VS BLIP模型CLIP模型BLIP模型 核心思想 论文:https://proceedings.mlr.press/v162/li22n/li22n.pdf 代码:https://github.com/salesforce/BLIP BLIP(Bootstrapping Language-Image Pre…

C语言笔试题之实现C库函数 pow()(递归的思想)

实例要求: 1、请你实现C库函数 pow()(stdio.h & math.h) ,即计算 x 的整数 n 次幂函数(即x^n );2、函数声明:double myPow(double x, int n);参数:1、x …

JavaScript 入门

目录 第一个知识点:引入js文件 内部引用: 外部引用: 第二个知识点:javascript的基本语法 定义变量: 条件控制(if - else if - else) 第三个知识点:javascript里的数据类型、运算符: 数字类型 字符串类型 布尔…

fwrite、fread、fprintf、fsanf以及流的定位——标准IO——day3

今天主要讲一下这四个函数接口:fwrite、fread、fprintf、fsancf以及流的定位:ftell、rewind、fseek 函数接口 fwrite fwrite:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); 功能:向流中写入nmemb个对象,每个对象size字节…

[word] word小数点对齐怎么设置 #微信#其他#其他

word小数点对齐怎么设置 使用Word编辑文档的时候,如果有小技巧的话,可以解决很多遇到的问题,也让工作更高效的完成,下面给大家分享word小数点对齐怎么设置的小技巧。 1、设置格式 选中内容,点击段落一一制表符&#…

S3 Browser工具得使用

新增账号 如果需要设置签名得版本,选择上图右下角得advanced setting

【算法设计与分析】求根节点到叶节点数字之和

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数…

python多进程共享字典方案

三者对比 先给出demo代码: import time from multiprocessing import Managerfrom UltraDict import UltraDictdef mul():t1 time.time()d Manager().dict()t2 time.time()for i in range(100000):d[i] iprint(f"[multiple] insert value: {time.time() - t2} s&quo…

【深度学习: AutoAugment】使用 AutoAugment 提高深度学习性能

【深度学习: AutoAugment】使用 AutoAugment 提高深度学习性能 结果 深度学习在计算机视觉领域的成功可以部分归因于大量标记训练数据的可用性——随着训练数据的质量、多样性和数量的增加,模型的性能通常会提高。然而,收集足够的高质量数据来…

cesium mapboxgl+threebox glb 朝向问题

一、3Dbuilder打开glb 二、cesium在pitch和heading都为0的情况下,不设置模型的朝向 三、mapboxglthreebox在pitch和bearing都为0的情况下,不设置模型的朝向 四、对于地图默认视角,cesium设置pitch-90、heading0的时候和mapboxglthreebox设置p…

2023年全国职业院校技能大赛软件测试赛题第3套

2023年全国职业院校技能大赛 软件测试赛题第3套 赛项名称: 软件测试 英文名称: Software Testing 赛项编号: GZ034 归属产业: 电子与信息大类 …

【Linux C | I/O模型】IO复用 | poll、ppoll函数详解

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…