在 Wixzel Voice 的 sarvam 引擎上打造印地語與馬拉雅拉姆語電話代理
您將在 Wixzel Voice 上擁有兩個電話代理,一個說印地語、一個說馬拉雅拉姆語,都使用 sarvam 引擎:Sarvam 的 Saaras 語音辨識、Sarvam-105B 語言模型和 Bulbul 語音組成同一條管線。已連接 SIP 中繼的情況下,用 cURL 約需 20 分鐘。sarvam 引擎每接通一分鐘 $0.0617,三分鐘的通話約 $0.19,從預付餘額按秒計費,另加電信業者的線路費率。
作者:Aqeel Shamsudheen · 發布於 · 更新於
- 所需時間
- 連接好中繼後約 20 分鐘
- 引擎
- sarvam
- 引擎時間
- 每接通分鐘 $0.0617
開始之前需要準備什麼?
- 一把有點數的 Wixzel Voice API 金鑰,匯出為
WIXZEL_API_KEY。 - 一個上面有號碼的 SIP 中繼。印度號碼可使用 Exotel 或 Vobiz 等電信業者,並完成 KYC 及必要的 DLT 註冊:未完成這些手續的帳號即使有餘額,所有外撥通話仍可能被擋下。
- curl、jq 和 uuidgen。
如何在 Wixzel Voice 上逐步打造?
01查看引擎支援的語言與語音
向 API 查詢,不要把任何一份清單寫死:
shellcurl https://api.voice.wixzel.com/v1/engines/sarvam/languages \ -H "Authorization: Bearer $WIXZEL_API_KEY" curl https://api.voice.wixzel.com/v1/engines/sarvam/voices \ -H "Authorization: Bearer $WIXZEL_API_KEY"語言端點目前回傳 11 個代碼:
en-IN、hi-IN、bn-IN、gu-IN、kn-IN、ml-IN、mr-IN、od-IN、pa-IN、ta-IN、te-IN。印地語是hi-IN,馬拉雅拉姆語是ml-IN。語音是 Bulbul v3 的說話者名稱,例如priya、kavya和shubh;Sarvam 只公布名稱,沒有其他說明,因此請先試聽再選擇。02建立印地語代理
語言由三項設定決定。
voice.stt.language將辨識和語音固定為印地語;代理的language告訴模型用印地語回覆;提示詞和開場白則照代理應有的說話方式來寫。三個階段都是 Sarvam 模型,因為語音轉文字供應商決定了管線,另外兩個階段必須來自同一系列。shellcurl https://api.voice.wixzel.com/v1/agents \ -H "Authorization: Bearer $WIXZEL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Hindi reception", "language": "hi-IN", "system_prompt": "You answer the phone for Sharma Dental Clinic, in Hindi. Speak the everyday Hindi callers use, English words included. Keep replies to one or two short sentences.", "opening_message": "नमस्ते, शर्मा डेंटल क्लिनिक में आपका स्वागत है। बताइए, मैं आपकी क्या मदद करूँ?", "voice": { "stt": { "model": "sarvam/saaras-v3-realtime", "language": "hi-IN" }, "llm": { "model": "sarvam/sarvam-105b" }, "tts": { "model": "sarvam/bulbul-v3", "voice": "priya" } } }'將回應中的
id記為HINDI_AGENT_ID。引擎不支援的語言或語音會在建立代理時被拒絕,錯誤訊息中會列出有效的選項。03建立馬拉雅拉姆語代理
結構相同,兩處都改為
ml-IN,並使用馬拉雅拉姆語開場白:shellcurl https://api.voice.wixzel.com/v1/agents \ -H "Authorization: Bearer $WIXZEL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Malayalam reception", "language": "ml-IN", "system_prompt": "You answer the phone for a dental clinic in Kochi, in Malayalam. Speak the everyday Malayalam callers use, English words included. Keep replies to one or two short sentences.", "opening_message": "നമസ്കാരം, കൊച്ചി ഡെന്റൽ ക്ലിനിക്കിലേക്ക് സ്വാഗതം. ഞാൻ എങ്ങനെ സഹായിക്കാം?", "voice": { "stt": { "model": "sarvam/saaras-v3-realtime", "language": "ml-IN" }, "llm": { "model": "sarvam/sarvam-105b" }, "tts": { "model": "sarvam/bulbul-v3", "voice": "kavya" } } }'將這個
id記為MALAYALAM_AGENT_ID。一個代理只說一種語言:sarvam 引擎沒有自動偵測模式,因此要同時服務兩群來電者,來電方面需要每種語言各一個號碼,外撥方面則每通電話選擇對應的代理。04導入來電,或撥出一通
將印地語代理指派給某個號碼接聽來電,或用馬拉雅拉姆語代理撥給某人:
shell# Inbound: calls to this number reach the Hindi agent jq -n --arg agent "$HINDI_AGENT_ID" '{inbound_agent_id: $agent}' | curl -X PATCH https://api.voice.wixzel.com/v1/phone-numbers/$NUMBER_ID \ -H "Authorization: Bearer $WIXZEL_API_KEY" \ -H "Content-Type: application/json" \ -d @- # Outbound: the Malayalam agent rings $TO (E.164, for example +91 and ten digits) jq -n --arg to "$TO" --arg agent "$MALAYALAM_AGENT_ID" --arg from "$NUMBER_ID" \ '{to: $to, agent_id: $agent, from_number_id: $from}' | curl https://api.voice.wixzel.com/v1/calls \ -H "Authorization: Bearer $WIXZEL_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d @-POST /v1/calls必須帶Idempotency-Key:使用相同金鑰重試時,會回傳原本的通話,而不會撥打兩次。05用來電者真正的說話方式測試
大多數來電者會在印地語或馬拉雅拉姆語中夾雜英文:日期、數字、品牌名稱,以及「appointment」、「cancel」這類詞。Sarvam 的模型在其能力範圍內能處理像 Hinglish 這樣的混雜語言,因此提示詞應允許這種說法,而不是禁止。
代理無法做到的是跟上完全改說另一種印度語言的來電者,因為辨識語言在通話開始時就固定為
voice.stt.language。在導入正式流量前,先用真實的說法撥打幾通電話,並從GET /v1/calls/{id}的逐字稿查看系統聽到了什麼。
在 Wixzel Voice 上打造這個要花多少錢?
在 sarvam 引擎上進行 3 分鐘通話的引擎時間,以每接通分鐘 $0.0617 計算:每通約 $0.19。 電信使用您自己的中繼,按您電信業者的費率計算,不包含在內。
| 每月通話數 | 接通分鐘數 | 每月引擎費用 |
|---|---|---|
| 500 | 1,500 | $92.55 |
| 2,500 | 7,500 | $463 |
| 10,000 | 30,000 | $1,851 |
sarvam 引擎每接通一分鐘 $0.0617,已含協調服務費;作為比較,classic 引擎為 $0.0867,因此在 Sarvam 上一分鐘的印地語或馬拉雅拉姆語通話,比在 classic 上一分鐘的英文通話便宜。通話進行時,每個階段以各自的單位計量,因此安靜的通話會比估算便宜,話多的通話則較貴。線路費用由您的電信業者另行收取。
預付制,沒有訂閱,也沒有免費方案:從 $5 起儲值點數,使用時從中扣除。估算您自己的使用組合。
這個實作適用哪些 Wixzel Voice 限制?
- 每個代理一種語言。sarvam 引擎沒有自動語言偵測,完全改說另一種語言的來電者無法被跟上。
- 通話期間,Sarvam 在印度處理語音和文字。通話紀錄、逐字稿和任何錄音都儲存在印度的伺服器上。
- Bulbul 語音只有名稱,沒有性別或口音說明。試聽需要撥打測試通話,這會撥打真實電話並消耗點數。
- 印度電信業者對外撥通話設有 KYC 門檻,且常需要 DLT 註冊。因此被電信業者擋下的通話會在電信業者端失敗,平台端無法修正。
- 每個帳號預設最多可同時進行五通通話,可申請提高上限。
常見問題
如何在 Wixzel Voice 上打造印地語電話代理?
voice.stt.language 和代理的 language 設為 hi-IN,使用印地語開場白和 Bulbul 語音,然後為號碼設定 inbound_agent_id,或用 POST /v1/calls 撥出電話。它可以透過您的 SIP 中繼以印地語進行電話通話,也可以透過 WebSocket 在您的網頁和行動應用程式中進行工作階段,每接通一分鐘 $0.0617。AI 電話代理能說馬拉雅拉姆語嗎?
voice.stt.language 和代理的 language 設為 ml-IN,用馬拉雅拉姆語撰寫開場白,並選擇 Bulbul 語音。語音辨識、語言模型和語音都在 Sarvam 專為印度語言打造的模型上執行。一個代理能同時說印地語和馬拉雅拉姆語嗎?
Wixzel Voice 上的 sarvam 代理聽得懂 Hinglish 嗎?
印度的通話資料會留在印度嗎?
延伸閱讀
關於 Wixzel Voice
Wixzel Voice 是一個語音 AI API,用於打造 AI 代理,透過您自己的 SIP 中繼撥打和接聽真實的電話,或在您的網頁和行動應用程式中與人對話。一把 API 金鑰和一份預付餘額即可使用所有語音引擎,依實際用量按秒計費。
更多指南
Claude 在 Claude Code 或 claude.ai 中透過您的 SIP 中繼撥打真實電話並讀回逐字稿,撥號前一律先徵求確認。
AI 接待員接聽您現有的 Twilio 號碼,並透過 API 安排預約,以 Node.js 打造。
一個讓使用者透過 WebSocket 與您的語音代理對話的 Flutter 應用程式,API 金鑰保存在您的伺服器上,完全不需要電話號碼。
透過四個 cURL 請求,讓 Gemini Live 代理經由您的 SIP 中繼撥打真實電話,並取得包含逐字稿與費用的通話紀錄。
由您的代理透過您的 SIP 中繼撥打一份潛在客戶名單,依同時通話上限分批進行,並讀回每通電話的狀態和逐字稿。
網站角落有一個會說話的吉祥物,訪客可從瀏覽器撥打給它,僅限您的網域並受每日上限約束,每位來電者都會列出。
一個有代理吉祥物的 Flutter 畫面,吉祥物在即時通話中隨代理的語音動嘴,API 金鑰保存在您的伺服器上。

