Betalgo OpenAI 🤖

Melike Aydin
3 min readJun 12, 2024

Herkese merhaba! 🙌

Uzun bir aradan sonra sizlerle yeni bir yazımı paylaşmanın heyecanını yaşıyorum. Ben junior .NET geliştiricisiyim ve geliştirme yolculuğum boyunca öğrendiğim bilgileri ve deneyimleri sizlerle paylaşmak istiyorum. Bu yazımda, .NET projelerinde kullanabileceğiniz harika bir kütüphane olan Betalgo’dan bahsedeceğim. Umarım bu yazı, hem yeni başlayanlar hem de deneyimli geliştiriciler için faydalı olur.

Betalgo OpenAI Nedir? 🤔

Betalgo OpenAI, .NET geliştiricilerinin OpenAI’nin güçlü yapay zeka modellerini kolayca kullanmasını sağlayan bir .Net SDK’sıdır. Bu paket, ileri düzey yapay zeka araçlarını .NET projelerimize entegre etmeyi son derece basit hale getirir. Şimdi sizlere basit bir örnek ile Betalgo kullanılarak OpenAI projeye nasıl entegre edilir bunu paylaşacağım.

Betalgo OpenAI Nasıl Kurulur? 🛠️

NuGet Paket Yöneticisi Kullanarak Kurulum

  • Visual Studio’da Tools > NuGet Package Manager > Manage NuGet Packages for Solution... menüsüne gidin.
  • Browse sekmesinde Betalgo.OpenAI paketini arayın ve projenize ekleyin.

.NET CLI Kullanarak Kurulum

Terminal veya komut satırında aşağıdaki komutu çalıştırın:

dotnet add package Betalgo.OpenAI --version 8.4.0

Betalgo OpenAI ile Temel Kullanım

API Anahtarınızı Ayarlayın

Öncelikle, OpenAI API anahtarınızı almanız ve ayarlamanız gerekecek. OpenAI’nin resmi sitesinden API anahtarınızı alabilirsiniz.

Dependency Injection 🧩

OpenAI API anahtarınızı konfigürasyon dosyanıza ekleyin. appsettings.json dosyanızda şu şekilde bir ayar yapabilirsiniz:

{
"OpenAIApiKey": "Your_OpenAI_ApiKey"
}

API anahtarınızı Dependency Injection ile kullanmak için, Program.cs veya Startup.cs dosyanızda aşağıdaki adımları izleyin:

// OpenAI API anahtarını konfigürasyondan alın
var openAiApiKey = builder.Configuration["OpenAIApiKey"];

if (string.IsNullOrEmpty(openAiApiKey))
{
throw new ArgumentNullException("OpenAI API key is not configured.");
}

// OpenAI servisini dependency injection ile ekleyin
builder.Services.AddOpenAIService(settings => settings.ApiKey = openAiApiKey);

Dependency injection ile OpenAI servisini kullanacağınız herhangi bir controller veya sınıfa servisi ekleyin.

 private IOpenAIService _openAIService;

public OpenAIController(IOpenAIService openAIService)
{
_openAIService = openAIService;

}

OpenAI Servisi ile Metin Tamamlama Kullanımı ✍️

Aşağıdaki kod örneği, OpenAIController içinde bir GetAIResponseAsync metodu oluşturarak kullanıcıdan gelen promptu OpenAI'yın GPT-3.5-turbo modeline gönderir.

[HttpGet("[action]")]
public async Task<IActionResult> GetAIResponseAsync(string prompt)
{
var chatMessages = new List<ChatMessage>
{
new ChatMessage
{
Role = "user",
Content = prompt
}
};

var completionResult = await _openAIService.ChatCompletion.CreateCompletion(new ChatCompletionCreateRequest
{
Messages = chatMessages,
Model = "gpt-3.5-turbo",
MaxTokens = 4000
});

var receivedMessage = completionResult.Choices.First().Message.Content;

return Ok(new { Prompt = prompt, GeneratedText = receivedMessage });
}

Controllerdaki bu metoda istek atarsak bize OpenAI’ın yanıtını getirecektir.

Sizlere basit bir örnek ile Betalgo kütüphanesinden bahsetmek istedim. Sizler çok daha karmaşık projelerde Betalgo ile OpenAI’ya çok daha büyük işler yaptırabilirsiniz.

Bu konuda detaylı bilgiye https://github.com/betalgo/openai github adresinden ulaşabilirsiniz.

Benim bu yazıyı yazarken oluşturduğum proje https://github.com/melikeay45/BetalgoOpenAI github adresinde bulunmaktadır. Oradan da inceleyebilirsiniz. 🚀

Sorularınız veya geri bildirimleriniz varsa, lütfen yorumlarda paylaşmaktan çekinmeyin. Daha fazla içerik için beni takip etmeyi unutmayın! Tekrar görüşmek üzere!

Teşekkür ederim. 🌸

Kaynakça 📚

Yazıda kullanılan kaynakları ve referansları aşağıda bulabilirsiniz:

--

--