AIRI 接入 Azure AI Foundry:聊天模型提供者配置与源码解析

发布时间:2026/9/11 5:41:19
AIRI 接入 Azure AI Foundry:聊天模型提供者配置与源码解析 AIRI 接入 Azure AI Foundry聊天模型提供者配置与源码解析【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi本文以 AIRI仓库根目录 docs/content/ko/docs/manual/config/providers/consciousness/azure-ai-foundry.md为基础讲解如何在 AIRI 中接入 Azure AI Foundry 聊天模型提供者。读完本文你将掌握从 Azure 侧准备资源、在 AIRI「设置 → 提供者 → 聊天 → Azure AI Foundry」中正确填写四项配置、利用本地校验与「意识」模块测试部署连通性的完整流程并能从源码层面理解配置校验边界、API 版本与推理reasoning模式的实际作用。为什么选择 Azure AI FoundryAzure AI Foundry 提供统一的模型部署与访问控制管理能力。文档明确指出其适用场景如果已在 Azure AI Foundry 中完成了模型部署与访问控制配置那么通过 AIRI 的该提供者可以直接连接对应部署无需再绕行其他网关。在 AIRI 中Azure AI Foundry 被归类为聊天chat任务提供者且具备reasoning能力支持enabled/disabled两种模式。该定义位于 providers/azure-ai-foundry/index.ts 中的providerAzureAIFoundry其id为azure-ai-foundry提供者排序号为 17。第一步准备 Azure AI Foundry 资源配置前需要从 Azure 侧拿到三样信息API Key访问密钥用于请求鉴权资源名称Resource Name部署资源的标识前缀模型部署信息Model ID / 部署名称你在 Foundry 项目中实际创建的部署标识。操作上登录 Azure AI Foundry 门户创建或打开目标项目在项目设置中即可找到上述信息。⚠️API Key 安全文档强调切勿将 Azure API Key 提交到版本库、截图或与任何人共享。这是接入任何云端模型提供者的基本安全底线。从源码可见资源名称对应https://prefix.services.ai.azure.com中的prefix部分见 azure-ai-foundry/index.ts 的字段描述填写时只需前缀本身无需携带完整 URL。第二步在 AIRI 中配置提供者配置入口与字段依次进入设置 → 提供者 → 聊天 → Azure AI Foundry对应页面源码为 pages/settings/providers/chat/azure-ai-foundry.vue。该页面由「基础设置」API Key、Resource name、Model id与「高级设置」API version两部分组成字段必填说明占位示例API Key✅Azure AI Foundry 访问密钥以密码框输入...Resource Name✅https://prefix.services.ai.azure.com中的前缀my-resourceModel ID✅Azure AI Foundry 上的模型 ID / 部署名称gpt-4oAPI Version可选模型快照对应的 API 版本位于高级设置2025-04-01-preview其中 API Key、Resource Name、Model ID 为必填项API Version 为可选项。页面 UI 明确提示 Model ID 字段的含义是「Azure AI Foundry 上的 Model ID」Model ID on Azure AI Foundry而 Resource Name 是 URL 前缀二者容易混淆填写时需注意区分。配置模型的源码约束提供者的配置结构在 azure-ai-foundry/index.ts 中以 zod schema 定义const azureAIFoundryConfigSchema z.object({ apiKey: z.string(API Key), resourceName: z.string(Resource Name), modelId: z.string(Model ID), apiVersion: z.string(API Version).optional(), })创建提供者实例时createProvider将这三个核心字段透传给xsai-ext/providers的createAzure工厂并统一做了trim()处理azure-ai-foundry/index.ts因此首尾空格不会影响请求鉴权。apiKey通过异步函数惰性读取这意味着密钥直到真正发起请求时才会被使用。注意「显示用模型名称」与「部署名称」的区别文档特别提醒切勿把显示用的模型名称误当成部署名称。Azure AI Foundry 门户中模型的显示名称如展示的模型全名与你在项目中创建的部署名称不是同一个值。AIRI 的 Model ID 字段要求的是后者——即实际部署标识它会直接作为chat(model)的 model 参数与请求中的模型标识。填错部署名称是后续请求失败的最常见原因之一。第三步验证配置AIRI 在配置页面提供了两级验证对应源码中的validators与页面上的ProviderValidationAlerts组件azure-ai-foundry.vue。本地校验check-config当你填入了必填项后AIRI 会自动执行一次本地配置校验。需要特别强调的是该校验只检查 API Key、资源名称、模型 ID 三个字段是否已填写不会发起任何网络请求也不测试凭据有效性与文档描述一致。对应实现见 azure-ai-foundry/index.ts校验器对三个字段分别做trim()后判空任一为空即返回对应错误信息API key is required./Resource name is required./Model ID is required.全部非空才算通过。此外validationRequiredWhen的逻辑是只要任一字段有值就触发校验确保用户一输入就能得到即时反馈。真正的连通性验证去「意识」模块发测试消息本地校验通过不代表部署可用。文档给出的完整验证路径是设置 → 模块 → 意识在其中选择 Azure AI Foundry 提供者与对应部署然后发送一条测试消息确认部署能够正常响应。这一步会真正发出推理请求验证网络连通性、凭据有效性与部署配置是否正确。配置页面底部也提供了直达该模块的跳转入口/settings/modules/consciousness方便在完成填写后无缝衔接测试。推理模式reasoning的传递在「意识」模块中开启或关闭模型推理选项后该状态会以reasoning: enabled | disabled传入聊天提供者。Azure AI Foundry 提供者将其映射为推理强度reasoning effortenabled→mediumdisabled→none对应代码位于 azure-ai-foundry/index.ts当没有传入reasoning选项时保持默认请求传入时则覆盖reasoningEffort字段。这一行为有测试用例佐证例如 stores/chat.contract.test.ts 验证了当前意识的推理选项会被原样传给聊天提供者。也就是说Azure AI Foundry 部署是否启用推理由你在 AIRI「意识」模块中的开关决定无需在 Azure 侧额外调整。问题排查文档给出的核心排查原则是当校验或测试失败时确认 API Key、资源名称、部署名称、API 版本均来自同一个 Azure AI Foundry 项目并且务必使用部署名称而非显示用的模型名称。综合文档与源码可按以下顺序逐项核对API Key是否来自该 Foundry 项目且未混用其他服务的密钥Resource Name是否正确取自https://prefix.services.ai.azure.com的前缀未多带 URL 路径部署名称是否填写的是实际部署标识而非显示用模型名API Version若 Azure 控制台对请求要求特定 API 版本需在高级设置中一并填写且该版本须与项目支持的版本一致——注意 API 版本决定的是模型快照行为不同项目/模型的可用版本可能不同本地校验 vs 连通性若本地校验通过但「意识」模块测试无响应问题基本出在网络、凭据或部署标识上此时应重点检查 14 项。补充与 Azure OpenAI 提供者的区分AIRI 中还存在另一个 Azure 系提供者azure-openaiproviders/azure-openai/index.ts两者容易混淆但配置方式不同Azure AI Foundry通过resourceNameURL 前缀modelId 可选apiVersion连接由createAzure统一处理鉴权与端点Azure OpenAI通过baseUrlAzure 端点或完整 Chat Completions URLapiVersion连接并会在请求中以api-key头携带密钥、将请求重写到/openai/deployments/deployment/chat/completions路径azure-openai/index.ts。若你已在 Azure OpenAI 服务中完成部署可参考 azure-openai.md而本文介绍的 Azure AI Foundry 提供者则面向已在 Foundry 项目内完成部署与访问控制的用户。选择哪个取决于你的部署与管理方式二者都只需按上文流程在「设置 → 提供者 → 聊天」中完成配置即可。【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考