Integrazioni di intelligenza artificiale

Il pacchetto sperimentale Microsoft.Testing.Platform.AI definisce astrazioni di intelligenza artificiale indipendenti dal provider per framework di test ed estensioni MTP. Il pacchetto si integra con Microsoft.Extensions.AI, in modo che un'estensione possa richiedere un oggetto IChatClient senza dipendere da un provider di modelli specifico.

Importante

Le API di intelligenza artificiale usano l'ID TPEXP di diagnostica e possono cambiare in una versione futura. I pacchetti forniscono l'infrastruttura alle estensioni; non aggiungono il comportamento di intelligenza artificiale a un gruppo di test da soli.

Scegliere i pacchetti

Aggiungere il pacchetto di astrazioni quando si crea un'estensione che utilizza un client di chat. Aggiungere un pacchetto del provider all'applicazione di test che ospita l'estensione:

dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry

Microsoft.Testing.Extensions.AzureFoundry è il provider di riferimento fornito da Microsoft. Crea un client di chat OpenAI Azure tramite Azure AI Foundry.

Configurare Azure AI Foundry

Impostare le seguenti variabili di ambiente:

Variabile Obbligatorio Descrizione
AZURE_OPENAI_ENDPOINT L'endpoint della risorsa Azure OpenAI, ad esempio https://my-resource.openai.azure.com.
AZURE_OPENAI_DEPLOYMENT_NAME Nome della distribuzione del modello.
AZURE_OPENAI_API_KEY Condizionale Chiave API della risorsa. Imposta questo valore a meno che non si registri un TokenCredential nel codice.

Per mantenere le credenziali fuori dal controllo del codice sorgente, fornire questi valori tramite l'ambiente locale o un archivio segreto CI protetto.

Registra il provider

Disabilitare il punto di ingresso MTP generato e registrare il provider nel metodo personalizzato Main . Per l'autenticazione con chiave API, chiamare:

#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP

Per Microsoft Entra ID o identità gestita, fare riferimento al Azure.Identity pacchetto e passare una credenziale:

using Azure.Identity;

#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider(new DefaultAzureCredential());
#pragma warning restore TPEXP

Quando AZURE_OPENAI_API_KEY è impostato, il provider usa la chiave API prima della credenziale fornita. La risoluzione delle credenziali e l'autenticazione si verificano quando viene eseguita la prima richiesta di chat, pertanto gli errori di configurazione potrebbero non essere visualizzati durante la registrazione del provider.

Utilizzare un client di chat

Implementare IChatClientProvider per integrare un altro provider di intelligenza artificiale. Un'estensione MTP può recuperare il client di chat registrato dal relativo IServiceProvider:

IChatClient? client =
    await serviceProvider.GetChatClientAsync(cancellationToken);

La chiamata restituisce null quando non è registrato alcun provider disponibile. Prima che un'estensione invii dati di test a un modello, documentare i dati inviati e applicare i requisiti di privacy, sicurezza e conservazione per tali dati.

Vedere anche