Chat GPT api nasıl kullanılır? c#

Günümüzde yapay zeka ve özellikle doğal dil işleme alanında hızla gelişen teknolojiler, çeşitli uygulamalarda yenilikçi çözümler sunmaktadır. OpenAI tarafından geliştirilen GPT (Generative Pre-trained Transformer) modelleri, bu alanda öne çıkan örneklerdendir. Bu yazıda, .NET Core kullanarak Chat GPT API'sine nasıl istek gönderileceğini ele alacağız.

Kodun Genel Bakışı

Yukarıda verilen C# kod örneği, bir web uygulamasının, OpenAI'nin Chat GPT API'sine HTTP POST isteği göndermesini sağlamak için yazılmıştır. Bu kod, ASP.NET Core MVC yapılandırmasında bir HTTP POST metodunu tanımlar ve bu metod aracılığıyla kullanıcıdan alınan bir mesajı GPT modeline gönderir.

Adım Adım Açıklama

  1. API Anahtarının Tanımlanması: İlk olarak, apiKey değişkeni ile OpenAI API anahtarınız tanımlanır. Bu anahtar, API ile güvenli bir şekilde iletişim kurmanızı sağlar.
  2. HttpClient Oluşturulması: HttpClient nesnesi, API ile iletişim kurmak için kullanılır. Burada DefaultRequestHeaders aracılığıyla isteğin Authorization header'ına API anahtarınız eklenir.
  3. Kullanıcı Mesajının Alınması: MessageModel sınıfı, kullanıcının gönderdiği mesajı tutar. Bu sınıftan elde edilen messageModel.Message ile kullanıcıdan alınan mesaj API'ye gönderilmek üzere hazırlanır.
  4. İstek Verisinin Oluşturulması: Gönderilecek isteğin yapısı JSON formatında hazırlanır. Burada, seçilen GPT modeli (gpt-3.5-turbo-0613) ve kullanıcı mesajı belirtilir.
  5. API İsteğinin Gönderilmesi: Hazırlanan JSON verisi PostAsync metodu ile API'ye gönderilir. İşlem asenkron olarak gerçekleştirilir, bu da uygulamanın diğer işlemlerini bloklamadan yanıt beklemesini sağlar.
  6. Yanıtın İşlenmesi: API'den gelen yanıt kontrol edilir. Eğer başarılı bir yanıt alındıysa, bu yanıt kullanıcıya JSON formatında geri gönderilir. Herhangi bir hata durumunda ise hata mesajı döndürülür.

Kullanım Senaryoları ve Önemi

Bu tür bir entegrasyon, web uygulamalarına zengin metin tabanlı etkileşimler eklemek için kullanılabilir. Müşteri hizmetleri, otomatik sohbet botları, veri analizi ve dil işleme gibi birçok alanda fayda sağlar.

Sonuç

.NET Core kullanarak OpenAI'nin Chat GPT API'sine nasıl bağlanılacağını ve bu API üzerinden nasıl iletişim kurulacağını gösteren bu örnek, modern web uygulamalarının yapay zeka teknolojileriyle nasıl güçlendirilebileceğinin bir göstergesidir. Geliştiriciler için bu, uygulamalarını daha interaktif ve akıllı hale getirmek için büyük bir fırsat sunmaktadır.

using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using System.Text;
namespace crmboxv2.Controllers
{
    public class ChatGPTController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public async Task SendGptMessage([FromBody] MessageModel messageModel)
        {
            try
            {
                string apiKey = "api-key";  // API anahtarınızı buraya koyun
                var client = new HttpClient();
                client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
                string userMessage = messageModel.Message;
                var requestData = new
                {
                    model = "gpt-3.5-turbo-0613", //gpt modeli
                    messages = new object[]
                    {
                new { role = "user", content = userMessage }
                    }
                };
                var json = JsonConvert.SerializeObject(requestData);
                var data = new StringContent(json, Encoding.UTF8, "application/json");
                var response = await client.PostAsync("https://api.openai.com/v1/chat/completions", data);
                if (!response.IsSuccessStatusCode)
                {
                    return Json(new { error = "API call failed" });
                }
                var result = await response.Content.ReadAsStringAsync();
                return Json(result);
            }
            catch (Exception e)
            {
                return Json(new { error = e.Message });
            }
        }
        public class MessageModel
        {
            public string Message { get; set; }
        }
    }
}


umitakpin4r
Yazılım Geliştirici

Merhaba ben ümit 18 yaşındayım ve yazılım geliştirme ile uğraşıyorum.