跳转到主要内容

通过构建和利用知识图谱来提高基于RAG的应用程序的准确性

在使用Neo4j和LangChain的RAG应用程序中构建和检索知识图信息的实用指南


编者按:以下是Tomaz Bratanic的客座博客文章,他专注于Neo4j的Graph ML和GenAI研究。Neo4j是一家图形数据库和分析公司,它帮助组织深入、轻松、快速地发现数十亿数据连接中隐藏的关系和模式。


图检索增强生成(Graph RAG)作为传统矢量搜索检索方法的强大补充,正在获得发展势头。这种方法利用了图数据库的结构化特性,将数据组织为节点和关系,以增强检索信息的深度和上下文性。

 

【LangChain开发】LangChain是基于LLM的应用程序的过去,这是未来

LLM

我最近遇到了EmbeddChain,这是一个使用LLM构建聊天机器人的框架,可以与各种类型的数据交互,如YouTube视频、PDF、网页、docx文件、文档和Notion笔记。与LangChain或Llama Index等替代品相比,它的与众不同之处在于其令人难以置信的用户友好界面。

接下来,我将概述EmbedChain的一些实际应用。但在进入之前,您需要安装模块:

pip install embedchain

用例1:与你可以使用的维基百科内容对话

EmbeddChain与维基百科文章进行互动对话。你所需要做的就是配置你的OpenAI API密钥,指定你想要与之互动的文章,并开始提出你的问题。在幕后,EmbedChain处理嵌入和索引的创建,同时管理整个检索增强生成(RAG)系统。

【LangChain】与文档聊天:将OpenAI与LangChain集成的终极指南

欢迎来到人工智能的迷人世界,在那里,人与机器之间的通信越来越模糊。在这篇博客文章中,我们将探索人工智能驱动交互的一个令人兴奋的新前沿:与您的文本文档聊天!借助OpenAI模型和创新的LangChain框架的强大组合,您现在可以将静态文档转化为交互式对话。

你准备好彻底改变你使用文本文件的方式了吗?然后系好安全带,深入了解我们将OpenAI与LangChain集成的终极指南,我们将一步一步地为您介绍整个过程。

什么是LangChain?

LangChain是一个强大的框架,旨在简化大型语言模型(LLM)应用程序的开发。通过为各种LLM、提示管理、链接、数据增强生成、代理编排、内存和评估提供单一通用接口,LangChain使开发人员能够将LLM与真实世界的数据和工作流无缝集成。该框架允许LLM通过合并外部数据源和编排与不同组件的交互序列,更有效地解决现实世界中的问题。

我们将在下面的示例应用程序中使用该框架从文本文档源生成嵌入,并将这些内容持久化到Chroma矢量数据库中。然后,我们将使用LangChain在后台使用OpenAI语言模型来查询用户提供的问题,以处理请求。

这将使我们能够与自己的文本文档聊天。

在Jupyter笔记本中使用Python语言链在Mac上运行GPT4All

在过去的三周左右时间里,我一直在关注本地运行的大型语言模型(LLM)的疯狂开发速度,从llama.cpp开始,然后是alpaca,最近是(?!)gpt4all。

在那段时间里,我的笔记本电脑(2015年年中的Macbook Pro,16GB)在修理厂里呆了一个多星期,直到现在我才真正有了一个快速的游戏机会,尽管我10天前就知道我想尝试什么样的东西,而这在过去几天才真正成为可能。

根据这个要点,以下脚本可以作为Jupyter笔记本下载 this gist.

【langchain】在单个文档知识源的上下文中使用langchain对GPT4All运行查询

In the previous post, Running GPT4All On a Mac Using Python langchain in a Jupyter Notebook, 我发布了一个简单的演练,让GPT4All使用langchain在2015年年中的16GB Macbook Pro上本地运行。在这篇文章中,我将提供一个简单的食谱,展示我们如何运行一个查询,该查询通过从单个基于文档的已知源检索的上下文进行扩展。

I’ve updated the previously shared notebook here to include the following…

基于文档的知识源支持的示例查询

使用langchain文档中的示例进行示例文档查询。

【LLM】LangChian自动评估( Auto-Evaluator )机会

Auto-Evaluator Opportunities

编者按:这是兰斯·马丁的一篇客座博客文章。

TL;DR

我们最近开源了一个自动评估工具,用于对LLM问答链进行评分。我们现在发布了一个开源、免费的托管应用程序和API,以扩展可用性。下面我们将讨论一些进一步改进的机会。

上下文

文档问答是一个流行的LLM用例。LangChain可以轻松地将LLM组件(例如,模型和检索器)组装成支持问答的链:输入文档被分割成块并存储在检索器中,在给定用户问题的情况下检索相关块并传递给LLM以合成答案。

问题

质量保证系统的质量可能有很大差异;我们已经看到由于特定的参数设置而产生幻觉和回答质量差的情况。但是,(1)评估答案质量和(2)使用此评估来指导改进的QA链设置(例如,块大小、检索到的文档数)或组件(例如,模型或检索器选择)并不总是显而易见的。

【LangChain 】LangChain 计划和执行代理

TL;DR:我们正在引入一种新型的代理执行器,我们称之为“计划和执行”。这是为了与我们以前支持的代理类型形成对比,我们称之为“Action”代理。计划和执行代理在很大程度上受到了BabyAGI和最近的计划和解决论文的启发。我们认为Plan and Execute非常适合更复杂的长期规划,但代价是需要调用更多的语言模型。我们正在将其初始版本放入实验模块,因为我们预计会有快速的变化。

链接:

到目前为止,LangChain中的所有代理都遵循ReAct文件开创的框架。让我们称之为“行动特工”。这些算法可以大致用以下伪代码表示: