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

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

收藏
最新工具
PrettyScale
PrettyScale

一個在線面部分析及顏值打分網站,用戶通過上傳照片或直接用攝像頭參...

圓周旅跡
圓周旅跡

一款旅游出行AI智能規劃APP,它可以直接從小紅書這些平臺導入別...

Wonderplan AI
Wonderplan AI

一個免費的AI旅游規劃工具,能根據你的喜好、需求生成專屬行程,支...

智寫流程
智寫流程

一個能自動記錄網頁操作并生成操作指南的工具。它能捕捉鼠標點擊、鍵...

ReactBits
ReactBits

一個免費開源的動畫化、可交互React組件庫,里面有好多動畫化、...

電視眼
電視眼

也叫TV眼,是一個在線網絡電視直播網站,提供全國5000+個電視...

Excel Dashboard Ai
Excel Dashboard Ai

一款能自動把 Excel 或 CSV 文件變成帶交互功能的儀表盤...

ByRutor
ByRutor

俄羅斯的一個免費游戲資源下載網站,提供超23,000多款游戲,涵...

RandomStreetView
RandomStreetView

一個可以隨機展示全球谷歌街景照片的網站,每次點按鈕,系統會隨機選...

ZType
ZType

官網:zty.pe,一個把打字練習和射擊游戲結合的在線工具。玩家...

主站蜘蛛池模板: 手机| 察隅县| 渝北区| 鸡泽县| 九寨沟县| 湖州市| 关岭| 惠水县| 尚志市| 房产| 桑日县| 巴中市| 东城区| 普安县| 修文县| 高淳县| 宜兰县| 依兰县| 常宁市| 滦南县| 偃师市| 察哈| 广灵县| 当涂县| 论坛| 阿拉尔市| 政和县| 突泉县| 平山县| 德钦县| 普洱| 济源市| 策勒县| 海盐县| 卓尼县| 湖北省| 邛崃市| 乐至县| 瑞丽市| 平湖市| 晴隆县|