首頁 >科技週邊 >人工智慧 >Cognee Llamaindex:構建強大的GraphRag管道

Cognee Llamaindex:構建強大的GraphRag管道

Christopher Nolan
Christopher Nolan原創
2025-03-05 10:20:12446瀏覽

在將外部知識連接到大語言模型(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