Aracılığıyla paylaş


Yapay zeka modeline bağlanma ve bunu isteme

Bu hızlı başlangıçta, OpenAI veya Azure OpenAI modeline bağlanmak ve bunu istemde bulunabilmek için bir .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

Uyarı

Bu makaledeki görevleri gerçekleştirmek için Anlam Çekirdeği de kullanabilirsiniz. Anlam Çekirdeği, yapay zeka aracıları oluşturmanıza ve en son yapay zeka modellerini .NET uygulamalarınızla tümleştirmenize olanak tanıyan basit, açık kaynaklı bir SDK'dır.

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.

  1. Bilgisayarınızdaki boş bir dizinde yeni bir konsol uygulaması oluşturmak için dotnet new komutunu kullanın:

    dotnet new console -o ExtensionsAI
    
  2. Dizini uygulama klasörüne değiştirin:

    cd ExtensionsAI
    
  3. Gerekli paketleri yükleyin:

    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
    
  4. Uygulamayı Visual Studio Code'da veya seçtiğiniz düzenleyicide açın.

Yapay zeka hizmetini oluşturma

  1. Azure OpenAI hizmeti ve modeli sağlamak için Azure OpenAI Hizmeti kaynak oluşturma ve dağıtma makalesindeki adımları tamamlayın.

  2. Terminal veya komut isteminden proje dizininizin köküne gidin.

  3. Ö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

  1. Terminalden veya komut isteminden .NET projenizin köküne gidin.

  2. 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

Uygulama, yapay zeka modeline istek göndermek ve almak için Microsoft.Extensions.AI paketini kullanır.

  1. benefits.md dosyasını proje dizininize kopyalayın. Projeyi bu dosyayı çıkış dizinine kopyalanacak şekilde yapılandırın. Visual Studio kullanıyorsanız Çözüm Gezgini'nde dosyaya sağ tıklayın, Özellikler'i seçin ve Çıkış Dizininin Altına Kopyala seçeneğini Daha Yeniyse Kopyala olarak ayarlayın.

  2. AI modeline Program.cs bağlanmak ve kimlik doğrulaması yapmak için dosyasına aşağıdaki kodu ekleyin.

    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();
    

    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 hesaba Azure AI Developer rolünü atamanız gerekir. Daha fazla bilgi için bkz. .NETile Azure AI hizmetlerinde kimlik doğrulaması .

    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();
    
  3. Dosya içeriğini okumak benefits.md için kod ekleyin ve ardından model için bir istem oluşturun. İstem, modele dosyanın metin içeriğini 20 veya daha az sözcükle özetlemasını ister.

    string text = File.ReadAllText("benefits.md");
    string prompt = $"""
        Summarize the the following text in 20 words or less:
        {text}
        """;
    
  4. GetResponseAsync Yanıt oluşturmak üzere modele istem göndermek için yöntemini çağırın.

    // Submit the prompt and print out the response.
    ChatResponse response = await client.GetResponseAsync(
        prompt,
        new ChatOptions { MaxOutputTokens = 400 });
    Console.WriteLine(response);
    
  5. Uygulamayı çalıştırın:

    dotnet run
    

    Uygulama, yapay zeka modelinden tamamlama yanıtını yazdırır. Yanıtlardaki farkları görmek için dosyanın metin içeriğini benefits.md veya özetin uzunluğunu özelleştirin.

Kaynakları temizleme

Artık bunlara ihtiyacınız yoksa Azure OpenAI kaynağını ve GPT-4 model dağıtımını silin.

  1. Azure Portalüzerinde Azure OpenAI kaynağına gidin.
  2. Azure OpenAI kaynağını seçin ve ardından Silöğesini seçin.

Sonraki adımlar

  • Hızlı Başlangıç - .NET ile yapay zeka sohbet uygulaması oluşturma
  • .NET ve Azure OpenAI Tamamlamaları ile metin ve konuşma oluşturma