首页 > 其他分享 >RAG技术要点及英智未来的应用实践

RAG技术要点及英智未来的应用实践

时间:2024-08-06 17:28:24浏览次数:7  
标签:RAG AI 模型 英智 生成 智能 要点

 RAG是检索增强生成(Retrieval-augmented Generation),概念是在2020年发表的论文《面向知识密集型NLP任务的检索增强生成》中提出的。

LLM的工作原理是基于预训练的历史数据进行推理生成文本,所以LLM在生成回答的时候可能会引入了过期的、不可预测的或者错误的信息,导致大语言模型(LLM)在生成回答时可能产生的不准确或具误导性的输出,这种导致LLM生成毫无意义的或者错误的内容,称为AI幻觉。

RAG利用向量相似度检索技术搜索文档,然后组合成prompt喂给大模型,大模型再生成最终的答案,能有效的解决AI幻觉问题和知识更新等问题。

据调查统计,目前超过80%的落地应用基本都是RAG。

 

 RAG工作原理

做好RAG要经过数据提取、数据索引、检索、生成四个阶段,每个阶段都有不少难点。先用一张简单的图给大家看下RAG的过程:

1. 首先是数据提取

这一步的核心是要把各种结构化,非结构化数据能提取出来,用于后面的处理。这里的复杂度主要是:

  • 文件格式复杂,以pdf为例子,不光有文字,还夹杂有图表,图片里面又有文字。

  • 文件有上下文,要把上文相关的元信息提取出来,后面就更容易处理。如果不提取元信息,那下一步数据分块,就容易切分错误。

2. 其次数据索引

这一步做好文档的切分, embedding模型,把文件embedding成向量,才可以把向量存到向量数据库里面去。这里的难点又有两个:

  • 数据切分,过大、或过小都会有问题。所以一般是按照300~400个字节切分。还有处理更精细的,是按意图切分。

  • 另外就是embedding模型,文本类的有BGE、openAI的text-embedding-3;文图关联的有CLIP。现在这块的多模态模型是下一步重点。

3. 然后就是检索

检索主要分query预处理、召回两个步骤:

  • query预处理主要的步骤是意图识别、同义词生成、专有名词生成等。

  • 召回主要就是向量数据库的工作,要支持向量检索、文本检索、多路召回能力、召回之后重排技术。

4. 最后是生成阶段

检索出来的结果在给大模型之前,还要prompt优化,包括prompt加上step by step、针对场景的加上相应的提示词等。最后的结果依赖大模型的理解、生成、逻辑推理能力,大模型能力的强弱也直接决定RAG的效果。

RAG应用场景

  • 通用问答系统:RAG可以根据检索到的相关信息生成准确的答案,帮助员工更快地获取所需信息,提高决策效率,这些答案可能不直接包含在训练数据中,如公司规章制度、新员工入职培训、公司合同资料解读和查询等。

  • 智能客服系统:RAG可以结合产品资料知识库、聊天记录、用户反馈等数据,自动为用户提供更精准的回答。

  • 自动化文档处理:企业可以利用RAG和LLM自动化文档处理流程,例如自动生成合同、报告或策略文件,节省时间和人力成本。

  • 数据分析和处理:LLM和RAG可以结合外部数据源,如数据库、API、文件等,为数据处理和分析提供更丰富的信息。

     

RAG工作实践

英智「智能宝」是一款结合LLM+RAG技术的企业级AI智能体,通过私有化部署和分级权限管控确保信息安全边界、实时关联企业内部数据提供精准信息服务、面向企业业务场景深度定制办公助理智能体,助力企业打造AI时代的新质生产力!

优势一:数据安全边界

私有化部署,企业内部数据不出组织边界,有效防止企业隐私泄漏的风险。

优势二:分级权限管理

高度定制化的访问控制,分角色、分权限、分部门授权,企业内部员工之间也可做到数据隔离,确保内部敏感信息的安全。

优势三:内容关联性

在大模型的通用智能能力之上,结合经过授权的企业内部知识和实时数据,为企业员工提供更精准、更有针对性的信息。

优势四:场景化数字助理

深挖行业属性和应用场景,集成为AI智能体的能力,与企业员工协同工作,无缝衔接企业现有工作模式,提高工作效率和质量。

优势五:与ChatGPT同等智能水平

支持Llama3、Gemma、Qwen、Baichuan、GLM等业内主流大模型,采用领先的vLLM推理引擎,可插拔式更换大模型,确保智能水平和最前沿的AI技术保持同步。

英智AI智能体通过内置的高质量行业大模型,能够为企业结合自身数据快速创建定制化模型,满足企业特定商业场景需求,为教育、金融、法律等各行各业提供了大模型解决方案。比如:

  • 在教育行业,英智AI智能体可以辅助教师制作教学物料、协助教师优化教学方法、为学生定制个性化的学习路径、提供学生实时反馈与互动等;
  • 在金融行业,英智AI智能体可以为金融客户提供专业咨询服务、帮助投资人员分析投资决策、帮助金融机构提供风险评估预测、自动化生成分析报告等;
  • 在法律行业,英智AI智能体可以协助撰写各类专业的文书、帮助理解和分析案件等。

更多行业解决方案,请继续关注「英智未来」公众号。

免费体验,请访问:https://bonsai.baystoneai.com

添加“英智未来”好友,获取免费体验资格

 

标签:RAG,AI,模型,英智,生成,智能,要点
From: https://www.cnblogs.com/ai2nv/p/18345639

相关文章

  • 基于LangChain构建RAG应用
    一、LLM接入LangChain1.LangChain中LLM组成与LLMAPI原生调用方法不同,在LangChain中,LLM调用过程高度抽象,其由模型(Model)、提示词模版(PromptTemplate)、输出解析器(Outputparser)组成;如上图所示:提示词模版:将用户输入添加到一个提示词模板中,这个提示词模版提供有......
  • Android开发 - DialogFragment 类解析
    DialogFragment是什么DialogFragment是一种用于显示对话框的工具,同时它也是一个抽象类。在Android应用中,对话框是一种小窗口,通常用于显示重要信息或提示用户进行某些操作。通过使用DialogFragment,我们可以在应用中方便地显示和管理对话框DialogFragment的好处使用Dialo......
  • 《Advanced RAG》-03-使用 RAGAs + LlamaIndex 进行 RAG 评估
    摘要文章首先介绍了RAG评估的三个主要部分:输入查询、检索上下文和LLM生成的响应。提到了RAGAs提出的RAG评估指标,包括Faithfulness、AnswerRelevance和ContextRelevance,以及RAGAs网站提供的两个额外指标:ContextPrecision和ContextRecall。详细解释了每......
  • 《Advanced RAG》-05-探索语义分块(Semantic Chunking)
    摘要文章首先介绍了语义分块在RAG中的位置和作用,并介绍了常见的基于规则的分块方法。然后,阐述了语义分块的目的是确保每个分块包含尽可能多的独立语义信息。接着,文章分别介绍了三种语义分块方法的原理和实现方法,并对每种方法进行了总结和评估。文章观点语义分块是R......
  • 解锁GraphRag.Net的无限可能:手把手教你集成国产模型和本地模型
        在上次的文章中,我们已经详细介绍了GraphRag的基本功能和使用方式。如果你还不熟悉,建议先阅读前面的文章    通过前两篇文章,相信你已经了解到GraphRag.Net目前只支持OpenAI规范的接口,但许多小伙伴在社区中提议,希望能增加对本地模型(例如:ollama等)的支持。所以这......
  • RAG知识库之针对长文档的Raptor索引
          在现有的朴素RAG应用中其只是简单的对文档进行分块后存储的向量库中,然后在使用是根据提问问题从查询向量库中查询相识度较高的文档快作为问题上下文提交到LLM让其根据上下文去回答用户所提问的问题。对于小文本可以直接将整个文档作为上下文或使用上篇文章所提到的......
  • RAPTOR:索引树状RAG和递归推理检索系统
    RAPTOR论文和源码论文:https://arxiv.org/pdf/2401.18059代码:https://github.com/parthsarthi03/raptorRAPTOR(RECURSIVEABSTRACTIVEPROCESSINGFORTREE-ORGANIZEDRETRIEVAL),如这一论文标题中所述,这一方法是把文档按照树状结构进行索引组织,再使用递归推理来进行检索。RAP......
  • Android最全8万字Fragment面试题及参考答案(持续更新)
    目录什么是Fragment?Fragment和Activity之间的关系是什么?为什么要使用Fragment而不是直接使用多个Activity?Fragment是如何被添加到Activity中的?如何从Activity中移除一个Fragment?Fragment可以嵌套吗?如何实现?如何获取当前Activity中的Fragment?如何通过FragmentManager......
  • Android开发 - Fragment 类详解
    Fragment是什么Fragment是Android开发中的一种模块化组件,一个抽象类,允许开发者将一个Activity分解成多个独立的、可重用的部分。每个Fragment都有自己的生命周期和用户界面,可以独立管理自己的UI和行为,它们可以动态地添加、移除或替换,从而提高应用程序的灵活性和可维护......
  • Android开发 - DetailFragment 类解析
    DetailFragment是什么DetailFragment专门用于显示详细信息。当用户在主界面(例如一个列表)中选择某个项时,应用会使用DetailFragment显示该项的详细信息。它通常与主界面的Fragment协同工作,形成一个主从结构(Master-Detail)使用场景新闻应用:主界面显示新闻列表,DetailFrag......