
GraphRAG 如何配置 Azure OpenAI 作为聊天与嵌入模型后端【免费下载链接】graphragA modular graph-based Retrieval-Augmented Generation (RAG) system项目地址: https://gitcode.com/GitHub_Trending/gr/graphrag如果你刚在本地装好 GraphRAG准备用它对文档建索引并回答文档相关问题但你的模型资源在 Azure OpenAI 上而不是 OpenAI 直连那么需要把settings.yaml中的默认聊天模型和嵌入模型两个端点改造成 Azure 配置。完成后的目标是graphrag index能跑完并生成./output结果graphrag query能基于索引返回答案。以下内容依据仓库文档 docs/get_started.md、docs/config/models.md 和 docs/config/yaml.md 整理适用于 GraphRAG 首次安装后切换到 Azure OpenAI 后端的场景。准备条件Python 3.10–3.12。一个可用的 Azure OpenAI 资源且已经在其中部署了你要使用的聊天模型和嵌入模型。你需要拿到部署名deployment name、实例的 API 地址形如https://instance.openai.azure.com、API key或改用托管身份以及 API 版本。注意官方提醒GraphRAG 会消耗较多 LLM 资源建议先用教程级的小数据集跑通流程再考虑大的索引任务。安装并初始化工作区创建一个独立的项目目录和虚拟环境mkdir graphrag_quickstart cd graphrag_quickstart python -m venv .venv激活虚拟环境Unix/MacOS 用source .venv/bin/activateWindows 用.venv\Scripts\activate然后安装python -m pip install graphrag在项目目录内运行初始化命令graphrag init命令会提示你选择默认聊天模型和嵌入模型随后在当前目录生成三样东西.env包含运行管线所需的环境变量初始内容为GRAPHRAG_API_KEYAPI_KEYsettings.yaml管线配置文件模型端点就在其中input目录放置待处理的文本文件。初始化细节可参考 docs/config/init.md。配置 .env 中的 Azure API Key打开.env把GRAPHRAG_API_KEY的值替换为你的 Azure OpenAI API key使用托管身份的方案除外见文末可选分支。修改 settings.yaml聊天与嵌入两个模型端点在settings.yaml中定位模型配置区文档建议直接搜索models:根配置。该文件中有两个端点小节默认聊天端点和默认嵌入端点两处都要改成 Azure 配置。聊天模型配置的写法如下摘自 docs/get_started.mdtype: chat model_provider: azure model: gpt-4.1 azure_deployment_name: AZURE_DEPLOYMENT_NAME api_base: https://instance.openai.azure.com api_version: 2024-02-15-preview # You can customize this for other versions代码块中的两个占位符需要你按自己的资源替换AZURE_DEPLOYMENT_NAME你在 Azure 上该聊天模型的部署名instance你的 Azure OpenAI 实例名。api_version文档说明可按需改成其他版本。各字段的完整含义见 docs/config/yaml.mdmodel_provider模型提供方Azure 环境填azureapi_baseAPI 基础地址api_versionAPI 版本azure_deployment_nameAzure 上的部署名——如果你的部署名与模型名一致这一项可以省略auth_method取值api_key默认或azure_managed_identity。嵌入模型端点做同样的事在该小节把model_provider改为azure并配上你的嵌入模型部署名、api_base、api_version。初始化生成的配置中两个端点位于completion_models:与embedding_models:两个小节下api_key默认引用${GRAPHRAG_API_KEY}与.env中的变量对应。可选分支使用托管身份认证如果你的环境用 Azure 托管身份而不是 API key按文档修改模型配置中的认证方式并删除api_key行auth_method: azure_managed_identity # Default auth_method is api_key同时需要先用az login登录并选择你的端点所在的订阅。此分支下.env中的 key 不再是认证依据。运行索引并验证配置生效在input/目录放一份测试文本文档给出的示例是从 Project Gutenberg 下载《A Christmas Carol》curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt -o ./input/book.txt执行索引graphrag index该过程通常需要几分钟。管线跑完后的判断标准是当前目录下出现./output文件夹里面是一组 parquet 文件如documents.parquet、entities.parquet、text_units.parquet等。索引成功后用查询命令做端到端验证。Global search 问一个整体性问题graphrag query What are the top themes in this story?Local search 问更具体的问题graphrag query \ Who is Scrooge and what are his main relationships? \ --method local能返回基于文档内容的回答说明聊天端点和嵌入端点都正确指向了你的 Azure OpenAI 资源。限制与注意事项api_version示例中的2024-02-15-preview只是文档示例值可按你的资源支持的版本自定义。文档同时说明GraphRAG 用 OpenAI 系列模型构建和测试得最充分非 OpenAI 模型通过 LiteLLM 接入且所选模型必须支持按 JSON schema 返回结构化输出。这一点在选择 Azure 上的具体模型部署时需要注意详见 docs/config/models.md。若索引或查询阶段报错先回到settings.yaml的两个模型小节核对api_base、api_version、部署名以及认证方式与.env/托管身份是否一致。CLI 各项子命令说明见 docs/cli.md。【免费下载链接】graphragA modular graph-based Retrieval-Augmented Generation (RAG) system项目地址: https://gitcode.com/GitHub_Trending/gr/graphrag创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考