quick-response-generator
v1.0.1
Published
An NPM package for generating quick, context-aware responses for conversation systems
Maintainers
Readme
Quick Response Generator
Bu NPM paketi, konuşma sistemleri için bağlam duyarlı hızlı yanıtlar üreten hafif bir kütüphanedir. LLM yanıtlarındaki gecikmeyi ortadan kaldıran ve kullanıcı deneyimini önemli ölçüde iyileştiren iki aşamalı yanıt sistemi sunar.
Çalışma Prensibi
Kullanıcı Konuşur
↓
Quick Response Generator
(Cevabı anlayıp hızlıca segmente eder)
↓
╭────────────────┬────────────────╮
│ │ │
Hızlı Yanıt Paralel İşlem LLM İşlemi
Üretilir (Tam cevabı üretir)
│ │
↓ ↓
Hızlı Yanıt Tam Yanıt
Kullanıcıya (Hızlı yanıtın üzerine
Gösterilir doğal şekilde inşa edilir)
│ │
╰────────────────┴────────────────╯
↓
İyileştirilmiş Kullanıcı DeneyimiÖzellikler ve Faydalar
- Sıfır Bekleme Süresi: Kullanıcılar LLM yanıtı için asla beklemez
- Doğal Konuşma Akışı: İki aşamalı yanıt sistemi insan konuşmasını taklit eder
- Segmente Özel Yanıtlar: Farklı konuşma tipleri için özelleştirilmiş yanıtlar (selamlama, şikayet, bilgi talebi, vb.)
- Çok Dilli Destek: Türkçe ve İngilizce dil desteği
- Performans Optimizasyonu: Bellek içi önbellek ve yanıt rotasyonu
- Tam Özelleştirme: Embedding model ve yanıt havuzları tamamen özelleştirilebilir
Kurulum
npm install quick-response-generatorKullanıcı Deneyim Örneği
Kullanıcı: "Siparişimi iptal etmek istiyorum"
Hızlı Yanıt: "Anlıyorum..."
[HEMEN GÖSTERİLİR]
Tam Yanıt: "Anlıyorum... Siparişinizi iptal etmenize yardımcı
olabilirim. Sipariş numaranızı paylaşırsanız, iptal işlemini
hemen başlatabilirim."
[BİRKAÇ SANİYE SONRA GÖSTERİLİR]Kullanım
const { QuickResponseGenerator } = require('quick-response-generator');
// Paketi yapılandırma
const qrg = new QuickResponseGenerator({
embeddingModel: {
endpoint: 'http://localhost:5001'
}
});
// Kullanıcı ifadesini işleme
async function handleUserMessage(utterance, language = 'tr') {
try {
// 1. Hızlı yanıt al
const { segmentInfo, quickResponse } = await qrg.processUtterance(utterance, language);
// 2. Hızlı yanıtı HEMEN kullanıcıya göster
displayToUser(quickResponse);
// 3. Arka planda LLM yanıtı oluştur
const promptTemplate = `
You have already started your response like this: "${quickResponse}"
Continue your response naturally from this starting point.
User query: ${utterance}
`;
// LLM servisine istek gönder (geliştirici tarafından yönetilir)
const fullResponse = await callLLMService(promptTemplate);
// 4. Tam yanıtı göster
displayToUser(fullResponse);
return { segmentInfo, quickResponse, fullResponse };
} catch (error) {
console.error('Error:', error);
return { error: error.message };
}
}Neden Quick Response Generator Kullanmalısınız?
Çözülen Problem
LLM API'leri yanıt üretimi için 1-5 saniye (veya daha fazla) gecikmeye sahiptir. Geleneksel uygulamalarda kullanıcılar yanıtın gelmesini beklemek zorunda kalır, bu da kullanıcı deneyimini olumsuz etkiler ve düşük memnuniyete yol açar.
Sağlanan Avantajlar
Anında Yanıt: Kullanıcılar asla beklemez, her zaman anında geri bildirim alır
Daha Doğal Konuşma: İnsan konuşmalarındaki "Hmm...", "Anladım..." gibi dolgu yanlıtlarını taklit eder
Daha Yüksek Memnuniyet: Kullanıcılar sistemin aktif olduğunu hisseder, memnuniyet artar
Düşük Teknik Borç: Mevcut LLM entegrasyonunuzu değiştirmeden hızlı yanıt mekanizması ekler
%300'e Kadar Gelir Artışı: Yanıt gecikme süreleri azaldığında, kullanıcıların konuşmayı sürdürme olasılığı yüksektir
Desteklenen Segmentler
Paket şu anda aşağıdaki konuşma segmentlerini desteklemektedir:
- INFO_SEEKER: Bilgi arayan ifadeler
- URGENT: Acil yardım gerektiren durumlar
- HELP_SEEKER: Yardım isteyen ifadeler
- COMPLAINT: Şikayet ifadeleri
- APPRECIATION: Teşekkür/takdir ifadeleri
- CANCELLATION: İptal talepleri
- CONFIRMATION: Onaylama ifadeleri
- GREETING: Selamlama cümleleri
- FAREWELL: Veda ifadeleri
Özelleştirme
Paket, özel yanıt havuzları ve embedding model yapılandırması için geniş özelleştirme seçenekleri sunar.
const qrg = new QuickResponseGenerator({
// Özel embedding modeli
embeddingModel: {
endpoint: 'http://api.example.com/embedding-model',
compareEndpoint: '/compare',
embedEndpoint: '/embed'
},
// Özel yanıt havuzları
acknowledgements: {
tr: {
GREETING: ["Merhaba!", "Selam!", "Hoş geldiniz!"],
// Diğer segmentler...
},
en: {
GREETING: ["Hello!", "Hi!", "Welcome!"],
// Diğer segmentler...
}
},
// Önbellek yapılandırması
cache: {
enabled: true,
ttl: 3600 // saniye
}
});Lisans
MIT
