agentic_huge_data_base / wiki
页面 Graphiti · 9.3 提供方配置·DeepWiki 中文全文译文

9.3 · 提供方配置(Provider Configuration)

时序知识图谱与动态事实记忆 · 本章是 Graphiti DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目Graphiti 章节9.3 状态全文译文 模块模型调用与提供方适配、接口与服务契约、系统架构、界面与交互
源码线索
  • examples/azure-openai/azure_openai_neo4j.py
  • graphiti_core/embedder/azure_openai.py
  • graphiti_core/embedder/client.py
  • graphiti_core/embedder/openai.py
  • graphiti_core/embedder/voyage.py
  • graphiti_core/llm_client/anthropic_client.py
  • graphiti_core/llm_client/azure_openai_client.py
  • graphiti_core/llm_client/client.py
  • graphiti_core/llm_client/config.py
  • graphiti_core/llm_client/groq_client.py
模块标签
  • 模型调用与提供方适配
  • 接口与服务契约
  • 系统架构
  • 界面与交互
  • 配置治理

中文译文

提供方配置(中文译文)

原始 DeepWiki 页面:https://deepwiki.com/getzep/graphiti/9.3-provider-configuration
翻译时间:2026-05-27T08:44:56.370Z
翻译模型:deepseek-chat
原文字符数:11206
项目:Graphiti (graphiti)

---

提供方配置

相关源文件

以下文件为本维基页面的生成提供了上下文:

  • examples/azure-openai/azure_openai_neo4j.py
  • graphiti_core/embedder/azure_openai.py
  • graphiti_core/embedder/client.py
  • graphiti_core/embedder/openai.py
  • graphiti_core/embedder/voyage.py
  • graphiti_core/llm_client/anthropic_client.py
  • graphiti_core/llm_client/azure_openai_client.py
  • graphiti_core/llm_client/client.py
  • graphiti_core/llm_client/config.py
  • graphiti_core/llm_client/groq_client.py
  • graphiti_core/llm_client/openai_base_client.py
  • graphiti_core/llm_client/openai_client.py
  • graphiti_core/llm_client/openai_generic_client.py
  • graphiti_core/llm_client/utils.py
  • mcp_server/config/mcp_config_stdio_example.json
  • mcp_server/src/services/factories.py
  • tests/llm_client/test_azure_openai_client.py
  • tests/test_text_utils.py

本文档记录了 Graphiti 中大语言模型(LLM)客户端、嵌入向量(Embedder)客户端、交叉编码器重排序器以及图数据库驱动的配置参数。每个提供方都需要特定的初始化参数、API 密钥和可选依赖项。

相关页面:9.1 环境变量、9.2 依赖项与可选特性、7 数据库集成。

概述

Graphiti 使用抽象基类来定义可插拔提供方的接口:

  • LLMClient:语言模型提供方的基类 graphiti_core/llm_client/client.py:71-147。
  • EmbedderClient:嵌入向量提供方的基类 graphiti_core/embedder/client.py:30-38。
  • GraphDriver:数据库后端的基类。

所有提供方都支持异步操作,并包含带有指数退避的重试逻辑,以应对速率限制和服务器错误 graphiti_core/llm_client/client.py:116-126。

提供方架构

下图将自然语言配置概念映射到用于实现的具体代码实体。

提供方类层次结构
graph TB
    subgraph "抽象接口(代码实体空间)"
        LLMClient["LLMClient<br/>client.py:71"]
        EmbedderClient["EmbedderClient<br/>embedder/client.py:30"]
    end

    subgraph "LLM 实现"
        OpenAIClient["OpenAIClient<br/>openai_client.py:27"]
        AzureOpenAILLMClient["AzureOpenAILLMClient<br/>azure_openai_client.py:31"]
        OpenAIGenericClient["OpenAIGenericClient<br/>openai_generic_client.py:37"]
        AnthropicClient["AnthropicClient<br/>anthropic_client.py:103"]
        GroqClient["GroqClient<br/>groq_client.py:48"]
    end

    subgraph "嵌入向量实现"
        OpenAIEmbedder["OpenAIEmbedder<br/>embedder/openai.py:33"]
        VoyageAIEmbedder["VoyageAIEmbedder<br/>embedder/voyage.py:43"]
        AzureOpenAIEmbedderClient["AzureOpenAIEmbedderClient<br/>embedder/azure_openai.py:27"]
    end

    LLMClient --> OpenAIClient
    LLMClient --> AzureOpenAILLMClient
    LLMClient --> OpenAIGenericClient
    LLMClient --> AnthropicClient
    LLMClient --> GroqClient

    EmbedderClient --> OpenAIEmbedder
    EmbedderClient --> VoyageAIEmbedder
    EmbedderClient --> AzureOpenAIEmbedderClient

来源:graphiti_core/llm_client/client.py:71、graphiti_core/llm_client/openai_client.py:27、graphiti_core/llm_client/anthropic_client.py:103、graphiti_core/llm_client/azure_openai_client.py:31、graphiti_core/llm_client/openai_generic_client.py:37、graphiti_core/embedder/openai.py:33、graphiti_core/embedder/voyage.py:43、graphiti_core/embedder/azure_openai.py:27、graphiti_core/embedder/client.py:30

大语言模型(LLM)客户端配置

LLMConfig 类

所有 LLM 客户端都接受一个 LLMConfig 对象,该对象封装了 API 密钥和模型参数 graphiti_core/llm_client/config.py:28-35。

参数类型默认值描述
api_key`str \None`NoneAPI 的认证密钥 graphiti_core/llm_client/config.py:50
model`str \None`None主模型名称 graphiti_core/llm_client/config.py:53
small_model`str \None`None用于简单任务的模型 graphiti_core/llm_client/config.py:60
base_url`str \None`None自定义 API 端点 graphiti_core/llm_client/config.py:56
temperaturefloat1采样温度 graphiti_core/llm_client/config.py:20
max_tokensint16384最大输出 Token 数 graphiti_core/llm_client/config.py:19

来源:graphiti_core/llm_client/config.py:19-69

OpenAI 客户端

类:OpenAIClient graphiti_core/llm_client/openai_client.py:27 基类:BaseOpenAIClient graphiti_core/llm_client/openai_base_client.py:40

初始化:

from graphiti_core.llm_client import LLMConfig, OpenAIClient

llm_client = OpenAIClient(
    config=LLMConfig(
        api_key="sk-...",
        model="gpt-4o",
        max_tokens=16384
    )
)

特性:

  • 通过 OpenAI Beta Parse API 支持结构化输出 graphiti_core/llm_client/openai_client.py:75-101。
  • 推理模型(例如 o1、o3)会自动禁用 temperature 参数,并支持推理努力参数 graphiti_core/llm_client/openai_client.py:77-97。
  • 通过 TokenUsageTracker 包含 Token 使用追踪 graphiti_core/llm_client/client.py:84。

来源:graphiti_core/llm_client/openai_client.py:27-125、graphiti_core/llm_client/openai_base_client.py:40-195、graphiti_core/llm_client/client.py:84

Azure OpenAI 客户端

类:AzureOpenAILLMClient graphiti_core/llm_client/azure_openai_client.py:31 嵌入向量:AzureOpenAIEmbedderClient

Azure 集成需要传入一个现有的 AsyncAzureOpenAI 或 AsyncOpenAI 客户端实例 graphiti_core/llm_client/azure_openai_client.py:42。

推理支持:客户端通过前缀(o1、o3、gpt-5)检测推理模型,并在 responses.parse 和 beta.chat.completions.parse 之间切换以实现结构化输出 graphiti_core/llm_client/azure_openai_client.py:72-104。

来源:graphiti_core/llm_client/azure_openai_client.py:31-168

Anthropic 客户端

类:AnthropicClient graphiti_core/llm_client/anthropic_client.py:103 安装:pip install graphiti-core[anthropic] graphiti_core/llm_client/anthropic_client.py:41-44

主要特性:

  • 模型特定的 Token 限制:自动将 claude-3-7-sonnet 等模型映射到其特定的最大输出 Token 数(例如 64K)graphiti_core/llm_client/anthropic_client.py:75-97。
  • 用于结构化的工具使用:如果提供了 response_model,则使用 Anthropic 的工具使用机制强制输出 JSON graphiti_core/llm_client/anthropic_client.py:177-203。
  • 语言指令:将多语言提取指令附加到系统消息中 graphiti_core/llm_client/client.py:38-56。

来源:graphiti_core/llm_client/anthropic_client.py:49-203、graphiti_core/llm_client/client.py:38-56

Groq 客户端

类:GroqClient graphiti_core/llm_client/groq_client.py:48 安装:pip install graphiti-core[groq] graphiti_core/llm_client/groq_client.py:32-34

默认模型:llama-3.1-70b-versatile graphiti_core/llm_client/groq_client.py:44 默认最大 Token 数:2048 graphiti_core/llm_client/groq_client.py:45

来源:graphiti_core/llm_client/groq_client.py:48-86

OpenAI 通用客户端(本地 LLM)

类:OpenAIGenericClient graphiti_core/llm_client/openai_generic_client.py:37

该客户端专为兼容 OpenAI 的 API(如 Ollama 或 vLLM)设计。它默认使用更高的 max_tokens(16384)以适应本地模型的能力,并支持标准的 json_schema 响应格式 graphiti_core/llm_client/openai_generic_client.py:75-121。

来源:graphiti_core/llm_client/openai_generic_client.py:37-137

嵌入向量配置

EmbedderConfig

所有嵌入向量都使用一个基础配置来设置维度 graphiti_core/embedder/client.py:26-27。

参数类型默认值描述
embedding_dimint1024嵌入向量的维度 graphiti_core/embedder/client.py:23,27

来源:graphiti_core/embedder/client.py:23-27

OpenAI 嵌入向量

类:OpenAIEmbedder graphiti_core/embedder/openai.py:33 支持标准的 OpenAI 嵌入模型,如 text-embedding-3-small graphiti_core/embedder/openai.py:24。

来源:graphiti_core/embedder/openai.py:33-67

VoyageAI 嵌入向量

类:VoyageAIEmbedder graphiti_core/embedder/voyage.py:43 安装:pip install graphiti-core[voyageai] graphiti_core/embedder/voyage.py:28。 默认模型为 voyage-3 graphiti_core/embedder/voyage.py:35。

来源:graphiti_core/embedder/voyage.py:43-77

数据流与初始化

下图展示了配置对象如何从用户流入核心系统组件。

配置数据流
sequenceDiagram
    participant User as 用户
    participant Config as LLMConfig/EmbedderConfig
    participant Client as LLMClient/EmbedderClient
    participant Core as Graphiti (graphiti.py)

    User->>Config: 定义 api_key、model、base_url
    User->>Client: 实例化(config)
    User->>Core: Graphiti(driver, llm_client, embedder)
    Core->>Client: set_tracer(tracer)
    Core->>Client: generate_response(messages)

来源:graphiti_core/llm_client/client.py:72-92、graphiti_core/llm_client/openai_client.py:55-63

驱动配置

数据库驱动

驱动通过连接字符串和凭证进行配置。支持的驱动包括 Neo4j、FalkorDB、Kuzu 和 Amazon Neptune。

Neo4j 示例:

from graphiti_core.driver.neo4j_driver import Neo4jDriver
driver = Neo4jDriver(uri="bolt://localhost:7687", user="neo4j", password="password")
MCP 服务器配置

对于使用模型上下文协议(Model Context Protocol)服务器的用户,提供方通过配置文件中的环境块进行配置。

"env": {
  "NEO4J_URI": "bolt://localhost:7687",
  "OPENAI_API_KEY": "${OPENAI_API_KEY}",
  "MODEL_NAME": "gpt-4.1-mini"
}

来源:graphiti_core/llm_client/openai_generic_client.py:91、graphiti_core/llm_client/openai_client.py:61