Dinleyin
Talebi, konuşmanın bağlamı ve işletme kuralları içinde anlar.
Yapay zekâ sesli ajanları Platform
İşletme bilgilerini kullanan ve sistemlerinizle çalışan, aramaları alan ve başlatan ajanlar geliştiriyoruz. İlk sorudan tam bir talebe, bir onaya ya da bir ekip arkadaşına aktarıma kadar.
Kallina
Talebi, konuşmanın bağlamı ve işletme kuralları içinde anlar.
Yanıt vermeden önce bilgi tabanını ve yetkilendirilmiş entegrasyonları kontrol eder.
Verileri tamamlayın, izin verilen işlemi yürütün veya konuşmayı bir insana aktarın.
Sık sorulan sorular, taleplerin alınması ve iletişime geçilmesini isteyen kişilere geri dönüş.
Bağlı sipariş sistemindeki bilgilerle onaylar ve koordinasyon.
Gerekli ayrıntıları toplayın. Takvime erişim ve rezervasyon her entegrasyon için belirlenir.
Senaryolar, telefon numarası, diller ve eylemler her uygulama için yapılandırılır. Ekip, konuşmayı devralma olanağını korur.
Kallina ayrıntıda
Kallina, telefonda ve web sayfasında konuşan ajanlar oluşturduğumuz platformdur. Bir ajanın yazılı bir rolü, onaylı bir bilgi tabanı, çağırabileceği bir araç seti ve konuşmayı bir insana devrettiği bir sınırı vardır. Konuşma transcript’te bitmez: aramanın süresi, sağlayıcı başına maliyeti, kaydı ve analizi vardır; bunların hepsi işletme hesabına bağlıdır.
Ses motoru tek bir tane değil. Ajan yapılandırmasında ElevenLabs Conversational AI, OpenAI Realtime, Gemini Live veya „auto” arasında seçim yaparsınız; bu durumda Kallina dili, yükü ve kullanılabilirliği dikkate alarak sağlayıcıyı seçer. Bunun üstünde metinsel beyni ayrı seçersiniz — kod kataloğunda OpenAI, Google, Anthropic, xAI ve ElevenLabs’ten 78 giriş vardır; her biri gecikmesi ve dakika başına maliyetiyle arayüzde gösterilir, böylece seçim duyuma değil, bilgiye dayanır.
Telefon altyapısı bize aittir, ses sağlayıcısından kiralanmaz. Aramalar kendi Asterisk üzerinden geçer; çalışma saatlerine ve saat dilimine göre yönlendirme, gece programı (örneğin 22:00 → 06:00) ve öncelik eşleşmesi vardır: önce SIP Diversion başlığı, sonra Kallina numarası, sonra yedek kural. OpenAI Realtime için codeci iki yönde dönüştüren bir AudioSocket köprüsü vardır, g711_ulaw ↔ PCM16.
`AGENT_PROVIDERS` içinde dört seçenek vardır: `elevenlabs` (ConvAI), `openai-realtime`, `gemini-live` ve `auto`. İngilizce dışındaki dillerde metinden sese için varsayılan `eleven_flash_v2_5` — 32 dil, yaklaşık 75 ms gecikme; daha kaliteli alternatif olan `eleven_turbo_v2_5` yaklaşık 250 ms maliyet getirir. Seçim kodda gizli değildir, ajan yapılandırmasında bir alandır.
`LLM_MODELS` içinde arayüzde sağlayıcıya göre gruplandırılmış 78 model, ölçülen gecikme ve dakika başına maliyetle birlikte yer alır — `gpt-5-nano` için yaklaşık 806 ms ve yaklaşık 0,0004 $/dk’dan, `claude-sonnet-4-6` için yaklaşık 1,55 s ve yaklaşık 0,0225 $/dk’ya kadar. „neden yavaş yanıt veriyor” diye soran bir müşteriye bir görüş değil, sayılarla bir yanıt verilir.
Çağrı yönlendirmesi çalışma saatleri ve saat dilimine göre yapılandırılır, gece vardiyasına destek ve öncelik eşleştirmesiyle (SIP Diversion başlığı → Kallina numarası → yedek kural). `openai-realtime-bridge` köprüsü, çift yönlü ses akışı için AudioSocket dönüşümünü g711_ulaw ile PCM16 arasında yapar.
`<script src="https://app.kallina.info/embed.js" data-widget="WIDGET_ID"></script>`. Sayfa hiçbir zaman hangi agent’ın cevap verdiğini öğrenmez ve hiçbir sağlayıcı anahtarı tutmaz: Kallina’dan bir oturum ister, Kallina ise kısa süreli, imzalı bir URL döndürür. `data-mode="inline"` modu da vardır; bu modda embed hiçbir şey çizmez ve sayfa kendi arayüzünü `start()` / `stop()` / `toggle()` / `on(event, fn)` API’si üzerine kurar.
1–10 eşzamanlı çağrı ile toplu arama, CSV’den kişi içe aktarma, yeniden deneme mantığı, duraklatma, devam ettirme ve durdurma ile gerçek zamanlı takip, ayrıca SMS ile follow-up.
Agent yapılandırması 32 dili (`LANGUAGES`) destekler, platformun tam dil haritasında 41 giriş vardır ve yönetim paneli 20 dile çevrilmiştir (`src/i18n/locales`). Romence, `DEFAULT_VALUES` içinde varsayılan dildir.
Veri ve çalışma
Keşiften uygulamaya
Girişi ve çıkışı net olan bir senaryo — resepsiyonda gelen çağrı, sipariş onayı, arama kampanyası. Agent’ın ne yapmasına izin verilmeyeceğini ve konuşmayı hangi yolla bir insana devredeceğini açıkça yazarız.
Numara SIP trunk’umuz üzerinden Asterisk’e girer. Gelen ve giden aramalar ayrı ayrı test edilir, çünkü ayrı ayrı bozulabilirler: giden aramalara operatör kısıtlaması, gelenlerin kusursuz çalışmasına engel olmaz.
`scripts/verify-voice-path.mjs`, bir tarayıcının tam yolunu izler — yapılandırmadaki satır, `get-widget-config`, ardından `widget-voice-session` — ve websocket’i açmadan, imzalı URL’de durur. Tek bir widget üzerinde ya da ses etkin olanların hepsinde, paralelde 1–3 ile çalışır ve çıkış kodu döndürür; bu yüzden doğrudan bir cron içine girebilir.
ElevenLabs Conversational AI, OpenAI Realtime ve Gemini Live arasında seçersiniz ya da „auto” bırakırsınız ve Kallina dili ile kullanılabilirliğe göre karar verir. İngilizce dışındaki dillerde ses sentezi için varsayılan model `eleven_flash_v2_5` — 32 dil, yaklaşık 75 ms; daha yüksek kalite isteyip daha fazla gecikmeyi kabul ederseniz, `eleven_turbo_v2_5` yaklaşık 250 ms’dir. OpenAI Realtime sesleri on tanedir ve motorları `gpt-realtime-2.1`’e kadar gider.
Tek bir satır: `<script src="https://app.kallina.info/embed.js" data-widget="WIDGET_ID"></script>`, normal bir script olarak yüklenir, modül olarak değil. Dosya bugün sunuluyor ve 13.762 bayttır. Kendi arayüzünüzü istiyorsanız, `data-mode="inline"` hiçbir şey çizmez ve size `start()`, `stop()`, `toggle()` ile `state`, `message`, `error` olaylarını bırakır. Host’a dikkat: dosya `app.kallina.info` üzerinde duruyor, `kallina.info` üzerinde değil — bunlar iki farklı sunucuda iki ayrı uygulamadır.
Hayır. `embed.js` içindeki sıra şöyledir: SDK yüklenir, `getUserMedia({audio:true})` ile mikrofon istenir ve ancak sonra `widget-voice-session` çağrılır. Kişi mikrofonu reddederse, oturum isteği hiç yapılmaz; dolayısıyla imzalı URL de üretilmez ve hiçbir şey tüketilmez.
Evet — toplu arama, aynı anda 1–10, CSV’den kişiler, yeniden denemeler ve SMS ile follow-up. Ancak giden aramalar sadece bize değil, telefon operatörüne de bağlıdır: sorun kayıtlarımızda, operatör santralinin tüm çıkışlarda `403 Forbidden` döndürmeye başladığı, bizim yapılandırmamız değişmeden kaldığı ve gelen aramaların normal çalıştığı bir vaka belgelenmiştir. Bu yüzden bir kampanya vaat etmeden önce çıkışları ayrı test ediyoruz.
Ajan yapılandırması 32 dili destekler, dahili dil haritasında 41 giriş vardır ve yönetim paneli 20 dile çevrilmiştir. Romence, yeni ajanların varsayılan dilidir.
Hayır ve bir lansmanı planlamadan önce bunu bilmek iyidir. Depodaki GitHub workflow’su, silinmiş bir Supabase Cloud projesini hedefliyor; dolayısıyla „push pe main = yayın” artık kendi altyapımıza geçişten beri doğru değildir. Gerçek yayınlama SSH üzerinden, kopyalama ve yeniden başlatma ile yapılır. Pratik sonuç: acil bir değişiklik, sadece bir commit değil, bir kişiye ihtiyaç duyar.
İnsana devretme senaryonun bir parçasıdır, istisna değildir. Her ajanın yazılı sınırları ve telefon altyapısında yapılandırılmış bir aktarım yolu vardır; ayrıca konuşmada başarıyı değerlendiren kapılar ve kriterler bulunur, tam da görev dışı bir vakanın doğaçlama değil, durdurulması için.
İllüstratif örnek
Müşteri verisi veya atfedilen ticari sonuçlar olmadan bir kullanım senaryosu.
Biri iş numarasını 23:40’ta, resepsiyon çalışma saatleri dışında arıyor.
Asterisk gece program kuralını uygular (örneğin 22:00 → 06:00) ve önceliğe göre eşleştirir: SIP Diversion başlığı, ardından Kallina numarası, ardından yedek kural. Gece ajanı yapılandırmada seçilen sağlayıcı üzerinden yanıt verir, talebi netleştirir ve kullanmasına izin verilen araçları çağırır.
Arama, transkript, ses kaydı, süre ve sağlayıcıya göre ayrılmış maliyetle geçmişte kalır. Ajanın rolünü aşan her şey durdurulur ve doğaçlama yapılmak yerine bir üst hatta aktarılır.
Gereklidir:Asterisk’imizin SIP trunk’ına bağlı numara, istenirse operatör tarafından izin verilen giden aramalar ve geri arama, ayrıca yazılı sınırları olan, onaylı bilgi tabanına ve prompt’a sahip bir ajan.
İş birliği olanakları
Onaylı bilgilerle sesli destek, bir operatöre aktarma ve konuşmaların kaydı ile saklanmasına ilişkin net kurallarla.
Gerçek bir süreç etrafında bir pilot tanımlıyoruz: kullanıcılar, veriler, entegrasyonlar, maliyetler ve kabul kriterleri. Sonucun değerlendirilmesinden sonra genişleme gelir.
Erişilebilirlik, barındırma, veri koruması ve birlikte çalışabilirlik gereksinimlerini belirliyoruz. AGE veya STISC hizmetleriyle herhangi bir bağlantı, uygunluk, erişim ve onayların doğrulanmasını gerektirir.
Bunlar uyarlama senaryolarıdır, mevcut sözleşmeler veya ortaklıklar hakkında beyanlar değildir. Önerilen işlevler projenin çalışma alanında doğrulanır.
Bir pilotu konuşalımİşletmenizin bilgisine bağlı, müşterilerinizin size yazdığı kanallarda çalışan bir asistan.
PlatformGrai, ses sentezi ve buradaki dillere uyarlanmış modeller için araştırma yönümüzdür.
Araştırma ve geliştirmeMegaforms, sesli yanıt ve transkripsiyon dâhil, sohbet biçimli formlarla yanıt toplamayı araştırır.
Geliştirme ve gösterimlerBize sürecinizi anlatın. Neyin kurulmaya değer olduğuna, neyi bağlayabileceğimize ve sonucu nasıl doğrulayacağımıza birlikte karar verelim.