首页 > 科技周边 > 人工智能 > Cognee Llamaindex:构建强大的GraphRag管道

Cognee Llamaindex:构建强大的GraphRag管道

Christopher Nolan
发布: 2025-03-05 10:20:12
原创
443 人浏览过

在将外部知识连接到大语言模型(LLMS)时,开发人员经常努力地努力整合来自众多源的数据(其中一些结构化的,其中大部分)非结构化的 - 虽然仍在快速,准确的信息返回。这一挑战是检索功能生成(RAG)的核心,它为LLMS提供了一种令人信服的方式,可以按需提取特定于域的数据。但是,随着数据量表和对精确连接的需求的增长,破布管道可能会变得笨拙。

>

这就是Cognee和Llamaindex介入的地方,它引入了将标准抹布转换为GraphRag的系统 - 这种方法不仅可以检索相关的文本,而且还建立了在数据点之间建立更丰富的基于图形的关系。从本质上讲,它超越了基于静态的,基于块的检索,并提供了全球知识的“地图”,可以为更强大和上下文准确的响应提供动力。

学习目标

了解检索型发电(RAG)的基本原理及其在增强LLM功能中的作用。
  • 了解Cognee和Llamaindex如何启用GraphRag以进行更结构化和上下文感知的知识检索。
  • >探索构建GraphRag管道的过程,从数据摄入到基于图的查询。
  • 发现基于图的检索比抹布系统中基于块的传统方法的优势。
  • 获得对现实世界AI工作流中GraphRag的实际应用和部署策略的见解。

>本文是> > data Science Blogathon的一部分。 内容表

    rag在简短的
  • 中介绍cognee和llamaindex
  • >建立一个graphrag管道:概念性概述
  • 为什么选择Cognee和Llamaindex? graphRag
  • 结论
  • 常见问题
  • 抹布简要
在推断期间,

>检索 - 调格生成(RAG)将外部知识注入大语言模型。通过将数据转换为向量嵌入并将其存储在矢量数据库中,RAG系统允许LLMS推论他们本质上不具有的特定领域信息。关键好处包括:

  • 将特定于域的数据连接到llms:弥合通用语言模型和专业知识之间的差距。>
  • 降低成本:仅通过检索与查询相关的数据来启用更多专注的LLM使用。
  • 提高精度
  • :超过基本LLM的能力的目标,域量的响应。 但是,传统的抹布可能需要杂耍多个工具,处理复杂的元数据,并管理对不断发展的数据集的更新。此外,由于每个块在很大程度上都孤立地处理,因此标准抹布的“块和嵌入”方法可能会失去全球背景。
  • 介绍cognee和llamaindex

cognee是一个知识和记忆管理框架,它从人类创建心理图的方式中汲取灵感。通过将对象,概念和关系作为图形结构进行建模,它有助于将结构和上下文带入原始数据,从而使知识更具可通道和可互操作。 LlamainDex通过用作多功能数据集成库,从各种来源(包括数据库,API和非结构化文本)中无缝汇集数据来补充这一点。无论您是处理PDF,SQL表还是JSON端点,LlamainDex都可以将这些信息流统一到连贯的管道中。

为什么cognee?

人类启发的知识模型

:认知模仿认知功能,在图表中表示对象和概念,以突出其关系。

>

鲁棒的语义层
    :通过在本体学中形式化这些图形,开发人员可以系统地捕获含义和关系。>
  • 模块化体系结构:选择您喜欢的LLM或向量存储(例如OpenAI,Local Open-ERCE模型,Redis或您喜欢的图形数据库),然后在Cognee中无缝连接它们。
  • > cognee llamaindex = graphrag
  • 结合Cognee和LlamainDex创建GraphRag,一个系统:
  • 将原始数据转换为图形
:它不仅仅嵌入文本块,而是建立概念,节点和关系的语义层。

>生成灵活的,域特异性的本体论

:让您精确地对任何垂直或专业用例进行建模。

    启用确定性层
  • :通过基于图的逻辑和关系确保更加一致,可解释的结果。
  • 构建GraphRag管道:概念概述
  • >端到端的工作流程包括一些简单的Python代码(我们将在此处跳过),但下面是您如何使用Cognee和LlamainDex构建GraphRag管道的概念摘要:

    >步骤1:设置环境

    >您将安装和配置必要的依赖项 - cognee,llamaindex以及任何选择的LLM和数据库提供商。这一初步步骤可确保您的环境拥有管理矢量嵌入,图形存储和LLM推理所需的一切。

    >
    !pip install llama-index-graph-rag-cognee==0.1.2
    
    # Import required libraries
    import os
    import asyncio
    
    import cognee
    from llama_index.core import Document
    from llama_index.graph_rag.cognee import CogneeGraphRAG
    
    # Set API key for OpenAI
    if "OPENAI_API_KEY" not in os.environ:
        os.environ["OPENAI_API_KEY"] = ""
    登录后复制
    登录后复制

    >步骤2:准备数据集

    无论您是短文本片段还是整个文档集,都可以收集数据并将其加载到集合中。 LlamainDex可以处理各种文件格式和数据源,但是您通常会在可管理的段或“文档”中提供文本。

    documents = [
        Document(
            text="Jessica Miller, Experienced Sales Manager with a strong track record in driving sales growth and building high-performing teams."
        ),
        Document(
            text="David Thompson, Creative Graphic Designer with over 8 years of experience in visual design and branding."
        ),
    ]
    登录后复制
    步骤3:初始化cognegraphrag

    接下来,您创建一个cognegraphrag对象,指定如何存储图形(例如,使用NetworkX内存或在专用的图形数据库中)和矢量存储(例如LancectB,Pinecone或其他矢量数据库)。您还选择了LLM提供商,例如OpenAI或本地型号,以及相关的API键。

    步骤4:添加和处理数据
    cogneeRAG = CogneeGraphRAG(
        llm_api_key=os.environ["OPENAI_API_KEY"],
        llm_provider="openai",
        llm_model="gpt-4o-mini",
        graph_db_provider="networkx",
        vector_db_provider="lancedb",
        relational_db_provider="sqlite",
        relational_db_name="cognee_db",
    )
    登录后复制

    >将文档加载到系统中,允许Cognee和Llamaindex解析并嵌入它们。数据到位后,您将调用一个转换步骤,该步骤分析文本并提取有意义的实体,关系和元数据。这些变成了您的知识图中的节点和边缘。

    步骤5:执行搜索
    # Load documents into CogneeGraphRAG
    await cogneeRAG.add(documents, "test")
    登录后复制

    >具有在数据顶部构建的知识图,您可以执行两种主要查询类型:

    基于图形的

      - 利用图中的全局关系,以查看信息部分如何链接在一起。
    • 基于抹布的搜索 - 使用传统的块检索来查找相关的文本段落,而不必利用全局图上下文。
    • 基于图的方法的优点是它可以考虑所有文档中的上下文和关系。例如,如果多个文档引用一个人或概念,则图形方法有助于统一和交叉引用,以获得更全面的答案。 步骤6:探索相关节点
    >除了直接检索之外,GraphRag可让您导航关系。假设您想查看与特定实体相关的所有概念或人,知识图可以揭示这些联系,提供更深入的见解。 在这些步骤结束时,您的管道不再受标准抹布的块级约束限制。取而代之的是,您的LLM可以利用知识的强大,相互联系的视图。这会导致更具见解,凝聚力和上下文充实的答案。

    !pip install llama-index-graph-rag-cognee==0.1.2
    
    # Import required libraries
    import os
    import asyncio
    
    import cognee
    from llama_index.core import Document
    from llama_index.graph_rag.cognee import CogneeGraphRAG
    
    # Set API key for OpenAI
    if "OPENAI_API_KEY" not in os.environ:
        os.environ["OPENAI_API_KEY"] = ""
    登录后复制
    登录后复制

    为什么选择cognee and llamaindex?

    > cognee和llamaindex将基于图的推理与灵活的数据集成相结合,将传统的抹布转变为一种更具结构化和有见地的方法。这种协同作用增强了知识检索,改善了上下文理解,并简化了针对AI驱动的应用程序的部署。

    >协同的代理框架和内存

    GraphRag

    促进了代理中的长期,短期和特定于域的内存。通过在基于图的结构中维护详细的知识,代理可以随着时间的推移更准确地回忆上下文,并无缝地适应新信息。

    增强的查询和见解

    >具有更全面的视图,您的查询可以自动增长更复杂。随着时间的流逝,该图可以自我优化其关系,从而产生更丰富,更连接的数据。您的代理人可以综合多个参考或统一散布的事实,而不是从单个块中返回单个片段。

    简化的部署

    Cognee的目的是抽象复杂性。它带有用于LLM,矢量数据库和图表存储的标准集成,这意味着您可以使用最小的开销推出GraphRag管道。这样可以确保您花更多的时间探索见解,而不是处理基础设施麻烦。

    >

    超越文本:可视化知识图

    > 这种可视化有助于开发人员和利益相关者:

    识别模式

    :请参阅密切相关概念或实体的群集。

      >验证
    • :快速发现关系中的不准确性并在您的数据管道中纠正它们。
    • > >传达见解:以更直观的格式传达复杂的相互依赖。
    • 在实践中,您可能会看到每个人的节点,其中有边缘将它们链接到角色,位置或成就,所有这些都在连贯的图表图中拼写出来,比搜索多个文本片段以获取该信息更清晰。 解锁GraphRag 的潜力
    • >将结构化和非结构化数据集成到AI工作流程中不是很小的壮举。但是,通过将LlamainDex用于数据摄入数据摄入的力量与Cognee的基于图的语义层统一功能,您可以获得一种简化的方法,使整个管道更有效,更一致,最终更有见地。
    >

    这对您的业务或研究意味着什么?

    • >您可以携带任何形式的数据,例如IT产品列表,科学论文或客户互动 - 单个知识图。
    • >您的LLM不再从块状段落中“猜测”;它是从整体知识图中推断出来的。
    • >您可以专注于更高级别的任务,例如精炼本体,可视化关系以及如何最好地解释您的数据。

    您是建造专业聊天机器人的独奏开发人员还是企业团队构建知识平台,GraphRag都提供了坚固,灵活的基础。

    >想了解更多或自己尝试?您可以在Google Colab中运行一个详细的演示,您将确切地看到如何设置环境,加载数据,构建知识图并运行查询。

    底线:如果您认真考虑以与高级语言模型同时利用数据的全部潜力,那么Cognee和Llamaindex的GraphRag方法就是下一步。有了几行配置和一些结构良好的数据,您可以将纯文本转换为可行的智能 - 缩小非结构化文档和真正的“智能”见解之间的差距。

    结论

    Cognee和Llamaindex通过将结构化知识检索与先进的索引技术集成在一起,为增强抹布系统提供了强大的组合。这种协同作用改善了各种AI应用程序的上下文理解,检索效率和适应性。通过利用基于图的推理和灵活的数据集成,组织可以构建更智能,可扩展和准确的AI解决方案。随着AI驱动的知识系统的发展,Cognee和LlamainDex等工具将在塑造信息检索的未来中发挥至关重要的作用。

    钥匙要点

    cognee和llamaindex通过结构化知识检索增强了抹布系统。

    基于图的推理改善了上下文理解和决策。

      灵活的数据集成确保各种AI应用程序的适应性。
    • 组合提高了检索效率和响应准确性。
    • 未来的AI系统将依靠此类工具来优化基于知识的工作流程。
    • 常见问题
    • > Q1。什么是GraphRag,它与标准抹布有何不同? GraphRag是使用知识图来存储和检索信息的检索型生成(RAG)的变体,而不是仅依靠块状文本和矢量数据库。这种方法保留了更多的全球环境,可以在多个文档或数据源之间提供更丰富的见解和更好的交叉引用。Q2。什么是cognee,为什么要使用它? Cognee是知识和记忆管理的框架,其灵感来自于人类如何创建世界的心理图。它将非结构化数据变成基于图的语义层,使得更容易存储,管理和检索复杂的关系。使用Cognee,您将获得:人为概念和关系的建模

      一致的,可解释的图形结构
      无缝集成与您选择的LLM,Vector Store或Database Store或Database
      Q3。 LlamainDex在此设置中扮演什么角色? LlamainDex(以前为GPT指数)是将LLM与不同数据源集成的图书馆。它处理文档解析,索引和查询等任务,使您能够以简化的方式将非结构化内容(PDFS,网页,JSON数据等)送入您的LLM。与Cognee配对时,LlamainDex在将数据转换为基于图的表示之前有助于构造数据。与传统的抹布相比,GraphRag如何改善查询结果?传统的抹布独立嵌入了大量文本,如果信息分布在不同的文档中,它们可能会失去全球环境。 GraphRag在单个知识图中连接相关概念,从而使LLM了解更广泛的关系。结果,该系统可以提供更完整和上下文的答案,尤其是涉及来自多个来源信息的查询。

      >本文所示的媒体不归Analytics Vidhya拥有,并由作者的酌情决定使用。

以上是Cognee Llamaindex:构建强大的GraphRag管道的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板