Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La configurazione dell'agente standard usa risorse di Azure a tenant singolo e gestite dal cliente per archiviare lo stato dell'agente e mantenere tutti i dati dell'agente sotto il controllo. Usare la configurazione standard quando è necessaria la sovranità dei dati completa, la conformità ai criteri di sicurezza aziendali o l'isolamento a livello di progetto.
In questa configurazione:
- Gli stati dell'agente (conversazioni, risposte) vengono archiviati nelle proprie risorse di Azure.
- Si mantiene il controllo completo sulla residenza e l'accesso dei dati.
Suggerimento
Per una configurazione più semplice che usa risorse gestite da Microsoft, vedere Configurazione dell'ambiente e scegliere l'opzione di configurazione dell'agente di base.
Prerequisiti
- Una sottoscrizione di Azure. Crearne uno gratuitamente.
- Un account Azure Cosmos DB for NoSQL. Per i requisiti di velocità effettiva, vedere Requisiti di velocità effettiva di Cosmos DB.
- Un account di Archiviazione di Azure.
- Una risorsa di Ricerca intelligenza artificiale di Azure .
- Risorsa di Azure Key Vault per la gestione dei segreti.
- CLI di Azure versione 2.50 o successiva. Eseguire
az --versionper verificare. - Autorizzazioni sufficienti per assegnare ruoli. È necessario il ruolo Proprietario o Amministratore accesso utenti nel gruppo di risorse.
- Un modello compatibile con gli agenti distribuito, ad esempio gpt-4o.
Panoramica delle risorse
Importante
Le configurazioni standard richiedono l'uso di risorse BYO (Bring Your Own) in modo che tutti i dati dell'agente rimangano nel tenant di Azure:
| Risorsa | Cosa archivia |
|---|---|
| Archiviazione di Azure (archiviazione file BYO) | File caricati dagli sviluppatori e dagli utenti finali |
| Ricerca di intelligenza artificiale di Azure (ricerca BYO) | Archivi vettoriali creati dall'agente |
| Azure Cosmos DB (archiviazione thread BYO) | Messaggi, cronologia conversazioni e metadati dell'agente |
Tutti i dati elaborati dal servizio Foundry Agent vengono archiviati automaticamente inattivi in queste risorse, consentendo di soddisfare i requisiti di conformità e gli standard di sicurezza aziendali.
Requisiti di velocità effettiva di Cosmos DB
L'account Azure Cosmos DB per NoSQL deve avere un limite di velocità effettiva totale di almeno 3000 UR/sec. Sono supportate sia la velocità effettiva con provisioning che le modalità serverless.
La configurazione standard effettua il provisioning di tre contenitori nell'account Cosmos DB, ognuno dei quali richiede 1000 UR/sec:
| Contenitore | Scopo |
|---|---|
thread-message-store |
Conversazioni dell'utente finale |
system-thread-message-store |
Messaggi di sistema interni |
agent-entity-store |
Metadati dell'agente (istruzioni, strumenti, nome) |
Per più progetti con lo stesso account Foundry, moltiplicare per il numero di progetti. Ad esempio, due progetti richiedono almeno 6000 UR/s (3 contenitori × 1000 UR/s × 2 progetti).
Isolamento dei dati a livello di progetto
L'installazione standard applica l'isolamento dei dati a livello di progetto per impostazione predefinita. Vengono forniti automaticamente due contenitori di archiviazione blob nel tuo account di archiviazione: uno per i file e uno per i dati di sistema temporanei (blocchi, incorporamenti). Viene effettuato il provisioning di tre contenitori nell'account Cosmos DB: uno per i thread utente, uno per i messaggi di sistema e uno per i dati di configurazione dell'agente, ad esempio istruzioni, strumenti e nomi. Questo comportamento predefinito riduce la complessità della configurazione, applicando comunque limiti di dati rigorosi tra i progetti.
Host di funzionalità
Gli host di funzionalità sono sotto-risorse sia nell'account che nel progetto che consentono l'interazione con il servizio Agent.
-
Host di funzionalità dell'account: ha un corpo della richiesta vuoto, ad eccezione del parametro
capabilityHostKind="Agents". - Host funzionalità del progetto: specifica le risorse per l'archiviazione dello stato dell'agente, ovvero risorse multi-tenant gestite da Microsoft (configurazione di base) o di proprietà del cliente (configurazione standard) a tenant singolo. L'host di funzionalità del progetto funziona come impostazioni del progetto.
Limitazioni
- Non è possibile aggiornare l'host di funzionalità dopo che è impostato per un progetto o un account.
Eseguire l'approvvigionamento delle risorse passo dopo passo
Nota
Il portale foundry supporta attualmente solo la configurazione dell'agente di base. Per configurare l'installazione dell'agente standard, usare i passaggi manuali o il modello Bicep descritto in questa sezione.
Provisioning manuale
Seguire questa procedura per effettuare manualmente il provisioning di tutte le risorse necessarie per la configurazione dell'agente standard. Attendere circa 30-45 minuti per il processo di provisioning completo.
Fase 1: Creare risorse dipendenti
- Creare o riutilizzare le risorse seguenti. È possibile creare nuove risorse o passare l'ID risorsa di quelli esistenti:
- Account Azure Cosmos DB for NoSQL
- Account di archiviazione di Azure
- Risorsa di Ricerca AI di Azure
- Risorsa di Azure Key Vault (usata per la gestione di segreti e stringhe di connessione per l'infrastruttura dell'agente)
- [Facoltativo] Risorsa di applicazione Azure Insights
- [Facoltativo] Risorsa Fonderia esistente
Fase 2: Creare le risorse e le connessioni per Foundry
- Creare una risorsa Microsoft Foundry.
- Creare connessioni a livello di account:
- Creare una connessione account alla risorsa di Application Insights.
- Implementare gpt-4o o un altro modello compatibile con agenti.
- Creare un progetto.
- Creare connessioni di progetto:
- [Se specificato] Connessione del progetto alla risorsa Foundry.
- Connessione del progetto all'account di archiviazione di Azure.
- Connessione del progetto alla risorsa di Ricerca intelligenza artificiale di Azure.
- Connessione del progetto all'account Cosmos DB.
Fase 3: Assegnare ruoli all'identità gestita del progetto
L'identità gestita del progetto include sia l'identità gestita assegnata dal sistema (SMI) che l'identità gestita assegnata dall'utente (UMI).
- Assegnare l'identità gestita del progetto (per SMI) ai ruoli seguenti:
- Operatore Cosmos DB a livello di account per la risorsa Cosmos DB.
- Collaboratore account di archiviazione a livello di account per la risorsa account di archiviazione.
Fase 4: Configurare gli host di funzionalità
- Impostare l'host di funzionalità dell'account con una sezione delle proprietà vuota.
- Impostare l'host di funzionalità del progetto con le connessioni Cosmos DB, Archiviazione di Azure e AI Search.
Fase 5: Assegnare autorizzazioni granulari per le risorse
- Assegnare l'identità gestita del progetto (sia SMI che UMI) ai ruoli seguenti negli ambiti delle risorse specificati:
-
Azure AI Search (assegnare prima o dopo la creazione del capability host):
- Collaboratore ai dati dell'indice di ricerca
- Collaboratore servizio di ricerca
-
Contenitore dell'Archiviazione BLOB di Azure:
<workspaceId>-azureml-blobstore- Collaboratore dei dati di Storage Blob
-
Contenitore dell'Archiviazione BLOB di Azure:
<workspaceId>-agents-blobstore- Proprietario dei dati dei BLOB di archiviazione
-
Cosmos DB per database NoSQL:
enterprise_memory- Contributore dati integrato di Cosmos DB
- Ambito: livello di database per coprire tutti i contenitori (non è necessaria alcuna assegnazione di ruolo specifica del contenitore).
-
Azure AI Search (assegnare prima o dopo la creazione del capability host):
Fase 6: Concedere l'accesso per sviluppatori
- Assegnare a tutti gli sviluppatori che devono creare o modificare agenti nel progetto il ruolo Foundry User a livello di progetto.
Importante
I ruoli RBAC di Foundry sono stati recentemente rinominati. Foundry User, Foundry Owner, Foundry Account Owner e Foundry Project Manager erano precedentemente denominati Azure AI User, Azure AI Owner, Azure AI Account Owner e Azure AI Project Manager. È possibile che i nomi precedenti vengano visualizzati in alcune posizioni durante l'esecuzione della ridenominazione. Gli ID ruolo e le autorizzazioni di base sono invariati dalla ridenominazione.
Usare un modello Bicep
Usare un'istanza esistente di Azure OpenAI, un account di Archiviazione di Azure, un account di Azure Cosmos DB for NoSQL o una risorsa di RAzure AI Search specificando l'ID risorsa di Azure Resource Manager (ARM) completo nel file del modello di agente standard.
Usare una risorsa OpenAI di Azure esistente
Seguire la procedura descritta in Configurazione dell'ambiente per ottenere l'ID risorsa dell'account Foundry Tools.
Nel file modello di agente standard sostituire il segnaposto seguente:
existingAoaiResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{serviceName}
Usare un account di archiviazione di Azure esistente per l'archiviazione file
Accedere all'interfaccia della riga di comando di Azure e selezionare la sottoscrizione con l'account di archiviazione:
az loginEseguire il comando seguente per ottenere l'ID risorsa dell'account di archiviazione:
az storage account show --resource-group <your-resource-group> --name <your-storage-account> --query "id" --output tsvL'output si trova nel valore
aiStorageAccountResourceIDnecessario nel modello.Nel file modello di agente standard sostituire il segnaposto seguente:
aiStorageAccountResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
Usare un account esistente di Azure Cosmos DB per NoSQL per l'archiviazione dei thread
Viene creato un account Azure Cosmos DB per NoSQL per ogni account Foundry. Per i requisiti di velocità effettiva e il ridimensionamento multiprogetto, vedere Requisiti di velocità effettiva di Cosmos DB.
Nota
Una capacità di UR/s insufficiente nell'account Cosmos DB causa errori di provisioning degli host di capacità durante la distribuzione.
Accedere all'interfaccia della riga di comando di Azure e selezionare la sottoscrizione con l'account Cosmos DB:
az loginEseguire il comando seguente per ottenere l'ID risorsa dell'account Azure Cosmos DB:
az cosmosdb show --resource-group <your-resource-group> --name <your-cosmosdb-account> --query "id" --output tsvL'output si trova nel valore
cosmosDBResourceIdnecessario nel modello.Nel file modello di agente standard sostituire il segnaposto seguente:
cosmosDBResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbAccountName}
Usare una risorsa di Ricerca intelligenza artificiale di Azure esistente
Accedere all'interfaccia della riga di comando di Azure e selezionare la sottoscrizione con la risorsa di ricerca:
az loginEsegui il comando seguente per ottenere l'ID risorsa di Azure AI Search:
az search service show --resource-group <your-resource-group> --name <your-search-service> --query "id" --output tsvNel file modello di agente standard sostituire il segnaposto seguente:
aiSearchServiceResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}
Verificare la configurazione
Dopo aver completato il provisioning, verificare che la configurazione funzioni correttamente:
- Nel portale di Azure passare al progetto Foundry e verificare che tutte le connessioni (Archiviazione, Cosmos DB, Ricerca di intelligenza artificiale) siano visualizzate nelle impostazioni del progetto.
- Verificare che lo stato dell'host di funzionalità sia Riuscito sia per l'account che per il progetto.
- Verificare le assegnazioni di ruolo passando alla pagina Controllo di accesso (IAM) di ogni risorsa e confermando che l'identità gestita del progetto ha i ruoli previsti.
- Creare un agente di test per confermare la funzionalità end-to-end.
Risolvere i problemi comuni
| Sintomo | Causa | Risoluzione |
|---|---|---|
CapabilityHostProvisioningFailed o lo stato dell'host di funzionalità mostra Non riuscito |
Velocità effettiva di Cosmos DB insufficiente | Verificare che l'account Cosmos DB abbia almeno 3000 UR/sec (1000 UR/sec per contenitore × 3 contenitori). Per più progetti, moltiplicare per il numero di progetti. |
403 Forbidden quando l'agente legge o scrive file |
Assegnazioni di ruolo di archiviazione mancanti | Verificare che l'identità gestita del progetto abbia il ruolo Collaboratore ai dati del BLOB di archiviazione nel contenitore <workspaceId>-azureml-blobstore e del ruolo Proprietario dei dati del BLOB di archiviazione nel contenitore <workspaceId>-agents-blobstore. |
SearchIndexNotFound o 403 nelle operazioni di ricerca |
Ruoli di ricerca mancanti | Verificare che l'identità gestita del progetto abbia sia il ruolo di Collaboratore ai dati dell'indice di ricerca sia quello di Collaboratore servizio di ricerca nella risorsa di Azure AI Search. |
AuthorizationFailed durante la creazione o la modifica di agenti |
Ruolo utente mancante | Assegna il ruolo Foundry User allo sviluppatore a livello di progetto. |
La richiesta di aggiornamento all'host di funzionalità restituisce 400 BadRequest |
Aggiornamento non supportato | Gli host di funzionalità non possono essere aggiornati dopo la creazione. Eliminare e ricreare il progetto se sono necessarie modifiche alla configurazione. |