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.
Importante
L'estensione OpenAI di Azure per Funzioni di Azure è attualmente in anteprima.
L'estensione OpenAI di Azure per Funzioni di Azure implementa un set di trigger e associazioni che consentono di integrare facilmente funzionalità e comportamenti del servizio Azure OpenAI nelle esecuzioni di codice della funzione.
Funzioni di Azure è un servizio di calcolo basato su eventi che fornisce un set di trigger e associazioni per connettersi facilmente ad altri servizi di Azure.
Con l'integrazione tra Azure OpenAI e Funzioni, è possibile creare funzioni che possono:
Azione | Tipo di trigger/associazione |
---|---|
Usare una richiesta di testo standard per il completamento del contenuto | Associazione di input di completamento del testo OpenAI di Azure |
Rispondere a una richiesta di assistente per chiamare una funzione | Trigger dell'assistente OpenAI di Azure |
Creare un assistente | L'assistente OpenAI di Azure crea l'associazione di output |
Messaggio di un assistente | Associazione post-input dell'assistente OpenAI di Azure |
Ottenere la cronologia degli assistenti | Associazione di input delle query per l'assistente Azure OpenAI |
Leggere gli incorporamenti di testo | Associazione di input incorporamento di Azure OpenAI |
Scrivere in un database vettoriale | Associazione di output dell'archivio di incorporamenti OpenAI di Azure |
Leggere da un database vettoriale | Associazione di input di ricerca semantica OpenAI di Azure |
Installare l'estensione
Il pacchetto NuGet di estensione installato dipende dal processo di lavoro in-process o isolato in modalità C# in uso nell'app per le funzioni:
Aggiungere l'estensione OpenAI di Azure al progetto installando il pacchetto NuGet Microsoft.Azure.Functions.Worker.Extensions.OpenAI, che è possibile eseguire usando l'interfaccia della riga di comando di .NET:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
Quando si usa un database vettoriale per l'archiviazione del contenuto, è necessario installare almeno uno di questi pacchetti NuGet:
- Ricerca di intelligenza artificiale di Azure: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure Cosmos DB per MongoDB vCore: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Cosmos DB per NoSQL: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Esplora dati di Azure: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.Kusto
Installare il bundle
È possibile aggiungere l'estensione di anteprima aggiungendo o sostituendo il codice seguente nel host.json
file, destinato in particolare a una versione di anteprima del bundle 4.x che contiene l'estensione OpenAI:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.*, 5.0.0)"
}
}
Connessione ad OpenAI
Per usare l'estensione di associazione OpenAI di Azure, è necessario specificare una connessione a OpenAI. Questa connessione viene definita usando le impostazioni dell'applicazione e la AIConnectionName
proprietà del trigger o dell'associazione. È anche possibile usare le variabili di ambiente per definire connessioni basate su chiave.
È consigliabile usare connessioni gestite basate su identità e la AIConnectionName
proprietà .
Le associazioni OpenAI hanno una AIConnectionName
proprietà che è possibile usare per specificare per <ConnectionNamePrefix>
questo gruppo di impostazioni dell'app che definiscono la connessione ad Azure OpenAI:
Nome impostazione | Descrizione |
---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Imposta l'endpoint URI del servizio Azure OpenAI. Questa impostazione è sempre obbligatoria. |
<CONNECTION_NAME_PREFIX>__clientId |
Imposta l'identità assegnata dall'utente specifica da usare per ottenere un token di accesso. Richiede che <CONNECTION_NAME_PREFIX>__credential sia impostato su managedidentity . La proprietà accetta un ID client corrispondente a un'identità assegnata dall'utente assegnata all'applicazione. Non è valido specificare sia un ID risorsa che un ID client. Se non specificata, viene usata l'identità assegnata dal sistema. Questa proprietà viene usata in modo diverso in scenari di sviluppo locale, quando non è consigliabile impostare credential . |
<CONNECTION_NAME_PREFIX>__credential |
Definisce il modo in cui viene ottenuto un token di accesso per la connessione. Usare managedidentity per l'autenticazione dell'identità gestita. Questo valore è valido solo quando un'identità gestita è disponibile nell'ambiente di hosting. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Quando credential è impostato su managedidentity , questa proprietà può essere impostata per specificare l'identificatore della risorsa da usare quando si ottiene un token. La proprietà accetta un identificatore di risorsa corrispondente all'ID risorsa dell'identità gestita definita dall'utente. Non è valido specificare sia un ID risorsa che un ID client. Se non viene specificato nessuno dei due valori, viene usata l'identità assegnata dal sistema. Questa proprietà viene usata in modo diverso in scenari di sviluppo locale, quando non è consigliabile impostare credential . |
<CONNECTION_NAME_PREFIX>__key |
Imposta la chiave privata condivisa necessaria per accedere all'endpoint del servizio Azure OpenAI usando l'autenticazione basata su chiave. Come procedura consigliata per la sicurezza, è consigliabile usare sempre Microsoft Entra ID con identità gestite per l'autenticazione. |
Prendere in considerazione queste impostazioni di connessione dell'identità gestita quando la AIConnectionName
proprietà viene impostata su myAzureOpenAI
:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/
myAzureOpenAI__credential=managedidentity
myAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
In fase di esecuzione, queste impostazioni vengono interpretate collettivamente dall'host come una singola myAzureOpenAI
impostazione simile alla seguente:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Quando si usano identità gestite, assicurarsi di aggiungere l'identità al ruolo Utente OpenAI di Servizi cognitivi .
Quando si esegue localmente, è necessario aggiungere queste impostazioni al file di progetto local.settings.json . Per altre informazioni, vedere Sviluppo locale con connessioni basate su identità.
Per altre informazioni, vedere Usare le impostazioni dell'applicazione.