Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, OpenAI veya Azure OpenAI modeli kullanarak konuşma .NET konsol sohbet uygulaması oluşturmayı öğreneceksiniz. Uygulama, belirli bir SDK yerine yapay zeka soyutlamalarını kullanarak kod yazabilmeniz için Microsoft.Extensions.AI kitaplığını kullanır. Yapay zeka soyutlamaları, temel alınan yapay zeka modelini en az kod değişikliğiyle değiştirmenize olanak tanır.
Önkoşullar
- .NET 8.0 SDK veya üzeri - .NET 8.0 SDK'sınıyükleyin.
- Bu örneği çalıştırabilmeniz için OpenAI API anahtarı.
Önkoşullar
- .NET 8.0 SDK veya üzeri - .NET 8 SDK'sınıyükleyin.
- Azure aboneliği - Ücretsiz bir abonelik oluşturun.
- Azure Geliştirici CLI'sı (isteğe bağlı) - Azure Developer CLIyükleyin veya güncelleştirin.
Uygulamayı oluşturma
Bir yapay zeka modeline bağlanmak üzere bir .NET konsol uygulaması oluşturmak için aşağıdaki adımları tamamlayın.
Bilgisayarınızdaki boş bir dizinde yeni bir konsol uygulaması oluşturmak için
dotnet newkomutunu kullanın:dotnet new console -o ChatAppAIDizini uygulama klasörüne değiştirin:
cd ChatAppAIGerekli paketleri yükleyin:
dotnet add package Azure.Identity dotnet add package Azure.AI.OpenAI dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecretsdotnet add package OpenAI dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecretsUygulamayı Visual Studio Code'da (veya istediğiniz düzenleyicide) açın.
code .
Yapay zeka hizmetini oluşturma
Azure OpenAI hizmeti ve modeli sağlamak için Azure OpenAI Hizmeti kaynak oluşturma ve dağıtma makalesindeki adımları tamamlayın.
Terminal veya komut isteminden proje dizininizin köküne gidin.
Örnek uygulama için Azure OpenAI uç noktanızı ve model adınızı yapılandırmak için aşağıdaki komutları çalıştırın:
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> dotnet user-secrets set AZURE_OPENAI_API_KEY <your-Azure-OpenAI-key>
Uygulamayı yapılandırma
Terminalden veya komut isteminden .NET projenizin köküne gidin.
OpenAI API anahtarınızı örnek uygulama için gizli dizi olarak yapılandırmak için aşağıdaki komutları çalıştırın:
dotnet user-secrets init dotnet user-secrets set OpenAIKey <your-OpenAI-key> dotnet user-secrets set ModelName <your-OpenAI-model-name>
Uygulama kodunu ekleme
Bu uygulama, yapay zeka modeline istek göndermek ve almak için Microsoft.Extensions.AI paketini kullanır. Uygulama, kullanıcılara yürüyüş parkurları hakkında bilgi sağlar.
AI modeline
Program.csbağlanmak ve kimlik doğrulaması yapmak için dosyasına aşağıdaki kodu ekleyin.IConfigurationRoot config = new ConfigurationBuilder().AddUserSecrets<Program>().Build(); string endpoint = config["AZURE_OPENAI_ENDPOINT"]; string deployment = config["AZURE_OPENAI_GPT_NAME"]; IChatClient chatClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()) .GetChatClient(deployment) .AsIChatClient();Uyarı
DefaultAzureCredential yerel yazılım araçlarınızdan kimlik doğrulama bilgilerini arar. Azure OpenAI kaynağını sağlamak için
azdşablonunu kullanmıyorsanız, Visual Studio'da veya Azure CLI'da oturum açarken kullandığınız hesabaAzure AI Developerrolünü atamanız gerekir. Daha fazla bilgi için bkz. .NETile Azure AI hizmetlerinde kimlik doğrulaması. var config = new ConfigurationBuilder().AddUserSecrets<Program>().Build(); string model = config["ModelName"]; string key = config["OpenAIKey"]; // Create the IChatClient IChatClient chatClient = new OpenAIClient(key).GetChatClient(model).AsIChatClient();Yapay zeka modeline ilk rol bağlamını ve yürüyüş önerileriyle ilgili yönergeleri sağlamak için bir sistem istemi oluşturun:
// Start the conversation with context for the AI model List<ChatMessage> chatHistory = [ new ChatMessage(ChatRole.System, """ You are a friendly hiking enthusiast who helps people discover fun hikes in their area. You introduce yourself when first saying hello. When helping people out, you always ask them for this information to inform the hiking recommendation you provide: 1. The location where they would like to hike 2. What hiking intensity they are looking for You will then provide three suggestions for nearby hikes that vary in length after you get that information. You will also share an interesting fact about the local nature on the hikes when making a recommendation. At the end of your response, ask if there is anything else you can help with. """) ];Kullanıcıdan bir giriş istemi kabul eden, istemi modele gönderen ve yanıt tamamlama işlemini yazdıran bir konuşma döngüsü oluşturun:
// Loop to get user input and stream AI response while (true) { // Get user prompt and add to chat history Console.WriteLine("Your prompt:"); string? userPrompt = Console.ReadLine(); chatHistory.Add(new ChatMessage(ChatRole.User, userPrompt)); // Stream the AI response and add to chat history Console.WriteLine("AI Response:"); string response = ""; await foreach (ChatResponseUpdate item in chatClient.GetStreamingResponseAsync(chatHistory)) { Console.Write(item.Text); response += item.Text; } chatHistory.Add(new ChatMessage(ChatRole.Assistant, response)); Console.WriteLine(); }uygulamayı çalıştırmak için
dotnet runkomutunu kullanın:dotnet runUygulama, yapay zeka modelinden tamamlama yanıtını yazdırır. Ek izleme istemleri gönderin ve yapay zeka sohbeti işlevselliğiyle deneme yapmak için başka sorular sorun.
Kaynakları temizleme
Artık bunlara ihtiyacınız yoksa Azure OpenAI kaynağını ve GPT-4 model dağıtımını silin.
- Azure Portalüzerinde Azure OpenAI kaynağına gidin.
- Azure OpenAI kaynağını seçin ve ardından Silöğesini seçin.