Freigeben über


Einrichten von Standard-Agent-Ressourcen

Standard-Agent-Setup verwendet vom Kunden verwaltete, einzelmandantenbasierte Azure Ressourcen, um den Agentstatus zu speichern und alle Agentdaten unter Ihrer Kontrolle zu behalten. Verwenden Sie das Standard-Setup, wenn Sie vollständige Datenhoheit, die Einhaltung von Unternehmenssicherheitsrichtlinien oder Isolation auf Projektebene benötigen.

In diesem Setup:

  • Agent-Zustände (Unterhaltungen, Antworten) werden in Ihren eigenen Azure Ressourcen gespeichert.
  • Sie behalten die vollständige Kontrolle über die Datenspeicherung und den Zugriff.

Tipp

Eine einfachere Einrichtung, die von Microsoft verwaltete Ressourcen verwendet, finden Sie unter "Umgebungssetup ", und wählen Sie die Grundlegende Agent-Setupoption aus.

Voraussetzungen

Ressourcenübersicht

Standardsetup erfordert, dass Sie Byo-Ressourcen (Bring Your Own) verwenden, damit alle Agentdaten in Ihrem Azure Mandanten verbleiben:

Resource Was es speichert
Azure Storage (BYO-Dateispeicher) Von Entwicklern und Endbenutzern hochgeladene Dateien
Azure AI Search (BYO-Suche) Vom Agent erstellte Vektorspeicher
Azure Cosmos DB (BYO Thread Storage) Nachrichten, Aufgezeichnete Unterhaltungen und Agentmetadaten

Alle vom Foundry Agent Service verarbeiteten Daten werden automatisch in diesen Ressourcen gespeichert und helfen Ihnen dabei, Complianceanforderungen und Unternehmenssicherheitsstandards zu erfüllen.

Anforderungen an den Durchsatz von Cosmos DB

Ihr Azure Cosmos DB für NoSQL-Konto muss einen Gesamtdurchsatzgrenzwert von mindestens 3000 RU/s haben. Sowohl der bereitgestellte Durchsatz als auch der Serverless-Modus werden unterstützt.

Standardeinrichtung stellt drei Container in Ihrem Cosmos DB-Konto bereit, von denen jeder 1000 RU/s erfordert:

Container Zweck
thread-message-store Endanwendergespräche
system-thread-message-store Interne Systemmeldungen
agent-entity-store Agentmetadaten (Anweisungen, Tools, Name)

Bei mehreren Projekten unter demselben Foundry-Konto multiplizieren Sie die Anzahl der Projekte miteinander. Beispielsweise benötigen zwei Projekte mindestens 6000 RU/s (3 Container × 1000 RU/s × 2 Projekte).

Datenisolation auf Projektebene

Die Standardkonfiguration erzwingt eine standardmäßige Datenisolation auf Projektebene. Zwei Blob-Speichercontainer werden automatisch in Ihrem Speicherkonto bereitgestellt: einer für Dateien und einer für Zwischensystem-Daten (Blöcke, Einbettungen). Drei Container werden in Ihrem Cosmos DB-Konto bereitgestellt: eines für Benutzerthreads, eine für Systemnachrichten und eine für Agentkonfigurationsdaten wie Anweisungen, Tools und Namen. Dieses Standardverhalten reduziert die Einrichtungskomplexität und erzwingt gleichzeitig strenge Datengrenzen zwischen Projekten.

Funktionshosts

Capability hosts sind Unterressourcen sowohl für das Konto als auch für das Projekt, die die Interaktion mit dem Agentendienst ermöglichen.

  • Account-Fähigkeits-Host: Hat einen leeren Anforderungstext bis auf den Parameter capabilityHostKind="Agents".
  • Projektfunktionalitäten Host: Gibt Ressourcen für die Speicherung des Status von Agents an, entweder von Microsoft verwaltete mandantenfähige (Basis-Setup) oder kundeneigene (Standard-Setup) mandantenfähige Ressourcen. Der Host für die Funktionalitäten des Projekts funktioniert wie die Projekteinstellungen.

Einschränkungen

  • Sie können den Funktionalitätshost nicht aktualisieren, nachdem er für ein Projekt oder ein Konto festgelegt wurde.

Bereitstellen von Ressourcen schritt für Schritt

Hinweis

Das Foundry-Portal unterstützt derzeit nur die grundlegende Agent-Einrichtung. Verwenden Sie zum Konfigurieren der Standardkonfiguration des Agents die manuellen Schritte oder das in diesem Abschnitt beschriebene Bicep-Template.

Manuelle Bereitstellung

Führen Sie die folgenden Schritte aus, um alle Ressourcen, die für die Standardmäßige Agent-Einrichtung erforderlich sind, manuell bereitzustellen. Planen Sie etwa 30-45 Minuten für den vollständigen Bereitstellungsprozess ein.

Phase 1: Erstellen abhängiger Ressourcen

  1. Erstellen oder wiederverwenden Sie die folgenden Ressourcen. Sie können neue Ressourcen erstellen oder die Ressourcen-ID vorhandener Ressourcen übergeben:
    • Azure Cosmos DB für NoSQL-Konto
    • Azure Storage Konto
    • Azure KI Search-Ressource
    • Azure Key Vault Ressource (wird zum Verwalten von geheimen Schlüsseln und Verbindungszeichenfolgen für die Agentinfrastruktur verwendet)
    • [Optional] Azure Application Insights-Ressource
    • [Optional] Vorhandene Gießereiressource

Phase 2: Erstellen von Gießereiressourcen und -verbindungen

  1. Erstellen Sie eine Microsoft Foundry-Ressource.
  2. Erstellen von Verbindungen auf Kontoebene:
    • Erstellen Sie eine Kontoverbindung mit der Application Insights-Ressource.
  3. Stellen Sie gpt-4o oder ein anderes agentkompatibles Modell bereit.
  4. Erstellen Sie ein Projekt.
  5. Erstellen Sie Projektverbindungen:
    • [Falls angegeben] Projektverbindung mit der Foundry-Ressource.
    • Projektverbindung mit dem Azure Storage-Konto.
    • Projektverbindung mit der Azure AI Search-Ressource.
    • Verbindung des Projekts mit dem Cosmos DB-Konto.

Phase 3: Zuweisen von Rollen zur projektverwalteten Identität

Die Projekt verwaltete Identität umfasst sowohl die vom System zugewiesene verwaltete Identität (System-assigned Managed Identity, SMI) als auch die vom Benutzer zugewiesene verwaltete Identität (User-assigned Managed Identity, UMI).

  1. Weisen Sie die Projektverwaltete Identität (für SMI) den folgenden Rollen zu:
    • Cosmos DB Operator für die Ressource Cosmos DB auf Kontoebene.
    • Speicherkontomitwirkender auf Kontoebene für die Speicherkontoressource.

Phase 4: Konfigurieren von Funktionshosts

  1. Legen Sie den Kontofunktionshost mit einem leeren Eigenschaftenabschnitt fest.
  2. Legen Sie den Projekt-Konfigurationshost mit Cosmos DB-, Azure Storage- und KI-Suchverbindungen fest.

Phase 5: Zuweisen präziser Ressourcenberechtigungen

  1. Weisen Sie der projektverwalteten Identität (sowohl SMI als auch UMI) die folgenden Rollen für die angegebenen Ressourcenreichweiten zu.
    • Azure AI Search (entweder Zuweisung vor oder nach der Erstellung des Funktionshosts)
      • Mitwirkender an Suchindexdaten
      • Search Service Mitwirkender
    • Azure Blob Storage-Container: <workspaceId>-azureml-blobstore
      • Storage Blob-Datenmitwirkender
    • Azure Blob Storage-Container: <workspaceId>-agents-blobstore
      • Storage Blob-Datenbesitzer
    • Cosmos DB für NoSQL-Datenbank: enterprise_memory
      • Integrierter Cosmos DB-Daten-Beitragender
      • Bereich: Datenbankebene, um alle Container abzudecken (es ist keine einzelne containerspezifische Rollenzuweisung erforderlich).

Phase 6: Gewähren von Access für Entwickler

  1. Weisen Sie allen Entwicklern, die Agents im Projekt erstellen oder bearbeiten müssen, die Azure AI User Rolle im Projektumfang zu.

Verwenden einer Bicep-Vorlage

Verwenden Sie ein vorhandenes Azure OpenAI-, Azure Storage-Konto, Azure Cosmos DB für NoSQL-Konto oder Azure AI Search Ressource, indem Sie die vollständige Azure Resource Manager-Ressourcen-ID (ARM) in der standard-Agent-Vorlagendatei bereitstellen.

Verwenden einer vorhandenen Azure OpenAI-Ressource

  1. Führen Sie die Schritte im Umgebungssetup aus, um die Ressourcen-ID des Findry Tools-Kontos abzurufen.

  2. Ersetzen Sie in der Standard-Agent-Vorlagendatei den folgenden Platzhalter:

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

Verwenden eines vorhandenen Azure Storage-Kontos für die Dateispeicherung

  1. Melden Sie sich bei der Azure CLI an und wählen Sie dann das Abonnement mit Ihrem Speicherkonto aus.

    az login
    
  2. Führen Sie den folgenden Befehl aus, um Ihre Speicherkonto-Ressourcen-ID abzurufen:

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

    Die Ausgabe ist der aiStorageAccountResourceID Wert, den Sie in der Vorlage benötigen.

  3. Ersetzen Sie in der Standard-Agent-Vorlagendatei den folgenden Platzhalter:

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

Verwenden Sie ein vorhandenes Azure Cosmos DB for NoSQL-Konto für den Thread-Storage

Für jedes Foundry-Konto wird ein Azure Cosmos DB für NoSQL-Konto erstellt. Informationen zu Durchsatzanforderungen und Mehrprojekt-Skalierung finden Sie unter Cosmos DB-Durchsatzanforderungen.

Hinweis

Unzureichende RU/s-Kapazität im Cosmos DB-Konto führt während der Bereitstellung zu Fehlern bei der Bereitstellung der Funktionshosts.

  1. Melden Sie sich bei der Azure CLI an, und wählen Sie das Abonnement mit Ihrem Cosmos DB-Konto aus:

    az login
    
  2. Führen Sie den folgenden Befehl aus, um Ihre Azure Cosmos DB-Kontoressourcen-ID abzurufen:

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

    Die Ausgabe ist der cosmosDBResourceId Wert, den Sie in der Vorlage benötigen.

  3. Ersetzen Sie in der Standard-Agent-Vorlagendatei den folgenden Platzhalter:

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

Verwenden einer vorhandenen Azure AI Search-Ressource

  1. Melden Sie sich bei der Azure CLI an, und wählen Sie das Abonnement mit Ihrer Suchressource aus:

    az login
    
  2. Führen Sie den folgenden Befehl aus, um Ihre Azure AI Search Ressourcen-ID abzurufen:

    az search service show --resource-group <your-resource-group> --name <your-search-service> --query "id" --output tsv
    
  3. Ersetzen Sie in der Standard-Agent-Vorlagendatei den folgenden Platzhalter:

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

Überprüfen Des Setups

Überprüfen Sie nach Abschluss der Bereitstellung, ob das Setup ordnungsgemäß funktioniert:

  1. Navigieren Sie im Azure portal zu Ihrer Foundry-project, und vergewissern Sie sich, dass alle Verbindungen (Storage, Cosmos DB, AI Search) unter den project Einstellungen angezeigt werden.
  2. Überprüfen Sie, ob der Status des gehosteten Funktionalitäten-Hosts sowohl für das Konto als auch für das Projekt als Erfolgreich angezeigt wird.
  3. Überprüfen Sie Rollenzuweisungen, indem Sie zur Seite Access control (IAM) jeder Ressource navigieren und bestätigen, dass die projektverwaltete Identität die erwarteten Rollen hat.
  4. Erstellen Sie einen Test-Agent, um die End-to-End-Funktionalität zu bestätigen.

Häufige Probleme beheben

Symptom Ursache Beschluss
CapabilityHostProvisioningFailed oder der Funktionshoststatus zeigt „fehlgeschlagen“ an. Unzureichender Cosmos DB-Durchsatz Stellen Sie sicher, dass Ihr Cosmos DB-Konto mindestens 3000 RU/s hat (1000 RU/s pro Container × 3 Container). Multiplizieren Sie bei mehreren Projekten mit der Anzahl der Projekte.
403 Forbidden wenn der Agent Dateien liest oder schreibt Fehlende Speicher-Rollenzuweisungen Vergewissern Sie sich, dass die projektverwaltete Identität Storage Blob Data Contributor im <workspaceId>-azureml-blobstore-Container und Storage Blob Data Owner im <workspaceId>-agents-blobstore-Container hat.
SearchIndexNotFound oder 403 bei Suchvorgängen Fehlende Suchfunktionen Vergewissern Sie sich, dass die verwaltete Identität des Projekts sowohl Search Index Data Contributor als auch Search Service Contributor auf Ihrer Azure AI Search-Ressource hat.
AuthorizationFailed beim Erstellen oder Bearbeiten von Agenten Fehlende Benutzerrolle Weisen Sie dem Entwickler im Projektrahmen die Rolle Azure AI User zu.
Aktualisierungsanforderung an den Fähigkeits-Host gibt 400 BadRequest zurück Das Update wird nicht unterstützt Fähigkeiten-Hosts können nach ihrer Erstellung nicht aktualisiert werden. Löschen Sie das Projekt und erstellen Sie es neu, wenn Konfigurationsänderungen erforderlich sind.