150ms'in Ötesinde: Gerçek Zamanlı Yapay Zeka Sesli Asistanlar İçin Gecikmeyi Nasıl Azalttım

Canlı kodlama ve teknik mülakatlar geliştiriciler için streslidir. Birinin yazdığınız her satırı değerlendirdiğini izlemek baskı yaratır.

Üretken Yapay Zeka (Generative AI) artık bunu değiştiriyor. Gerçek mülakat senaryolarını simüle etmek için yapay zekayı kullanabilirsiniz.

Mülakatlar için bir yapay zeka asistanı geliştirdim. Hedefim, yanıt süresini 150ms'nin altında tutmaktı.

İnsan konuşması, 200ms'den uzun bir duraksama olduğunda tuhaf hissettirir. Bir yapay zekanın insan gibi hissettirmesi için tüm iş akışının (pipeline) hızlı olması gerekir. Buna ses yakalama, akış (streaming), LLM çıkarımı (inference) ve metinden sese (text-to-speech) dönüşümü dahildir.

Standart HTTP istekleri bunun için çok yavaştır. Verileri istemci tarafında (client side) işlemeniz gerekir.

İlk sorun Ses Etkinliği Algılama (Voice Activity Detection - VAD)'dır. Kullanıcının tam olarak ne zaman konuşmaya başladığını ve durduğunu bilmeniz gerekir. Bu, sunucunuza sessizlik gönderilmesini engeller.

Ham PCM örneklerini ayrı bir iş parçacığında (thread) işlemek için JavaScript'te bir AudioWorklet kullandım. Bu, ana kullanıcı arayüzü (UI) iş parçacığını serbest bırakır. Yapay zeka asistanının tarayıcıyı veya kod editörünü yavaşlatmamasını sağlar.

Bir diğer zorluk ise gerçek zamanlı kod analizidir. Sistem hem sesi hem de kod editörünün durumunu anlamalıdır.

Metin editörü verilerini ses girişiyle birleştirmek için WebSockets kullanarak, yapay zeka kullanıcı yazarken hataları veya uç durumları (edge cases) tespit edebilir.

Mülakatlara hazırlanmak istiyorsanız, şu adımları deneyin:

• "Sesli Düşünme" (Think Aloud) yöntemini uygulayın. Kod yazarken mantığınızı yüksek sesle açıklayın. • Yapay zeka simülasyonlarını kullanın. Bu, yanıt süreleriniz ve kod kaliteniz hakkında raporlar sunar.

Düşük gecikmeli ses uygulamaları, ses sıkıştırma ile sunucu gücü arasında bir denge gerektirir.

Projelerinizde ses akışını (audio streaming) nasıl yönetiyorsunuz? Tarayıcıda VAD modelleri kullandınız mı?

Düşüncelerinizi yorumlarda paylaşın.

Kaynak: https://dev.to/websterliu/oltre-i-150ms-come-ho-ridotto-la-latenza-per-creare-un-assistente-vocale-ai-in-tempo-reale-1jj5

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