Uygulamama AI Sohbeti Eklemeyi Denedim ve Duvara Tosladım

Proje yönetim aracımı bir AI sohbet asistanı ile güçlendirmeyi denedim. Kolay olacağını düşünmüştüm. Tüm sohbet geçmişini bir API'ye göndermeyi planlamıştım.

Başarısız oldu.

15 mesajdan sonra yanıtlar yavaşladı veya bozulmaya başladı. Metin, token sınırı için çok uzun olduğundan API hata verdi.

İşte denediklerim ve işe yarayanlar.

Karşılaştığım Sorunlar:

  • Geçmişi kırpma: Sadece son birkaç mesajı tuttum. Bu, hızı düzeltti ancak AI sohbetin başındaki her şeyi unuttu.
  • Özetleme: AI'dan her 5 mesajda bir sohbeti özetlemesini istedim. Bu, hafızaya yardımcı oldu ancak maliyetlerimi ve bekleme sürelerimi artırdı.
  • Vektör depoları (Vector stores): Mesajları alaka düzeyine göre puanlamayı denedim. Bu, ihtiyaçlarım için çok fazla karmaşıklık yarattı.

Çözüm:

Her şeyi göndermeye çalışmaktan vazgeçtim. Deneyimi düzeltmek için iki ana yöntem kullandım.

  1. Akış (Streaming): Metni oluşturulurken göstermek için Server-Sent Events kullandım. Bu, AI düşünmek için zaman ayırsa bile uygulamanın hızlı hissedilmesini sağlıyor.

  2. Üç Bölmeli Bağlam Penceresi (Three-Slot Context Window): Token bütçemi belirli parçalara böldüm.

  • Sistem Komutu (System Prompt): 500 token. Bu sabit kalır.
  • Dinamik Bağlam (Dynamic Context): 2000 token. Bu, son proje güncellemelerini ve görev durumlarını tutar.
  • Sohbet Geçmişi (Conversation History): 4000 token. Bu, son mesajlardan oluşan kayan bir penceredir.

Bütçeyi bu şekilde yöneterek veri yükü (payload) boyutumu %40 oranında azalttım. Bu, tasarruf sağladı ve gecikme süresini (latency) düşürdü.

Tavsiyem:

AI eklemek sadece bir API çağırmaktan ibaret değildir. Ne kadar veri gönderdiğinizi yönetmelisiniz. Akış (Streaming), kullanıcının hız algısını iyileştirir. Akıllı bir bağlam stratejisi ise AI'nın ne kadar zeki algılandığını geliştirir.

Uygulamalarınızda sohbet belleğini nasıl yönetiyorsunuz? Kayan pencereler mi yoksa özetleme mi kullanıyorsunuz?

Kaynak: https://dev.to/__c1b9e06dc90a7e0a676b/i-tried-to-add-ai-chat-to-my-app-and-hit-a-wall-with-context-tokens-459b

İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi