Bu öğretici sayesinde, OpenAI API'sını kullanan bir uygulamada sohbet geçmişini nasıl saklayabileceğini öğreneceksin. Şu ana kadar sadece basit soruları ve cevapları test etmiş olabilirsin, ancak gerçekten etkileşimli ve sürükleyici bir konuşma yürütmek için, sohbetin tüm bağlamını saklamanın önemli olduğunu bilmelisin. Bu kılavuzda, sohbet geçmişini hem İstemci hem de Sunucu üzerinde yöneterek bunu nasıl başarabileceğini adım adım göstereceğiz.

En Önemli Bulgular

  • Sohbet geçmişi OpenAI API'sı tarafından kalıcı olmadığından manuel olarak saklanmalıdır.
  • Etkili bir yöntem, verilerin verimliliğini artırmak ve uzun vadeli olarak korumak için geçmişi sunucuda saklamaktır.
  • messages Dizisi, kullanıcı etkileşimlerin ve AI yanıtlarının yönetiminde merkezi bir rol oynar.

Adım Adım Kılavuz

Adım 1: Kavramı Belirleme

Daha önce basit bir soru-cevap uygulaması geliştirdin. Bu uygulamayı tam teşekküllü bir sohbet uygulamasına dönüştürmek için, seçilen bağlamın talepler ve karşılıklar arasında korunduğundan emin olmalısın. Ayrıca, tüm sohbet geçmişini saklamanız gerekir. Bunu sağlamak için, veriyi sunucuda saklamanız tavsiye edilir, çünkü bu aynı zamanda verileri bir veritabanında yönetme olanağını da sunar.

OpenAI API - Sohbet geçmişi depolama uygulaması

Adım 2: messages Dizisinin Oluşturulması

Sunucu Uygulamanızda, tüm mesajları depolama alanı olarak işlev görecek bir dizi tanımlamalısınız. Bu messages adını vereceğimiz dizi, gönderilen ve alınan tüm mesajları içerecektir. Diziyi appichat.js dosyanızda tanımlayabilirsiniz.

Adım 3: Kullanıcı İsteklerini Eklemek

Kullanıcıdan herhangi bir mesaj aldığınızda, bu mesajı messages Dizisine kaydetmeniz önemlidir. Bunun için Push komutunu kullanacaksınız. Mesajı tutan role (Kullanıcı) ve içeriğin (Content) olduğu bir nesne oluşturduğunuzdan emin olmalısınız. Bu, yapay zekanın konuşmayı bağlamsal olarak değerlendirmesine olanak tanır.

Adım 4: API'yı Çağırmak

Kullanıcı mesajını messages Dizisine ekledikten sonra, bu diziyi her API çağrısında iletmelisiniz. Bu durumda, bir Sohbet Tamamlama fonksiyonunu çağırma işlemi, messages Dizisini tamamen ilettiğiniz şekilde görünecektir. Basit bir kullanıcı sorusunu test etmek amacıyla bunu bir kere uygulayabilirsiniz.

Adım 5: AI'dan Yanıtları Almak

API isteği işlemledikten sonra, AI'dan yanıtı alacaksınız. Bu yanıtı da messages Dizisine eklemeniz gereklidir. Yanıtın, role: assistant ve ilgili içerik (Content) ile kaydedildiğinden emin olun. Bu, bir sonraki kullanıcı isteğinin önceki konuşmayı dikkate aldığından emin olur.

OpenAI API - Sohbet geçmişi depolama uygulaması

Adım 6: Konuşmanın Yeniden Test Edilmesi

Uygulamanın işleyişini kontrol etmek için birkaç soru sormak suretiyle test edebilirsiniz. AI'nın verdiği yanıtların önceki mesajlara rağmen mantıklı olup olmadığını kontrol edin. Önceki sorular ve cevapların bağlamını dikkate alan sürekli bir konuşma olmalıdır.

Adım 7: Mesajların Çıktısını ve Kontrolünü Yapmak

messages Dizinizin doğru şekilde saklandığından emin olmak için konsol çıktısını kullanabilirsiniz. Bu şekilde hangi mesajların saklandığını görebilir ve her şeyin beklenildiği gibi çalıştığından emin olabilirsiniz.

Adım 8: Uygulamanın Tamamlanması

Artık, sohbetin tüm geçmişini saklayan çalışan bir sohbet uygulamanız var. Ek işlevsellikler ekleyerek veya konuşmaların uzun vadeli saklanmasına izin vermek için bir veritabanına entegre ederek bunu daha da iyileştirebilirsiniz.

Özet

Bu kılavuzda, OpenAI API ile bir sohbetin geçmişini nasıl yönetebileceğinizi ve saklayabileceğinizi öğrendiniz. Sunucu üzerinde bir messages dizisi oluşturarak, tüm kullanıcı isteklerinin ve AI yanıtlarının doğru şekilde takip edilmesini sağlayabilir, tutarlı ve bağlamsal bir kullanıcı deneyimi sağlayabilirsiniz.

Sıkça Sorulan Sorular

Sohbet geçmişini nasıl saklarım?Tüm mesajların saklandığı bir messages dizisi kullanarak.

Neden sohbet geçmişini sunucuda saklamalıyım?Bu, verimli kullanımı sağlar ve verileri uzun vadeli olarak bir veritabanında saklama seçeneği sunar.

Bir dizi yerine bir veritabanı da kullanabilir miyim?Evet, bu, sohbet geçmişinin uzun vadeli saklanması ve yönetilmesi için iyi bir seçenektir.