LLM之RAG实战(三十七)| 高级RAG从理论到LlamaIndex实现
LLM之RAG实战(三十七)| 高级RAG从理论到LlamaIndex实现
2024/12/14
论文《Retrieval-Augmented Generation for Large Language Models: A Survey》对检索增强生成(RAG)总结了如下三种方式: Naive RAG 高级RAG 模...
LLM之RAG实战(二十一)| 使用LlamaIndex的Text2SQL和RAG的功能分析产品评论
LLM之RAG实战(二十一)| 使用LlamaIndex的Text2SQL和RAG的功能分析产品评论
【API开发】 亚马逊和沃尔玛等电子商务平台上每天都有大量的产品评论,这些评论是反映消费者对产品情绪的关键接触点。但是,企业如何从庞大的数据库获得有意义的见解?     我们可以使用LlamaIndex将SQL与RAG(Retrieval Augme...
2024/12/14
LLM之RAG实战(三十一)| 探索RAG重排序
LLM之RAG实战(三十一)| 探索RAG重排序
【AI驱动】  重新排序在检索增强生成(RAG)过程中起着至关重要的作用。在naive RAG方法中,可以检索大量上下文,但并非所有上下文都与问题相关。重新排序允许对文档进行重新排序和过滤,将相关文档放在最前面,从而提高RAG的有效性。      ...
2024/12/14
LLM之RAG实战(三十六)| 使用LangChain实现多模态RAG
LLM之RAG实战(三十六)| 使用LangChain实现多模态RAG
【AI驱动】 我们之前介绍的RAG,更多的是使用输入text来查询相关文档。在某些情况下,信息可以出现在图像或者表格中,然而,之前的RAG则无法检测到其中的内容。       针对上述情况,我们可以使用多模态大模型来解决,比如GPT-4-Visio...
2024/12/14
LLM之RAG实战(二十九)| 探索RAG PDF解析
LLM之RAG实战(二十九)| 探索RAG PDF解析
【日积月累】 对于RAG来说,从文档中提取信息是一种不可避免的场景,确保从源文件中提取出有效的内容对于提高最终输出的质量至关重要。        文件解析过程在RAG中的位置如图1所示:       在实...
2024/12/14
LLM之RAG实战(二十五)| 使用LlamaIndex和BM25重排序实践
LLM之RAG实战(二十五)| 使用LlamaIndex和BM25重排序实践
【AI驱动】 本文,我们将研究高级RAG方法的中的重排序优化方法以及其与普通RAG相比的关键差异。 一、什么是RAG?       检索增强生成(RAG)是一种复杂的自然语言处理方法,它包括两个不同的步骤:信息检...
2024/12/14
LLM之RAG实战(三十三)| 探索RAG在Table的应用
LLM之RAG实战(三十三)| 探索RAG在Table的应用
【AI驱动】     实现RAG是一个挑战,尤其是在有效解析和理解非结构化文档中的表格时,对于扫描的文档或图像格式的文档来说尤其困难。这些挑战至少有三个方面: 扫描文档或图像文档的复杂性,如其多元化的结构、非文本元素以及手写和打印内容的组合,这给...
2024/12/14
LLM之RAG实战(四十)| 使用LangChain SQL Agent和MySQL搭建多层RAG ChatBot
LLM之RAG实战(四十)| 使用LangChain SQL Agent和MySQL搭建多层RAG ChatBot
【AI驱动】  在传统的意义上,RAG 主要是从文档中检索用户想要的数据,从而提高大模型的能力,减少幻觉问题。今天,我们从另一个维度介绍RAG,RAG不从文档中获取数据,而是从MySQL数据库检索数据。我们可以使用LangChain SQL A...
2024/12/14
LLM之RAG实战(二十八)| 探索RAG query重写
LLM之RAG实战(二十八)| 探索RAG query重写
【AI驱动】 在检索增强生成(RAG)中,我们经常遇到用户原始查询的问题,如措辞不准确或缺乏语义信息,比如“The NBA champion of 2020 is the Los Angeles Lakers! Tell me what is langc...
2024/12/14
LLM之RAG实战(二十三)| LlamaIndex高级检索(二):父文档检索
LLM之RAG实战(二十三)| LlamaIndex高级检索(二):父文档检索
【AI驱动】        在本文,我们将深入探讨一下从小到大检索技术中的父文档检索。 一、块引用:较小的子块引用较大的父块       为了让您快速回顾一下什么是父文档检...
2024/12/14
LLM之RAG实战(二十七)| 如何评估RAG系统
LLM之RAG实战(二十七)| 如何评估RAG系统
【AI驱动】  有没有想过今天的一些应用程序是如何看起来几乎神奇地智能的?这种魔力很大一部分来自于一种叫做RAG和LLM的东西。把RAG(Retrieval Augmented Generation)想象成人工智能世界里聪明的书呆子,它会挖掘大量信息,准...
2024/12/14
LLM之RAG实战(三十二)| 使用RAGAs和LlamaIndex评估RAG
LLM之RAG实战(三十二)| 使用RAGAs和LlamaIndex评估RAG
【AI驱动】  在之前的文章中,我们介绍了RAG的基本流程和各种优化方法(query重写,语义分块策略以及重排序等)。那么,如果发现现有的RAG不够有效,该如何评估RAG系统的有效性呢?    在本文中,我们将介绍RAG评估框架RAGAs[1],并...
2024/12/14
LLM之RAG实战(三十四)| 使用LangChain的三个函数来优化RAG
LLM之RAG实战(三十四)| 使用LangChain的三个函数来优化RAG
【AI驱动】 检索增强生成(RAG)通常与大型语言模型(LLM)一起使用,是一种使用外部知识并减少LLM幻觉的方法。然而,基本RAG有时候并不总是有很好的效果的,有可能从向量数据库中检索出与用户提示不相关的文档,导致LLM无法总结出正确的答案。 本...
2024/12/14
LLM之RAG实战(四十一)| 使用LLamaIndex和Gemini构建高级搜索引擎
LLM之RAG实战(四十一)| 使用LLamaIndex和Gemini构建高级搜索引擎
【AI驱动】 Retriever 是 RAG(Retrieval Augmented Generation)管道中最重要的部分。在本文中,我们将使用 LlamaIndex 实现一个结合关键字和向量搜索检索器的自定义检索器,并且使用 Gemini大模型来进...
2024/12/14
LLM之RAG实战(三十八)| RAG分块策略之语义分块
LLM之RAG实战(三十八)| RAG分块策略之语义分块
【AI驱动】  在RAG应用中,分块是非常重要的一个环节,常见的分块方法有如下几种: Fixed size chunking Recursive Chunking Document Specific Chunking Seman...
2024/12/14
我用这个Python库一天搭建了个Agent平台!
我用这个Python库一天搭建了个Agent平台!
【API开发】 我用这个Python库一天搭建了个Agent平台! 今天要跟大家分享一个超级有趣的项目 - 用Python搭建一个AI智能助手平台。这个平台可以让AI自主思考和行动,就像钢铁侠的贾维斯一样!我们会用到OpenAI的API,但不需要复杂...
2024/12/13