פיתוח Voice AI על Voximplant: שילוב VoxEngine ו-STT/TTS
שיחות יוצאות ל-500 אנשי קשר — הבוט עונה באיחור של 4 שניות, הלקוחות מנתקים. נתקלנו בזה כשחברת נדל"ן איבדה 30% מהלידים בגלל הפסקות. לאחר שילוב Voximplant עם backend של AI, צמצמנו את זמן ההשהיה ל-600 אלפיות השנייה, והמרת השיחות עלתה ב-40%. פרויקט אחד חסך ללקוח 11–16 אלף דולר בשנה על ידי צמצום מספר הנציגים.
הפלטפורמה הרוסית Voximplant עם VoxEngine נותנת שליטה מלאה על השיחה, אך השילוב שלה עם מודלי AI דורש כוונון עדין של הזרמת אודיו, VAD וניהול תורים. במשך 5 שנות עבודה, יישמנו יותר מ-30 פתרונות Voice AI על Voximplant. המהנדסים שלנו הם מפתחי Voximplant מוסמכים ויודעים איך לדחוס לפחות 200 אלפיות השנייה בשלב ה-STT.
אילו בעיות אנחנו פותרים
זמן השהיה גבוה הוא הכאב העיקרי. עם עיבוד אודיו רציף (שיחה → הקלטה → זיהוי → תגובה), זמן ההשהיה מגיע ל-3–5 שניות. הפסקה של 1.5 שניות כבר מורגשת למשתמש. הפתרון הוא עיבוד סטרימינג דרך WebSocket: האודיו מועבר בפריימים של 30 אלפיות השנייה, ו-VAD קולי פועל במקביל.
זיהוי לא יציב עם רעשי רקע או דוברים מהירים. אנו משתמשים במודלים עם הפחתת רעש אדפטיבית (למשל, Silero VAD) ומתאימים את הרגישות לכל ערוץ.
בעיות קנה מידה — סקריפטים של VoxEngine רצים בחוט יחיד, ועם 100+ שיחות במקביל מגיעים בקלות למגבלות. אנו מתכננים ארכיטקטורה עם תור הודעות (RabbitMQ/NATS) ומאגר של עובדי AI כדי לחלק את העומס.
איך עובד השילוב של Voximplant עם AI
התבנית המרכזית: VoxEngine פותח חיבור WebSocket ל-backend הפיתוני שלנו עבור כל שיחה. כל זרם האודיו עובר דרכו, נשלט על ידי אירועים.
// VoxEngine сценарий (JavaScript)
VoxEngine.addEventListener(AppEvents.CallAlerting, (e) => {
const call = e.call;
call.answer();
// Создаём WebSocket соединение с нашим AI-бэкендом
const wsConn = VoxEngine.createWSClient(`wss://api.yourapp.com/voxi-stream`);
// Привязываем аудио звонка к WebSocket
call.sendMediaTo(wsConn);
wsConn.sendMediaTo(call);
wsConn.addEventListener(WSClientEvents.ConnectionClosed, () => {
call.hangup();
});
call.addEventListener(CallEvents.Disconnected, () => {
wsConn.close();
});
});
ב-backend, FastAPI מקבל את הזרם, צובר אודיו בבuffer, מזהה את סוף המשפט (VAD), ושולח אותו למודל ASR. התוצאה עוברת ל-TTS, והדיבור המסונתז נשלח חזרה.
from fastapi import FastAPI, WebSocket
import asyncio
@app.websocket("/voxi-stream")
async def voximplant_stream(websocket: WebSocket):
await websocket.accept()
session = VoiceSession()
# Отправляем приветствие
greeting_audio = await tts.synthesize("Здравствуйте! Чем могу помочь?")
await websocket.send_bytes(greeting_audio)
audio_buffer = bytearray()
silence_frames = 0
async for chunk in websocket.iter_bytes():
audio_buffer.extend(chunk)
silence_frames = 0 # сбрасываем при получении аудио
# Обрабатываем каждые 1.5 секунды накопленного аудио
if len(audio_buffer) >= 24000 * 2: # 1.5 sec @ 16kHz 16-bit
response = await process_utterance(bytes(audio_buffer), session)
if response:
audio_response = await tts.synthesize(response)
await websocket.send_bytes(audio_response)
audio_buffer = bytearray()
לפרטים נוספים על הפרוטוקול, ראו WebSocket. צרו קשר כדי לדון בתרחיש שלכם ולקבל הדגמה של עיבוד סטרימינג.
מה השימוש ב-VoxEngine מספק
VoxEngine אינו proxy — הוא מנוע JavaScript מלא בתוך השיחה. הוא מאפשר שליטה גמישה בזרימת המדיה: ערבוב אודיו, החלפת ערוצים, הוספת DTMF. לתרחישי AI, זה אומר שאנחנו יכולים לנגן הודעות מוקלטות מראש (למשל, "אנא המתן") בזמן שמודל ה-AI מעבד את הבקשה — ללא עיכוב.
| השוואה | VoxEngine + WebSocket | REST API (בקשה-תגובה) |
|---|---|---|
| זמן השהיה (p99) | 400–800 אלפיות השנייה | 2–5 שניות |
| קנה מידה | 500+ שיחות במקביל | 50–100 שיחות |
| עלות תשתית | בינונית (שרת WebSocket אחד) | גבוהה (תלוי במספר עובדי HTTP) |
| גמישות דיאלוג | בזמן אמת, ניתן להפריע | רק בקשות רציפות |
הטבלה מראה ש-VoxEngine + WebSocket מספק זמן השהיה של 400–800 אלפיות השנייה, שהוא מהיר פי 5–10 מ-REST API.
השוואת מודלי ASR/TTS פופולריים
| מודל | זמן השהיה (p50) | דיוק (WER) | שפות |
|---|---|---|---|
| Whisper (large) | 300 אלפיות השנייה | 5% | 99 |
| Silero | 150 אלפיות השנייה | 8% | 2 |
| Google STT | 200 אלפיות השנייה | 6% | 125 |
| Yandex SpeechKit | 250 אלפיות השנייה | 7% | ru/en |
בחירת המודל תלויה בדיוק הנדרש ובתקציב. לרוסית, אנו ממליצים לעתים קרובות על Yandex SpeechKit או Whisper.
למה Voximplant עדיף ל-Voice AI
תיעוד Voximplant מאשר: הפלטפורמה תוכננה במקור לתקשורת בזמן אמת. בניגוד ל-SIP trunks רגילים, VoxEngine מאפשר עיבוד אודיו ברמת JavaScript, ומשיג עיכובים של פחות משנייה עם אינטגרציה נכונה.
איך לצמצם את זמן ההשהיה ל-200 אלפיות השנייה
השגת 200 אלפיות השנייה בשלב ה-STT אפשרית רק עם גישה מקיפה:
- שימוש ב-VAD עם סף נמוך (Silero VAD עם סף 0.3)
- טעינה מוקדמת של מודל ASR לזיכרון GPU
- שימוש ב-ASR סטרימינג (למשל, Whisper cpp במצב זמן אמת)
- אופטימיזציה של גודל פריים אודיו (30–50 אלפיות השנייה)
עוד על הגדרת VAD
VAD (זיהוי פעילות קולית) הוא קריטי להפחתת זמן ההשהיה. אנו ממליצים להשתמש ב-Silero VAD עם סף 0.3 ו-min_silence_duration_ms 150. זה חותך הפסקות ומונע בזבוז זמן על העברת שתיקה.שיחות יוצאות: איך לאוטומט קמפיינים המוניים
לשיחות יוצאות, Voximplant מספק את ה-API של // VoxEngine сценарий (JavaScript) VoxEngine.addEventListener(AppEvents.CallAlerting, (e) => { const call = e.call; call.answer(); // Создаём WebSocket соединение с нашим AI-бэкендом const wsConn = VoxEngine.createWSClient(`wss://api.yourapp.com/voxi-stream`); // Привязываем аудио звонка к WebSocket call.sendMediaTo(wsConn); wsConn.sendMediaTo(call); wsConn.addEventListener(WSClientEvents.ConnectionClosed, () => { call.hangup(); }); call.addEventListener(CallEvents.Disconnected, () => { wsConn.close(); }); }); . אנו מריצים קמפיינים עם פרסונליזציה: העברת שם הלקוח והקשר של אינטראקציות קודמות לתוך התרחיש.
import requests
def start_outbound_campaign(contacts: list[dict]):
"""Запускаем массовый обзвон через Voximplant API"""
for contact in contacts:
response = requests.post(
"https://api.voximplant.com/platform_api/StartScenarios/",
data={
"account_name": VOXI_ACCOUNT,
"api_key": VOXI_API_KEY,
"rule_name": "outbound_bot",
"script_custom_data": json.dumps({
"phone": contact["phone"],
"customer_name": contact["name"],
"context": contact.get("context", {})
}),
"reference_to_call_id": contact["phone"]
}
)שגיאות אופייניות: אי טיפול בקווים תפוסים/אי זמינות — אנו מוסיפים ניסיון חוזר עם backoff אקספוננציאלי ורישום סיבות ניתוק.
מה כוללת העבודה
- ביקורת על הטלפוניה הנוכחית ודרישות תרחיש ה-AI.
- תכנון ארכיטקטורה: בחירת ASR/TTS, VAD, הגדרת חיבור WebSocket.
- פיתוח תרחיש VoxEngine ו-backend פיתוני (FastAPI, asyncio).
- אינטגרציה עם CRM ומערכות חשבונאות (אם נדרש).
- בדיקות עומס (1000+ שיחות וירטואליות).
- תיעוד תרחיש ו-API.
- הדרכת נציגים ותמיכה של 3 חודשים לאחר ההשקה.
תהליך העבודה
- אנליטיקה — אנו לומדים את הדיאלוגים שלכם, מזהים כוונות וסלוטים.
- אב-טיפוס — תוך 5 ימים אנו בונים MVP על תרחיש אחד (למשל, תשובות לשאלות נפוצות).
- פיתוח — כתיבת קוד VoxEngine, חיבור ASR/TTS נבחרים, הגדרת VAD.
- בדיקות — הרצת 100+ שיחות בדיקה, מדידת זמן השהיה ואיכות זיהוי.
- השקה לייצור — פריסת תשתית ייצור, הגדרת ניטור (Grafana, Alertmanager).
- תמיכה — ניטור, אימון מחדש של מודלים, שיפור תרחישים על סמך סטטיסטיקות.
לוחות זמנים משוערים
- אינטגרציה בסיסית (תרחיש אחד, ASR/TTS מוכנים) — משבוע עד שבועיים.
- ייצור מלא עם שיחות יוצאות, 3+ כוונות, אינטגרציית CRM — מחודש וחצי עד חודשיים.
- העלות מחושבת באופן אישי, תלוי במורכבות הדיאלוג ובדרישות זמן ההשהיה.
תארו את המשימה שלכם — נכין הצעה מסחרית עם ארכיטקטורה ולוחות זמנים תוך יום אחד. אנו מבטיחים SLA של 99.9% והפחתת זמן תגובת הבוט ל-200 אלפיות השנייה. בקשו ייעוץ עכשיו וקבלו ניתוח של מערך הטלפוניה הנוכחי שלכם. להתחלה מהירה, צרו קשר דרך הטופס באתר.







