你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用标准智能体设置的内置企业就绪情况

注释

本文档引用 Microsoft Foundry (经典) 门户。

🔄 如果你使用的是新门户,请切换到 Microsoft Foundry(新)文档

注释

本文档指的是 Microsoft Foundry(新) 门户网站。

标准代理设置提供企业级安全性、合规性和控制。 此配置使用客户管理的单租户资源来存储代理状态,并确保所有数据都保留在你的控制范围内。

在此设置中:

  • 代理状态(对话、响应)存储在你自己的 Azure 资源中。

利用自己的资源存储客户数据

这两种标准设置配置旨在通过要求使用自己的 Azure 资源来完全控制敏感数据。 所需的自带 (BYO) 资源包括:

  • BYO 文件存储:开发人员上传的所有文件(在代理配置期间)或最终用户(在交互期间)直接存储在客户的 Azure 存储帐户中。
  • BYO 搜索:代理创建的所有矢量存储都利用客户的 Azure AI 搜索资源。
  • BYO 线程存储:所有客户消息和聊天历史记录都将存储在客户自己的 Azure Cosmos DB 帐户中。

通过将这些 BYO 功能(文件存储、搜索和线程存储)捆绑在一起,标准设置可确保默认情况下部署安全。 Foundry 代理服务处理的所有数据都会自动存储在自己的 Azure 资源中,帮助满足内部策略、合规性要求和企业安全标准。

Azure Cosmos DB for NoSQL

标准设置中使用的现有 Azure Cosmos DB for NoSQL 帐户的总吞吐量限制必须至少 为 3000 RU/秒。 同时支持 预配吞吐量无服务器 模式。

使用标准设置时,将在现有 Cosmos DB 帐户中预配个容器,每个容器都需要 1000 RU/秒

  • 线程消息存储:终端用户对话
  • system-thread-message-store:内部系统消息
  • agent-entity-store:代理元数据,包括其说明、工具、名称等。

Project-Level 数据隔离

默认情况下,标准设置强制实施项目级数据隔离。 存储帐户中将自动预配两个 Blob 存储容器,一个用于文件和一个用于中间系统数据(区块、嵌入)和三个容器将在 Cosmos DB 中预配,一个用于用户系统,一个用于系统消息,一个用于与创建代理相关的用户输入,例如其说明、工具、名称、 等。选择此默认行为以减少设置复杂性,同时仍在项目之间强制实施严格的数据边界。

功能主机

功能主机 是帐户和项目上的子资源,可实现与代理服务的交互。

  • 帐户功能主机:该帐户功能主机的请求体是空的,仅包含参数 capabilityHostKind="Agents"。
  • 项目功能主机:指定用于存储代理状态的资源,可以是托管的多租户(基本设置)或客户拥有的(标准设置)单租户资源。 将项目功能主机视为项目设置。

局限性

  • 不支持更新:无法更新项目或帐户的功能主机。

分步预配过程

Manual

  1. 为标准设置创建项目依赖资源

    • 创建新的 Cosmos DB 资源(或传入现有资源 ID)
    • 创建新的 Azure 存储资源(或传入现有资源 ID)
    • 创建新的 Azure AI 搜索资源(或传入现有资源 ID)
    • 创建新的 Key Vault 资源
    • [可选]:创建新的 Application Insights 资源
    • [可选]:传入现有 Foundry 资源的资源 ID
  2. 创建Microsoft Foundry 资源(认知服务/帐户类型=AIServices)

  3. 创建帐户级连接

    • 创建到 Application Insights 资源的帐户连接
  4. 部署 gpt-4o 或其他代理兼容的模型

  5. 创建项目(认知服务/帐户/项目)

  6. 创建项目连接

    • [如果提供] 与 Foundry 资源的项目连接
    • 创建与 Azure 存储帐户的项目连接
    • 创建与 Azure AI 搜索帐户的项目连接
    • 创建到 Cosmos DB 帐户的项目连接
  7. 为项目托管标识(包括用于 SMI 的)分配以下角色:

    • Cosmos DB 帐户资源的帐户级别范围内的 Cosmos DB 操作员
    • 存储帐户资源的帐户级别范围内的存储帐户参与者
  8. 为帐户功能主机设置空属性部分。

  9. 为项目功能主机设置属性:Cosmos DB、Azure 存储和 AI 搜索连接

  10. 在指定的资源范围内,为项目托管标识(包括 SMI 和 UMI)分配以下角色:

    • Azure AI 搜索(可在 capHost 创建之前或之后分配)
      • 分配角色:搜索索引数据参与者、搜索服务参与者
    • Azure Blob 存储容器: <workspaceId>-azureml-blobstore
      • 分配角色:存储 Blob 数据参与者
    • Azure Blob 存储容器: <workspaceId>- agents-blobstore
      • 分配角色:存储 Blob 数据所有者
    • 用于 NoSQL 数据库的 Cosmos DB:enterprise_memory
      • 分配角色:Cosmos DB 内置数据贡献者
      • 设置范围:数据库级别,涵盖所有容器(没有单独指定特定于容器的角色)。
  11. 预配所有资源后,应为想要在项目中创建/编辑代理的所有开发人员分配角色:项目范围内的 Azure AI 用户。

使用 Bicep 模板

通过在 标准代理模板文件中提供完整的 ARM 资源 ID,使用现有的 Azure OpenAI、Azure 存储帐户、Azure Cosmos DB for NoSQL 帐户和/或 Azure AI 搜索资源。

使用现有的 Azure OpenAI 资源

  1. 按照基本代理设置中的步骤获取 Foundry 工具帐户资源 ID。

  2. 在标准代理模板文件中,替换以下占位符:

    existingAoaiResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{serviceName}
    
    

将现有的 Azure 存储帐户用于文件存储

  1. 要获取存储帐户资源 ID,请使用存储帐户登录到 Azure CLI 并选择订阅:

    az login

  2. 然后运行命令:

    az storage account show --resource-group <your-resource-group> --name <your-storage-account> --query "id" --output tsv

    输出是需要在模板中使用的 aiStorageAccountResourceID

  3. 在标准代理模板文件中,替换以下占位符:

    aiStorageAccountResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
    

将现有的 Azure Cosmos DB for NoSQL 帐户用于线程存储

为每个 Foundry 帐户创建 Azure Cosmos DB for NoSQL 帐户。

对于 Foundry 帐户下的每个项目,三个容器部署在同一 Cosmos DB 帐户中。 每个容器至少需要 1000 RU/秒。

例如,如果两个项目部署在同一 Foundry 帐户下,则 Cosmos DB 帐户必须配置至少 6000 RU/秒(3 个容器× 1000 RU/秒× 2 个项目),以确保足够的吞吐量。

同时支持预配的吞吐量和无服务器模式。

注释

Cosmos DB 帐户中的 RU/s 容量不足将导致部署期间功能主机预配失败。

  1. 若要获取 Azure Cosmos DB 帐户资源 ID,请登录到 Azure CLI,并使用帐户选择订阅:

    az login
    
  2. 然后运行命令:

    az cosmosdb show --resource-group  <your-resource-group> --name <your-comosdb-account>  --query "id" --output tsv
    

    输出是需要在模板中使用的 cosmosDBResourceId

  3. 在标准代理模板文件中,替换以下占位符:

    cosmosDBResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbAccountName}

使用现有的 Azure AI 搜索资源

  1. 要获取 Azure AI 搜索资源 ID,请登录到 Azure CLI,并使用搜索资源选择订阅:

    az login

  2. 然后运行命令:

    az search service show --resource-group <your-resource-group> --name <your-search-service> --query "id" --output tsv

  3. 在标准代理模板文件中,替换以下占位符:

    aiSearchServiceResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}