Intro
- RAG技术为大型语言模型提供外部知识,增强模型的响应能力。
- 通过嵌入模型将文本转化为向量,提升信息检索的效率。
- RAG允许模型在查询时快速整合相关文档信息,从而提升回答的准确性。
即使是稍微有点规模的方法也很快就会崩溃,原因在于大型语言模型的上下文窗口是有限的。那么什么是上下文窗口呢?上下文窗口是你在提示中可以给大型语言模型的单词或标记的数量,加上它作为回应输出的单词或标记的数量,而这些通常是有限的。
input- embedding- vector -retrieval - chunks- llm- response
agentic RAG
Agentic Retrieval-Augmented Generation (Agentic RAG) 是一种创新的自然语言处理方法,结合了信息检索和生成模型的优势。它通过引入智能代理,进一步增强了传统RAG的功能。
https://x.com/llama_index/status/1809977874021232689
Implementing Agentic RAG using Langchain | by Plaban Nayak | The AI Forum | Medium
Advanced RAG on Hugging Face documentation using LangChain - Hugging Face Open-Source AI Cookbook
-
Building a multi-agent concierge system — LlamaIndex, Data Framework for LLM Applications
There are also three “meta” agents: 还有三个“元”代理:
- A concierge agent: this agent is responsible for interacting with the user when they first arrive, letting them know what sort of tasks are available, and providing feedback when tasks are complete. 礼宾代理:该代理负责在用户首次到达时与用户进行交互,让他们知道可以执行哪些类型的任务,并在任务完成时提供反馈。
- An orchestration agent: this agent never provides output directly to the user. Instead, it looks at what the user is currently trying to accomplish, and responds with the plain-text name of the agent that should handle the task. The code then routes to that agent. 编排代理:该代理从不直接向用户提供输出。相反,它会查看用户当前正在尝试完成的任务,并以应处理该任务的代理的纯文本名称进行响应。然后代码路由到该代理。
- A continuation agent: it’s sometimes necessary to chain agents together to complete a task. For instance, to check your account balance, you need to be authenticated first. The authentication agent doesn’t know if you were simply trying to authenticate yourself or if it’s part of a chain, and it doesn’t need to. When the authentication agent completes, the continuation agent checks chat history to see what the original task was, and if there’s more to do, it formulates a new request to the orchestration agent to get you there without further user input. 连续代理:有时需要将代理链接在一起才能完成任务。例如,要检查您的帐户余额,您需要先进行身份验证。身份验证代理不知道您是否只是想对自己进行身份验证,或者它是否是链的一部分,而且它也不需要这样做。当身份验证代理完成时,延续代理会检查聊天历史记录以查看原始任务是什么,如果还有更多任务要做,它会向编排代理制定一个新请求,以便您无需进一步的用户输入即可完成任务。
Rank RAG
英伟达又在 RAG 领域整了个大活!🔥, RankRAG 来了!无需微调,利用基于 Llama3 的 Retrieve-Rerank-Generate 流程,在 9 个知识密集型基准测试中明显优于 GPT-4⚡️
整合 Rank 能力,高效选择召回的上下文,提高性能保持效率,适配不同的 Embedding 检索器
https://arxiv.org/abs/2407.02485
GraphRAG
微软开源的GraphRAG
microsoft/graphrag: A modular graph-based Retrieval-Augmented Generation (RAG) system
GraphRAG 是 RAG 领域可以造就下一个 Google 的技术!随着最近微软开源 GraphRAG 并将其带上热点顶峰,Neo4j 接着就发布《GraphRAG 宣言》!介绍了 GraphRAG 最全面的技术,包括学习教程,以及端到端的开源技术栈,同时 GraphRAG 在 43 个业务问题中准确性平均提高 3x
neo4j-labs/llm-graph-builder: Neo4j graph construction from unstructured data using LLMs
https://x.com/tuturetom/status/1811585264864886879
Sources
-
GraphRAG的概念很简单,但是比起普通RAG起到的效果是革命性的。这个thread会分享我一周GraphRAG入门到实践的心得。https://x.com/VoidAsuka/status/1818322857925251409
-
两篇入门这个概念的好文章:
-
帮助我三十分钟以内做成了一个GraphRAG poc:给一段公司的文本数据,生成图模型并且进行搜索回答。的教程的和代码,来自PingCAP: https://t.co/dAG47ZgJHb, https://t.co/FhW6I0E9Wa
-
针对公司内部的大量结构化数据如何快速将其转换成图数据库?
-
利用dbt等开源工具将已有的SQL table进行导出,定义schema(不嫌麻烦也可以用multi agent来做),建立初始图。
-
采用flink等流数据库,接入不同source的SQL table来进行增量更新。
-
-
-
LlamaIndex 中的 GraphRAG! GraphRAG 是 Microsoft 研究的一项技术,通过将文本提取、网络分析、LLM 提示和摘要结合到单个系统中,可以丰富地理解文本数据集。 该过程涉及两个主要步骤:生成一个图表,根据提供的文本构建实体及其关系使用摘要来回答查询 在本视频中,您将了解如何使用 LlamaIndex 设置 Graph RAG 管道,包括从文本创建节点块、构建属性图索引、构建社区和生成摘要。
一探究竟: https://youtube.com/watch?v=xnoEjczoqqE
或者查看它所基于的笔记本: https://github.com/run-llama/llama_index/blob/main/docs/docs/examples/cookbooks/GraphRAG_v1.ipynb
-
Databricks 出品的生成式 AI Cookbook,涵盖了理论知识和动手实验两大部分。
首版 Cookbook 主要针对 RAG 方向,后续更新会纳入 Agents & function calling、Prompt Engineering、Fine Tuning 和 Pre-Training
Databricks Generative AI Cookbook — Databricks Generative AI Cookbook
Tools
-
Quivr 是一个开源 RAG 框架,用于部署和使用人工智能助手
欢迎访问 Quivr 文档!在这里,您可以找到有关协作软件开发的帮助、指导和支持。无论您是参与开源社区还是大型软件团队,这些资源都能让您快速上手!
Quivr 是您的 “第二大脑”,可以充当您的私人助理。Quivr 是一个可以创建人工智能助手(简称 “大脑”)的平台。这些助手具有专门的设计能力。有些可以连接到特定的数据源,允许用户直接与数据交互。另一些则是由 Rag 技术驱动的特定用例专用工具。这些工具处理特定的输入,生成实用的输出,如摘要、翻译等。
-
Vanna 是一个获得 MIT 许可的开源 Python RAG(检索增强生成)框架,用于 SQL 生成和相关功能。
-
RAG 2.0 新范式来了 !11.3 K Star 🌟 的RAGFlow 0.8 版本正式发布 Agentic Workflow,基于有环图为 RAG 引入带反思的 Agent 能力
-
langgenius/dify: Dify is an open-source LLM app development platform.
开源的扣子coze?
LlamaIndex 最近几个月一直研究这个我觉得问题不大,他们一直都有学术实验范畴的探索性实践,这也是我很欣赏他们的一点,行业需要有能力的公司做这些探索。但如果一个纯商业化项目或者企业应用现阶段也搞这个方向,我个人认为就跑偏了。
具体来讲,RAG 落地实践上的难是因为 1-开放域问答用户意图识别难;2-异构数据清洗难;3-索引和召回策略选择难;4-LLM 生成幻觉控制难等等,且每一层都需要按具体应用场景进行定制化的方案设计、还有算法和工程调优等一揽子工作。加入 Agent 之后上述问题一个都没解决,反而又额外引入一层难点。
-
开源仅 1 天就斩获近万星!超越 RAG、让大模型拥有超强记忆力的 Mem0 火了
与传统的 RAG 技术相比,Mem0 在实体关系理解、上下文连续性、自适应学习和动态更新信息等方面具有显著优势。Mem0 安装和使用简便,提供了易于操作的 API,适用于虚拟陪伴、生产力工具和 AI Agent 客户支持等多种 AI 应用场景。文章还介绍了 Mem0 的技术细节、应用案例以及与 RAG 的区别,并提供了一些简单的代码示例。
-
Cohere
Intro: 一个优化 prompt 的产品。Cohere Prompt Tuner 使用可定制的优化和评估循环来改进 LLM Prompt,基于 Google Deepmind 的论文 OPRO (Optimization by PROmpting) 方法,使用 LLM 驱动的评估结果来迭代优化 Prompts。
Source: https://dashboard.cohere.com/prompt-tuner 、https://x.com/shao__meng/status/1818456618494734549 、https://baoyu.io/translations/cohere/intro-prompt-tuner
Others
-
https://x.com/llama_index/status/1812157431788835094
Check out Hanane Dupouy’s post here: https://linkedin.com/posts/hanane-d-algo-trader_amazon-10k-financial-report-using-llamaparse-activity-7216320268892282880-dK6w?utm_source=share&utm_medium=member_desktop 使用 GPT-4o 对财务报告进行解析和合成 RAG 财务报告可能包含大量图表,而基于文本的解析器很难处理这些图表。 LlamaParse 是使用 gpt-4o 等多模态模型将文本、图表和表格信息提取为结构良好的表述的最简单方法。 这样不仅能获得好的答案,还能获得易于理解的来源和引文。 点击此处查看 Hanane Dupouy 的文章: https://linkedin.com/posts/hanane-d-algo-trader_amazon-10k-financial-report-using-llamaparse-activity-7216320268892282880-dK6w?utm_source=share&utm_medium=member_desktop
-
我们很高兴与 @jeffxtang ( @AIatMeta ) 合作发布一整套关于代理 RAG 的指南:从路由和工具使用到代理推理循环分层,再到构建多代理 RAG - 文件代理。 这直接受到我们关于 Agentic RAG 的 @DeepLearningAI 课程的启发。在这里,我们可以展示您还可以使用纯本地模型 (llama 3) 来处理数据上的复杂代理工作流程。 有多种集成可以帮助运行 Llama 3,从 @GroqInc 到 @FireworksAI_HQ
这包括以下内容: L1:路由器引擎 L2:工具调用 L3:构建代理推理循环 L4:构建多文档代理 此处的 Github 资源: https://github.com/meta-llama/llama-recipes/tree/main/recipes/3p_integrations/llamaindex/dlai_agentic_rag
-
create-llama 是使用 @llama_index 创建代理 RAG 全栈项目的最简单方法。 v0.1.19 添加了将私有文件(PDF、DOCX、TXT)上传到中央矢量存储。
-
https://x.com/eviljer/status/1812834884517515532
GraphRAG 基建:Camel 知识图谱构建。下午硬着头皮跑通了 Camel 开源的提取方案,分享一下卡点的解决方法。
-
https://x.com/baptadn/status/1813232789946253703
一个RAG的层级演示,a mental representation of the system