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.
In questa guida introduttiva si apprenderà come creare un'app di chat console .NET per connettersi e richiedere un modello OpenAI o Azure OpenAI. L'app usa la libreria di Microsoft.Extensions.AI in modo da poter scrivere codice usando astrazioni di intelligenza artificiale anziché un SDK specifico. Le astrazioni di intelligenza artificiale consentono di modificare il modello di intelligenza artificiale sottostante con modifiche minime al codice.
Prerequisiti
- .NET 8.0 SDK o versione successiva - Installare il .NET 8.0 SDK.
- Una chiave API da OpenAI in modo da poter eseguire questo esempio.
Prerequisiti
- .NET 8.0 SDK o versione successiva: Installare il .NET 8 SDK.
- Una sottoscrizione di Azure: crearne una gratuitamente.
- Interfaccia della riga di comando per sviluppatori di Azure (facoltativa): installare o aggiornare l'interfaccia della riga di comando per sviluppatori di Azure.
Annotazioni
È anche possibile usare il kernel semantico per svolgere le attività in questo articolo. Semantic Kernel è un SDK leggero e open source che consente di creare agenti di intelligenza artificiale e integrare i modelli di intelligenza artificiale più recenti nelle app .NET.
Creare l'app
Completare i passaggi seguenti per creare un'app console .NET per connettersi a un modello di intelligenza artificiale.
In una directory vuota nel computer usare il comando
dotnet new
per creare una nuova app console:dotnet new console -o ExtensionsAI
Modificare la directory nella cartella dell'app:
cd ExtensionsAI
Installare i pacchetti necessari:
dotnet add package Azure.AI.OpenAI dotnet add package Azure.Identity dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecrets
dotnet add package OpenAI dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecrets
Aprire l'app in Visual Studio Code o nell'editor preferito.
Creare il servizio di intelligenza artificiale
Per effettuare il provisioning di un servizio e un modello OpenAI di Azure, completare la procedura descritta nell'articolo Creare e distribuire una risorsa del servizio OpenAI di Azure .
Dal terminale o dal prompt dei comandi, vai alla cartella principale della directory del progetto.
Eseguire i comandi seguenti per configurare l'endpoint OpenAI di Azure e il nome del modello per l'app di esempio:
dotnet user-secrets init dotnet user-secrets set AZURE_OPENAI_ENDPOINT <your-Azure-OpenAI-endpoint> dotnet user-secrets set AZURE_OPENAI_GPT_NAME <your-Azure-OpenAI-model-name>
Configurare l'app
Vai alla radice del tuo progetto .NET da un terminale o da un prompt dei comandi.
Eseguire i comandi seguenti per configurare la chiave API OpenAI come segreto per l'app di esempio:
dotnet user-secrets init dotnet user-secrets set OpenAIKey <your-OpenAI-key> dotnet user-secrets set ModelName <your-OpenAI-model-name>
Aggiungere il codice dell'app
L'app usa il pacchetto Microsoft.Extensions.AI
per inviare e ricevere richieste al modello di intelligenza artificiale.
Copiare il file benefits.md nella directory del progetto. Configurare il progetto per copiare il file nella directory di output. Se si usa Visual Studio, fare clic con il pulsante destro del mouse sul file in Esplora soluzioni, selezionare Proprietà e quindi impostare Copia nella directory di output su Copia se più recente.
Program.cs
Nel file aggiungere il codice seguente per connettersi ed eseguire l'autenticazione al modello di intelligenza artificiale.using Microsoft.Extensions.Configuration; using Microsoft.Extensions.AI; using Azure.AI.OpenAI; using Azure.Identity; var config = new ConfigurationBuilder() .AddUserSecrets<Program>() .Build(); string endpoint = config["AZURE_OPENAI_ENDPOINT"]; string deployment = config["AZURE_OPENAI_GPT_NAME"]; IChatClient client = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()) .GetChatClient(deployment) .AsIChatClient();
Annotazioni
DefaultAzureCredential cerca le credenziali di autenticazione dai tuoi strumenti locali. Se non si usa il modello
azd
per il provisioning della risorsa OpenAI di Azure, è necessario assegnare il ruoloAzure AI Developer
all'account usato per accedere a Visual Studio o all'Azure CLI. Per altre informazioni, vedere Eseguire l'autenticazione ai servizi di intelligenza artificiale di Azure con .NET.using Microsoft.Extensions.AI; using Microsoft.Extensions.Configuration; using OpenAI; IConfigurationRoot config = new ConfigurationBuilder() .AddUserSecrets<Program>() .Build(); string? model = config["ModelName"]; string? key = config["OpenAIKey"]; IChatClient client = new OpenAIClient(key).GetChatClient(model).AsIChatClient();
Aggiungere il codice per leggere il contenuto del
benefits.md
file e quindi creare una richiesta per il modello. Il prompt indica al modello di riepilogare il contenuto del testo del file in 20 parole o meno.string text = File.ReadAllText("benefits.md"); string prompt = $""" Summarize the the following text in 20 words or less: {text} """;
Chiamare il
GetResponseAsync
metodo per inviare il prompt al modello per generare una risposta.// Submit the prompt and print out the response. ChatResponse response = await client.GetResponseAsync( prompt, new ChatOptions { MaxOutputTokens = 400 }); Console.WriteLine(response);
Eseguire l'app:
dotnet run
L'app visualizza il risultato finale dal modello di AI. Personalizzare il contenuto di testo del
benefits.md
file o la lunghezza del riepilogo per visualizzare le differenze nelle risposte.
Pulire le risorse
Se non sono più necessari, eliminare la risorsa OpenAI di Azure e la distribuzione del modello GPT-4.