ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Graphiti 如何接入 Azure OpenAI 完成 LLM 推理与嵌入?

2026/9/12 13:37:01 拓冰建站 浏览量
Graphiti 如何接入 Azure OpenAI 完成 LLM 推理与嵌入? Graphiti 如何接入 Azure OpenAI 完成 LLM 推理与嵌入【免费下载链接】graphitiBuild Real-Time Knowledge Graphs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/grap/graphitiGraphiti 默认使用 OpenAI 完成 LLM 推理实体/关系抽取、去重和文本嵌入如果你的模型服务部署在 Azure OpenAI 上需要把这两部分替换为 Azure OpenAI 的客户端。本文基于仓库中的 Azure OpenAI 接入说明与examples/azure-openai/完整示例说明如何用 Azure OpenAI 完成 LLM 推理与嵌入跑通一条添加 episode → 混合搜索 → 按图距离重排的完整操作路径。适用前提见 examples/azure-openai/README.md 的 PrerequisitesPython 3.10一个可访问的 Neo4j 数据库本地或远程README 主文档要求 Neo4j 5.26一个已部署模型的 Azure OpenAI 订阅准备条件安装依赖主路径是安装核心包pip install graphiti-core示例目录使用uv管理依赖进入 examples/azure-openai 后执行cd examples/azure-openai uv sync如果你计划改用其他图后端FalkorDB、Kuzu、NeptuneREADME 给出了对应的 extra 安装方式例如pip install graphiti-core[falkordb]本文的 Azure OpenAI 示例本身只依赖 Neo4j。Azure OpenAI 侧的两个部署examples/azure-openai/README.md 明确要求两个模型部署Chat Completion 模型用于实体抽取和关系分析entity extraction / relationship analysis部署名配置在AZURE_OPENAI_DEPLOYMENT。Embedding 模型用于语义搜索部署名配置在AZURE_OPENAI_EMBEDDING_DEPLOYMENT。注意AzureOpenAILLMClient与AzureOpenAIEmbedderClient接收的都是部署名而非裸模型名两者必须与你 Azure 资源中实际的部署名一致文档示例中分别写作gpt-5-mini和text-embedding-3-small.env.example与 Python 脚本的默认值不完全相同以你自己资源里的部署名为准。核心接入代码README 的 Using Graphiti with Azure OpenAI 章节给出的接入方式使用标准AsyncOpenAI客户端指向 Azure 的 v1 API 兼容端点再分别构造 LLM 客户端和嵌入客户端。from openai import AsyncOpenAI from graphiti_core import Graphiti from graphiti_core.llm_client.azure_openai_client import AzureOpenAILLMClient from graphiti_core.llm_client.config import LLMConfig from graphiti_core.embedder.azure_openai import AzureOpenAIEmbedderClient # 用标准 OpenAI 客户端指向 Azure 的 v1 API 端点 azure_client AsyncOpenAI( base_urlhttps://your-resource-name.openai.azure.com/openai/v1/, api_keyyour-api-key, ) # LLM 客户端model 与 small_model 都填 Azure 部署名 llm_client AzureOpenAILLMClient( azure_clientazure_client, configLLMConfig(modelgpt-5-mini, small_modelgpt-5-mini) ) # 嵌入客户端model 填 embedding 部署名 embedder_client AzureOpenAIEmbedderClient( azure_clientazure_client, modeltext-embedding-3-small ) # 传入 Graphiti 构造函数这里以 Neo4j 为例 graphiti Graphiti( bolt://localhost:7687, neo4j, password, llm_clientllm_client, embedderembedder_client, )代码中需要替换的值base_urlhttps://你的资源名.openai.azure.com/openai/v1/README 强调端点必须以.openai.azure.com结尾并且路径为/openai/v1/。api_key你的 Azure OpenAI API key。LLMConfig的model/small_modelChat Completion 部署名LLMConfig还支持api_key、base_url、temperature、max_tokens等字段见 graphiti_core/llm_client/config.py。AzureOpenAIEmbedderClient的modelembedding 部署名该参数缺省值为text-embedding-3-small见 graphiti_core/embedder/azure_openai.py。Neo4j 的 URI、用户名、密码指向你的 Neo4j 实例。AzureOpenAILLMClient同时支持AsyncAzureOpenAI和AsyncOpenAI配合 Azure v1 端点两种客户端见 graphiti_core/llm_client/azure_openai_client.py。推理模型模型名以o1、o3、gpt-5开头走responses.parse接口其他模型走beta.chat.completions.parse的结构化输出接口这个分流由客户端内部完成接入侧无需额外处理。可选路径完整示例 .envexamples/azure-openai/azure_openai_neo4j.py 是可运行的完整示例它从.env读取配置等价于上面手写的接入代码。配置方式cd examples/azure-openai cp .env.example .env然后编辑.env变量说明见 examples/azure-openai/.env.example# Neo4j connection settings NEO4J_URIbolt://localhost:7687 NEO4J_USERneo4j NEO4J_PASSWORDyour-password # Azure OpenAI settings AZURE_OPENAI_ENDPOINThttps://your-resource-name.openai.azure.com AZURE_OPENAI_API_KEYyour-api-key-here AZURE_OPENAI_DEPLOYMENTgpt-5-mini AZURE_OPENAI_EMBEDDING_DEPLOYMENTtext-embedding-3-small脚本要求AZURE_OPENAI_ENDPOINT与AZURE_OPENAI_API_KEY必须已设置否则会直接抛出ValueErrorAZURE_OPENAI_DEPLOYMENT未设置时代码回退为gpt-4.1AZURE_OPENAI_EMBEDDING_DEPLOYMENT未设置时代码回退为text-embedding-3-small。执行与结果验证运行示例cd examples/azure-openai uv run azure_openai_neo4j.py脚本按顺序做了四件事每一步的输出可以作为验证点初始化连接 Neo4j 与 Azure OpenAI并完成 Graphiti 索引初始化README 标注这是使用其他功能前的必要步骤。添加 episode写入 2 条文本 1 条 JSON 的 California 政治示例数据每条成功后打印Added episode: California Politics 0 (text)混合搜索执行graphiti.search(Who was the California Attorney General?)逐条打印结果边的UUID、Fact以及valid_at/invalid_at时间有效窗口。中心节点重排取第一条结果的source_node_uuid作为center_node_uuid再次搜索验证按图距离重排的结果。最后脚本关闭 Neo4j 连接并打印Connection closed。如果你添加的 episode 内容被正确抽取成事实边、搜索结果中能看到对应的Fact说明 Azure OpenAI 的推理与嵌入链路已经跑通。排查与限制Azure OpenAI API 报错examples/azure-openai/README.md 的 Troubleshooting 给出四项检查端点 URL 是否正确应以.openai.azure.com结尾API key 是否有效部署名是否与 Azure 中实际的部署一致API 版本是否被你的部署支持。Neo4j 连接问题Neo4j 是否在运行防火墙设置凭据是否正确URI 格式应为bolt://或neo4j://。另外quickstart 文档记录了一个具体报错若出现Neo.ClientError.Database.DatabaseNotFound: Graph not found: default_db说明驱动连接到了不存在的数据库需要在驱动构造时显式指定database参数见 examples/quickstart/README.md 的 Troubleshooting。模型能力要求主 README 的 IMPORTANT 提示Graphiti 依赖结构化JSON输出做实体/边抽取与去重最适合支持 Structured Output 的服务OpenAI、Anthropic、Gemini使用其他服务可能导致输出 schema 不正确、摄取失败小模型问题尤其明显。选择 Azure 部署的模型时这一点同样适用。并发控制Graphiti 默认将并发限制在 10SEMAPHORE_LIMIT环境变量以避免 LLM 提供商 429 限流若遇到 429 错误可降低该值若 Azure 配额允许可适当调高。下一步可以按 examples/azure-openai/README.md 的 Next Steps尝试graphiti_core/search/search_config_recipes.py中的其他搜索配方、更换 episode 类型与内容或对照 examples/quickstart 查看 OpenAI 直连版本做差异比较。【免费下载链接】graphitiBuild Real-Time Knowledge Graphs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考