An NPM package for generating quick, context-aware responses for conversation systems
npm install quick-response-generatorBu 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.
```
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
- 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
`bash`
npm install quick-response-generator
`
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]
`
`javascript
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 };
}
}
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.
1. Anında Yanıt: Kullanıcılar asla beklemez, her zaman anında geri bildirim alır
2. Daha Doğal Konuşma: İnsan konuşmalarındaki "Hmm...", "Anladım..." gibi dolgu yanlıtlarını taklit eder
3. Daha Yüksek Memnuniyet: Kullanıcılar sistemin aktif olduğunu hisseder, memnuniyet artar
4. Düşük Teknik Borç: Mevcut LLM entegrasyonunuzu değiştirmeden hızlı yanıt mekanizması ekler
5. %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
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
Paket, özel yanıt havuzları ve embedding model yapılandırması için geniş özelleştirme seçenekleri sunar.
`javascript``
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
}
});
MIT