我爱我色成人网,欧美日韩国产色,欧美亚视频在线中文字幕免费,亚洲国产影院

Graphiti:一個用于構建和查詢實時知識圖譜的框架

Graphiti是什么?

Graphiti 是一個用于構建和查詢知識圖譜的框架,它具備時間感知能力,非常適合用在動態環境中。與傳統的檢索增強生成(RAG)方法不同,Graphiti 可以實時整合用戶交互、結構化和非結構化的數據,以及外部信息,生成一個可查詢的圖譜。它的優勢在于支持數據的實時更新、高效檢索和精確的歷史查詢,無需重新計算整個圖譜,非常適合開發交互式、上下文感知的應用程序。

 Graphiti:一個用于構建和查詢實時知識圖譜的框架.webp

Graphiti 的主要功能

  • 實時增量更新:能夠立即集成新的數據片段,無需進行批量重新計算。

  • 雙時態數據模型:明確跟蹤事件發生時間和攝入時間,支持精確的時間點查詢。

  • 高效混合檢索:結合語義嵌入、關鍵字(BM25)和圖遍歷,實現低延遲查詢,無需依賴大語言模型(LLM)進行總結。

  • 自定義實體定義:支持通過簡單的 Pydantic 模型創建靈活的本體和自定義實體。

  • 可擴展性:通過并行處理有效管理大型數據集,適用于企業環境。

  • 與多種 LLM 集成: 支持 Openai、Anthropic 和 Groq 等 LLM 提供商,提供靈活的 LLM 推理和嵌入選項。

  • MCP 服務器: 提供一個基于 FastAPI 的 API 服務,支持通過 MCP 協議與知識圖譜進行交互,包括事件管理、實體管理和關系處理等功能。

選擇 Graphiti 的原因

  • 它能實時更新數據,適應動態變化的環境。

  • 支持精確的時間點查詢,方便追溯歷史信息。

  • 檢索速度快,不需要依賴復雜的語言模型。

  • 可以自定義數據結構,滿足特定需求。

  • 能高效處理大量數據,適合企業級應用。

Graphiti的安裝和使用

安裝 Graphiti

首先,確保你的系統滿足安裝要求,并安裝必要的依賴項:

  • Python:確保你的系統中安裝了 Python 3.10 或更高版本。

  • Neo4j:安裝 Neo4j 數據庫,版本 5.26 或更高。你可以使用 Neo4j Desktop 來簡化安裝和管理過程。

  • OpenAI API Key:如果你打算使用 OpenAI 進行 LLM 推理和嵌入,你需要一個有效的 OpenAI API Key。

你可以使用 pip 或 poetry 來安裝 Graphiti 核心庫:

pip install graphiti-core
# 或者
poetry add graphiti-core

初始化 Graphiti

在你的代碼中初始化 Graphiti 實例,連接到 Neo4j 數據庫:

from graphiti_core import Graphiti
graphiti = Graphiti("bolt://localhost:7687", "neo4j", "password")

構建索引和約束

在添加數據之前,初始化圖數據庫并構建 Graphiti 的索引和約束:

await graphiti.build_indices_and_constraints()

添加數據

使用 add_episode 方法將數據添加到知識圖譜中。每個數據片段稱為一個“episode”:

from graphiti_core.nodes import EpisodeType
from datetime import datetime, timezone
episodes = [
"Kamala Harris is the Attorney General of California. She was previously the district attorney for San Francisco.",
"As AG, Harris was in office from January 3, 2011 – January 3, 2017"
]
for i, episode in enumerate(episodes):
await graphiti.add_episode(
name=f"Freakonomics Radio {i}",
episode_body=episode,
source=EpisodeType.text,
source_description="podcast",
reference_time=datetime.now(timezone.utc)
)

查詢數據

使用 search 方法查詢知識圖譜,結合語義相似性和關鍵詞搜索:

results = await graphiti.search('Who was the California Attorney General?')

自定義查詢

你可以根據需要自定義查詢,例如通過指定中心節點來優先考慮與該節點更接近的結果:

await graphiti.search('Who was the California Attorney General?', center_node_uuid)

關閉連接

在完成聊天狀態管理后,關閉 Graphiti 連接:

graphiti.close()

使用 MCP 服務器

Graphiti 提供了一個 MCP 服務器,可以通過 FastAPI 進行交互。你可以部署這個服務器并使用 MCP 協議與知識圖譜進行交互:

1. 克隆或下載 Graphiti 倉庫。

2. 運行 MCP 服務器:

uvicorn graphiti.mcp_server.main:app --reload

3. 在你的 AI 助手中使用 MCP 協議與服務器進行通信。

使用 Azure OpenAI

如果你想使用 Azure OpenAI,你需要配置相應的客戶端和嵌入器:

from openai import AsyncAzureOpenAI
from graphiti_core import Graphiti
from graphiti_core.llm_client import OpenAIClient
from graphiti_core.embedder.openai import OpenAIEmbedder, OpenAIEmbedderConfig
api_key = "<your-api-key>"
api_version = "<your-api-version>"
azure_endpoint = "<your-azure-endpoint>"
azure_openai_client = AsyncAzureOpenAI(api_key=api_key, api_version=api_version, azure_endpoint=azure_endpoint)
graphiti = Graphiti(
"bolt://localhost:7687",
"neo4j",
"password",
llm_client=OpenAIClient(client=azure_openai_client),
embedder=OpenAIEmbedder(config=OpenAIEmbedderConfig(embedding_model="text-embedding-3-small"), client=azure_openai_client)
)

確保替換占位符值為你實際的 Azure OpenAI 憑據,并指定正確的嵌入模型名稱。

Graphiti 的優勢

  • 和其他技術相比,Graphiti 在處理動態數據、實時更新和查詢速度上有明顯優勢。

  • 提供了服務器實現,方便與其他系統集成。

  • 支持多種環境配置和與其他服務的集成。

相關鏈接

論文:https://arxiv.org/abs/2501.13956

GitHub 倉庫:https://github.com/getzep/graphiti

收藏
最新工具
Quick Prompt
Quick Prompt

一個專注于提示詞(Prompt)的管理和快速輸入的瀏覽器擴展插件...

FoldNFly
FoldNFly

一個專注于紙飛機折疊教程的網站,提供豐富的紙飛機設計資源、制作指...

VoiceCanvas
VoiceCanvas

一款文本轉語音工具,支持 50 多種語言,具備語音克隆功能,僅需...

Loud Fame
Loud Fame

一款AI視頻生成和編輯工具,能夠將普通視頻轉換為具有動漫風格的視...

PPT世界
PPT世界

QIJ鰭跡旗下產品,集PPT模板下載、設計教程、交流社區和定制服...

職達AI簡歷
職達AI簡歷

一個專業的 AI 簡歷優化平臺,提供簡歷&求職一站式服務...

喵記多APP
喵記多APP

快手推出的邊聊天邊記錄的AI筆記,主要功能包括管理筆記,如剪藏、...

暢圖
暢圖

一款由摹客推出的AI原生可視化工具,專為個人和團隊的創意表達、知...

Ztalk ai
Ztalk ai

一個AI驅動的會議實時語音翻譯平臺,可以與 Zoom、Googl...

Supercut
Supercut

一款屏幕錄制工具,能幫你快速錄下屏幕上的內容,錄制的視頻可以自動...

主站蜘蛛池模板: 长阳| 河北省| 酉阳| 炉霍县| 祁东县| 天柱县| 上高县| 隆回县| 阳泉市| 炉霍县| 光泽县| 灌阳县| 阳原县| 益阳市| 巫溪县| 威远县| 珲春市| 纳雍县| 桂平市| 炉霍县| 浦东新区| 海安县| 青铜峡市| 嫩江县| 四川省| 东宁县| 永昌县| 岳西县| 志丹县| 廉江市| 定结县| 阿拉善右旗| 伊春市| 铜鼓县| 大渡口区| 平武县| 彝良县| 当阳市| 九江市| 杨浦区| 泾阳县|