你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
当前查看:Foundry (经典) 门户版本 - 切换到新 Foundry 门户的版本
注释
本文中的链接可能会打开新 Microsoft Foundry 文档中的内容,而不是你现在正在查看的 Foundry (经典)文档。
Microsoft Foundry 通过分层体系结构组织 AI 工作负载:用于治理的顶级 Foundry 资源、用于开发隔离的项目,以及用于存储、搜索和机密管理的连接的Azure服务。
本文为 IT 运营和安全团队提供了有关 Foundry 资源和基础Azure服务体系结构、组件以及与其他Azure资源类型的关系的详细信息。 使用此信息指导如何根据组织的要求自定义 Foundry 部署。 有关如何在组织中推出 Foundry 的详细信息,请参阅 Foundry 推出。
何时使用此架构
如果方案涉及以下情况,请考虑 Foundry 资源模型:
- 首次设置:你正在启动一个新的 AI 项目,并希望单个资源捆绑模型访问、代理托管和评估工具。
- 多团队访问权限:多个团队需要具有共享模型部署和集中式治理的独立项目。
- 合规驱动设计:您的组织需要专用网络、客户管理加密或 Azure RBAC 在资源和项目级别的范围。
- Azure OpenAI 迁移:你要从独立Azure OpenAI 资源移动,并希望在添加代理和评估功能的同时保留现有策略和 RBAC。
对于单开发人员探索,建议使用具有一个项目的 Foundry 资源。 如果工作负荷只需要Azure OpenAI 完成,而无需代理托管或评估,则独立Azure OpenAI 资源可能就足够了。
Azure AI 资源类型和提供程序
在 Azure AI 产品系列中,可以使用这些Azure资源提供程序来支持堆栈中不同层的用户需求。
| 资源提供者 | 目的 | 支持的服务 |
|---|---|---|
| Microsoft.CognitiveServices | 支持代理和 GenAI 应用程序开发组合和自定义预生成模型。 | 铸造工具; Azure OpenAI; Azure Foundry 工具中的 Azure 语音; Azure Foundry 工具中的 Azure 语言; Azure Foundry 工具中的 Azure 视觉 |
| Microsoft。搜索 | 支持从数据中进行知识检索 | Azure AI 搜索 |
对于大多数 AI 开发方案(包括代理生成、模型部署和评估工作流),Foundry 资源是建议的起点。 Foundry资源与 Azure OpenAI、语音、视觉和语言等服务共享 Microsoft.CognitiveServices 提供程序命名空间。 此共享提供程序命名空间有助于在相关 AI 资源之间,在管理 API、访问控制模式、网络和策略行为方面实现一致性。
使用下表确定哪些资源类型与工作负荷匹配。 它显示了 Microsoft.CognitiveServices 提供程序内的特定资源类型和功能。
| 资源类型 | 资源提供者和类型 | 种类 | 支持的功能 |
|---|---|---|---|
| Microsoft Foundry | Microsoft.CognitiveServices/account |
AIServices |
代理、评估、Azure OpenAI、语音、视觉、语言和内容理解(仅限 API;门户支持因区域而异) |
| 铸造厂项目 | Microsoft.CognitiveServices/account/project |
AIServices |
上述子资源 |
| Azure 语音在 Foundry 工具中 | Microsoft.CognitiveServices/account |
Speech |
语音 |
| Foundry 工具中的 Azure 语言功能 | Microsoft.CognitiveServices/account |
Language |
语言 |
| Azure 视觉在 Foundry 工具中 | Microsoft.CognitiveServices/account |
Vision |
视觉 |
同一提供程序命名空间下的资源类型共享相同的管理 API,并使用类似的Azure基于角色的访问控制(Azure RBAC)操作、网络配置和Azure Policy配置的别名。 如果要从 Azure OpenAI 升级到 Foundry,则现有的自定义Azure策略和Azure RBAC 操作将继续应用。
Foundry 资源层次结构
下图显示了具有模型部署、安全设置、连接和两个项目的 Foundry 资源。 存储、密钥保管库和Azure AI 搜索等连接的Azure服务在其自己的治理边界下是单独的Azure资源:
重要
存储、密钥保管库和Azure AI 搜索等连接的资源是具有自身治理边界的独立Azure资源。 您负责独立于 Foundry 资源管理这些资源的网络、访问策略和合规设置。
在规划架构和访问边界时使用此模型:
- Foundry 资源:顶级 Azure 资源,用于管理类似网络、安全性和模型部署的治理设置。
- Project:在 Foundry 资源内,为团队构建和评估用例提供的开发范围。 项目允许团队在预配置环境中创建原型,重复使用现有模型部署和连接,而无需重复进行 IT 设置。
- 项目资产:包含在某个项目中的文件、代理、评估以及相关工件。
- 连接资源: 通过连接由 Foundry 资源引用的 Azure 服务,例如存储、密钥保管库 和 Azure AI 搜索。 这些资源具有单独的治理边界,因此可以独立管理其网络和访问策略。
这种分离允许 IT 团队在资源级别应用集中控制,而开发团队在project级边界内工作。
注释
项目范围内提供了大多数新的 API。 但是,最初通过 Azure OpenAI、语音、视觉和语言服务在帐户级别支持的某些功能仅在 Foundry 资源级别提供,而不适用于项目范围。 例如,Translator API 仅在 Foundry 资源级可用。 根据工作负荷所需的 API 范围规划部署结构。
安全驱动的关注点分离
Foundry 强制在管理和开发操作之间进行明确的分离,以确保安全且可扩展的 AI 工作负载。
顶级资源治理
顶级 Foundry 资源管理操作包括配置安全性、与其他 Azure 服务建立连接以及管理部署。 专用项目容器隔离开发活动,并提供访问控制、文件、代理和评估的边界。
基于角色的访问控制
Azure RBAC 操作反映了这种关注点分离。 控制平面作(如创建部署和项目)不同于数据平面作,例如生成代理、运行评估以及上传文件。 可以在顶级资源和单个项目级别限定 RBAC 分配范围。 在任一范围内分配托管标识,以支持安全的自动化和服务访问。 有关详细信息,请参阅Microsoft Foundry 的基于角色的访问控制。
最小特权入职的常见入门任务包括:
- Azure AI 用户为Foundry资源范围内每位开发人员的用户主体。
- Azure FOUNDry 资源范围内每个项目托管标识的 AI 用户。
有关角色定义和范围规划指南,请参阅基于 Microsoft Foundry 的访问控制。
监视和可观测性
Azure Monitor 按范围细分指标。 可以在顶级资源中查看管理和使用指标,而项目特定的指标(例如评估性能或代理活动)的范围仅限于单个项目容器。
关键监视功能包括:
- 资源级指标:令牌消耗、模型延迟、请求计数和所有项目中的错误率。
- Project级指标:评估运行结果、代理调用计数和文件操作活动。
- 诊断日志记录:启用诊断设置,将日志路由到日志分析、存储账户或事件中心进行分析和保留。
有关详细信息,请参阅 Azure Monitor 概述。
计算基础结构
Foundry 管理用于模型托管、代理执行和批处理的计算基础结构。
模型部署类型
Foundry 资源中的标准部署提供模型托管体系结构。
代理和评估的托管计算资源
代理、评估和 Batch 作业作为托管容器计算运行,完全由 Microsoft 全面管理。 评估调用模型终结点,并将输出与评分标准进行比较。 Foundry 将结果存储在项目范围内,可通过门户或 SDK 访问。
虚拟网络集成
当代理与外部系统连接时,可以使用 container injection 隔离网络流量,其中平台将子网注入虚拟网络,从而实现与同一虚拟网络中Azure资源的本地通信。
Foundry 支持两种用于出站隔离的网络模型:
| 型号 | 工作原理 | 权衡 |
|---|---|---|
| 客户管理的 VNet (BYO) | 你需提供 VNet 和一个委托给 Microsoft.App/environments 的专用子网。 平台集成到您的子网,支持与专用Azure资源的本地通信。 |
完全掌控网络配置,需要自行进行网络管理。 |
| 托管 VNet (预览版) | Foundry 代表你管理 VNet。 | 更简单的设置;限制自定义选项。 有关详细信息,请参阅 “配置托管虚拟网络”。 |
注释
某些网络隔离方案需要 SDK 或 CLI,而不是门户。 例如,使用阻止所有公共访问的专用终结点的部署无法通过门户 UI 进行配置。 有关详细信息,请参阅 如何为 Foundry 配置private link。
租户隔离
Microsoft托管的计算在每个项目的逻辑隔离环境中运行工作负荷。 客户代码不会与其他租户共享运行时容器。
内容安全和防护措施
Foundry 将内容安全控制集成到模型和代理推理管道中。 防护措施定义了检测风险、扫描干预点(用户输入、输出、工具调用(预览)和工具响应(预览版),以及检测到风险时响应操作。 内容筛选器使用模型请求内联运行,并且可以按部署进行配置。 有关详细信息,请参阅防护措施和控制概述和内容筛选严重性级别。
规模化
代理和评估的托管计算资源会根据工作负荷需求自动扩展。 模型托管根据部署配置进行缩放。
区域可用性
计算功能因Azure区域而异。 模型可用性、部署类型选项和功能支持(例如代理或评估)可能因区域而异。 在预配之前,确认目标区域支持所需的功能。 有关当前可用性,请参阅 跨云区域的功能可用性。
数据存储
Foundry 提供灵活且安全的数据存储选项来支持各种 AI 工作负载。
文件上传的管理存储
在默认设置中,Foundry 使用逻辑分隔的Microsoft托管存储帐户,并支持直接上传文件以用于选择用例(例如 OpenAI 模型和代理),而无需客户提供的存储帐户。
自带存储空间
可以选择连接自己的Azure 存储帐户。 评估和批处理等 Foundry 工具可以从这些账户读取输入,并将输出写入这些账户。 有关受支持的方案的详细信息,请参阅 使用代理服务自带资源。
代理状态存储
- 使用 basic 代理设置,代理服务会将线程、消息和文件存储在Microsoft托管的多租户存储中,逻辑分离。
- 使用 标准代理设置,可为所有客户数据(包括文件、聊天和矢量存储)自带Azure资源。 在此配置中,数据由存储帐户中的项目隔离。
客户管理的密钥加密
默认情况下,Azure 服务会使用由 Microsoft 管理的密钥,通过符合 FIPS 140-2 标准的 256 位 AES 加密来加密静态和传输状态下的数据。 不需更改代码。
若要改用自己的密钥,请在为 Foundry 启用客户管理的密钥之前确认以下先决条件:
- 密钥保管库部署在与 Foundry 资源相同的Azure区域中。
- 软删除和清除保护在密钥保管库上启用。
- 使用 Azure RBAC 时,托管标识具有所需的密钥权限,例如 密钥保管库 Crypto User 角色。
自带密钥保管库
默认情况下,Foundry 将所有基于 API 密钥的连接机密存储在托管Azure 密钥保管库中。 如果希望自己管理机密,请将密钥保管库连接到 Foundry 资源。 一个Azure 密钥保管库连接管理所有项目和资源级连接机密。 有关详细信息,请参阅 如何设置与 Foundry 的Azure 密钥保管库连接。
若要了解有关数据加密的详细信息,请参阅 使用 Foundry 进行加密的客户管理的密钥。
数据驻留和合规性
Foundry 将静态所有数据存储在指定的Azure地理位置中。 推断数据(提示和完成)根据部署类型进行处理:全局部署可能会路由到任何Azure区域,数据区域部署保留在美国或欧盟区域,以及部署区域中的标准或区域部署过程。 有关详细信息,请参阅 部署类型。 Foundry 不支持自动跨区域故障转移。 如果组织需要多区域可用性,请在每个目标区域中部署单独的 Foundry 资源,并在应用程序层管理数据同步和路由。 有关合规性认证详细信息,请参阅Azure合规性文档。
验证体系结构决策
在推出之前,请针对目标环境验证以下内容:
- 验证部署区域中是否提供了所需的模型和功能。 有关详细信息,请参阅 跨云区域的功能可用性。
- 检查角色分配是否正确地在 Foundry 的资源级别和项目级别上进行了范围界定。 有关详细信息,请参阅Microsoft Foundry 的基于角色的访问控制。
- 验证网络隔离要求和专用访问路径。 有关详细信息,请参阅 如何为 Foundry 配置private link。
- 确认加密和机密管理要求,包括客户管理的密钥和Azure 密钥保管库集成。 有关详细信息,请参阅 客户管理的密钥以使用 Foundry 进行加密 和 如何设置与 Foundry 的 Azure 密钥保管库 连接。
- 查看目标资源的配额和限制,包括模型部署限制和速率限制。 有关详细信息,请参阅 Azure OpenAI 配额和限制和 Agent 服务限制、配额和区域。