Ruka hadi maudhui makuu
Mafunzo ya AI

Jenga na Uendeshe Wakala wa Simu wa AI wa Ndani kwa kutumia ai-phone

Jifunze jinsi ya kusakinisha ai-phone kwenye Apple Silicon, kusanidi miundo yake ya sauti na lugha, kuendesha daemon ya simu, kuijaribu ndani ya mfumo kupitia SIP, kupiga simu zinazotoka, na kuunganisha mawakala wa nje kupitia hali ya relay.

Jenga na Uendeshe Wakala wa Simu wa AI wa Ndani kwa kutumia ai-phone

ai-phone ni nini?

ai-phone ni wakala wa simu wa AI anayeendesha kwenye kompyuta yako. Anaweza kupokea simu zinazoingia, kupiga simu zinazotoka, kufanya mazungumzo kwa kufuata maelekezo yaliyoandikwa, na kutoa amri za hatua kwa hatua kwa ajili ya kuunganishwa na wakala wa nje.

Toleo la sasa limeundwa kwa ajili ya macOS kwenye Apple Silicon. Utambuzi na usanisi wa sauti hufanyika ndani ya kifaa kupitia MLX, hata wakati modeli ya lugha ya mazungumzo iko kwenye seva ya mbali. Kompyuta inayopangisha ai-phone lazima iwe Mac inayotumika, lakini wapigaji wanaweza kutumia simu yoyote au mteja wa SIP.

Vipengele muhimu

  • Simu zinazoingia na zinazotoka: Sanidi mwelekeo mmoja au wezesha yote mawili wakati wa usanidi.
  • Uchakataji wa sauti ndani ya kifaa: Utambuzi wa sauti na usanisi wa sauti hubaki kwenye Mac.
  • Modeli za lugha zinazoweza kubadilika: Tumia modeli ya ndani ya MLX, usajili wa Claude Code au Codex, au kituo kinachoendana na OpenAI.
  • Muunganisho wa SIP na simu: Fanya majaribio kwa anwani ya moja kwa moja ya SIP au unganisha trunk ya SIP, akaunti ya Telnyx, au akaunti ya Twilio kwa nambari za simu.
  • Uendeshaji otomatiki wa mstari wa amri: Anzisha simu kwa kidokezo na upokee manukuu yanayotokana.
  • Hali ya relay: Ruhusu wakala mwingine mwenye uwezo wa kutumia shell kudhibiti kila zamu ya mazungumzo.
  • Chaguo za sauti: Tumia Phonon yenye sauti yake ya Kiingereza iliyojumuishwa au Kokoro yenye sauti za Marekani na Uingereza pamoja na kasi inayoweza kurekebishwa.

Kwa sasa ai-phone inatumia Kiingereza na simu moja inayotumika kwa wakati mmoja.

Mahitaji

Jukwaa linalotumika

Unahitaji Mac yenye Apple Silicon. Mac za Intel, Linux na Windows hazitumiki kwa sasa kwa sababu mifumo ya sauti inategemea MLX na usakinishaji unajumuisha muunganisho maalum wa jukwaa.

Kumbukumbu na hifadhi

  • RAM ya GB 8: Usanidi hutoa modeli ndogo ya 2B.
  • RAM ya GB 16: Inapendekezwa kwa modeli chaguo-msingi ya 4B.
  • RAM ya GB 32: Inapendekezwa kwa modeli ya 9B.
  • Hifadhi: Tenga gigabaiti kadhaa kwa uzani wa modeli utakao pakuliwa. Usanidi hukagua nafasi ya diski inayopatikana.

Programu na muunganisho wa simu

Sakinisha Git, Homebrew na uv kabla ya kuendelea. Kisakinishaji hudhibiti vifurushi vya Python vinavyohitajika na maktaba asilia ya SIP.

Kwa simu, tumia anwani ya SIP kwa muunganisho wa moja kwa moja au toa trunk yako ya SIP, akaunti ya Telnyx, au akaunti ya Twilio. Ada za mtoa huduma na mipaka ya usajili zinaweza kutumika.

Sakinisha ai-phone

Clone hazina, ingia kwenye saraka yake, endesha kisakinishaji, kisha anza usanidi shirikishi:

git clone https://github.com/oxnw/ai-phone.git
cd ai-phone
./scripts/install.sh
uv run ai-phone setup

Mchakato wa usanidi unauliza kama unataka simu zinazoingia, simu zinazotoka, au zote mbili. Kisha husanidi modeli ya lugha, laini ya simu na sauti. Kwa modeli ya ndani, usanidi hupendekeza chaguo kulingana na kumbukumbu iliyotambuliwa na kupakua uzani unaohitajika.

Ikiwa terminal yako haifanyi kazi vizuri na vidokezo shirikishi vya kawaida, tumia hali rahisi:

uv run ai-phone setup --plain

Anzisha daemon ya simu

Baada ya usanidi, anzisha daemon kutoka kwenye saraka ya hazina:

uv run ai-phone run

Weka mchakato huu ukiendelea wakati wowote unapotaka kupokea simu. Kwa matumizi ya simu zinazotoka pekee, uanzishe kabla ya kupiga simu na uusitishe kwa Ctrl-C ukimaliza.

Usanidi hausakinishi huduma ya chinichini. Lazima uanzishe daemon mwenyewe baada ya usanidi au baada ya kuwasha upya kompyuta.

Piga simu inayotoka

Acha daemon ikiendelea na ufungue terminal nyingine kwenye hazina. Tumia call pamoja na nambari ya unakoenda na kidokezo kinachoeleza kazi:

uv run ai-phone call +15555550100 --json \
  --prompt "Ask whether they have a table for two at eight tonight."

Badilisha +15555550100 kwa nambari unayokusudia kupiga. Simu inapoisha, amri hurejesha manukuu yake. Kila simu inayotoka huanza kwa taarifa ya kwamba ni AI.

Simu zinazoingia hutumia salamu na maelekezo yaliyohifadhiwa wakati wa usanidi.

Fanya jaribio la bure la SIP ndani ya kifaa

Unaweza kufanya jaribio ndani ya kifaa bila kupiga simu kupitia mtoa huduma. Endesha usanidi, wezesha simu zinazoingia, chagua Anwani ya SIP, na uhifadhi jina chaguo-msingi agent. Daemon ya ai-phone ikiwa inaendelea, tekeleza:

pjsua --local-port 5070 sip:agent@127.0.0.1

Hii huunganisha mteja wa ndani wa SIP na wakala kwenye anwani ya loopback, hivyo kukuruhusu kuthibitisha mtiririko wa msingi wa simu inayoingia kabla ya kusanidi mtoa huduma wa simu.

Dhibiti simu kwa hali ya relay

Hali ya relay imekusudiwa kwa wakala wa nje mwenye uwezo wa kutumia shell. Badala ya kumpa ai-phone kidokezo kimoja cha mazungumzo yote, wakala wa nje anaweza kuanzisha simu, kuzungumza, kusikiliza na kuamua cha kufanya baada ya kila jibu.

Anzisha simu ya relay

uv run ai-phone call +15555550100 --relay --json

Zungumza na kusikiliza zamu kwa zamu

uv run ai-phone say "Hi, I'd like to book a table for two." --json
uv run ai-phone listen --json
uv run ai-phone say "Eight o'clock, please." --json

Maliza mazungumzo

uv run ai-phone hangup --say "Thank you. Goodbye." --json

Kila amri inayotumia --json huandika kitu kimoja cha JSON kwenye matokeo ya kawaida. Amri ya call pia huandika matukio ya maendeleo kwenye hitilafu ya kawaida, kwa hiyo miunganisho inapaswa kuchakata mitiririko hiyo tofauti.

Ikiwa hakuna simu inayotumika, listen --json husubiri simu inayoingia na kuishughulikia katika hali ya relay. Zamu ya relay isiyojibiwa huisha baada ya sekunde 25 kwa chaguo-msingi. Tazama marejeleo ya amri za wakala kwa vitambulisho vya simu, upataji wa nakala ya mazungumzo, muda wa kuisha unaoweza kusanidiwa, na misimbo ya kutoka.

Chagua miundo na sauti

Utambuzi wa hotuba

ai-phone hutumia Parakeet ndani ya kifaa kupitia MLX kwa utambuzi wa hotuba.

Muundo wa mazungumzo

Muundo wa lugha unaweza kuwa muundo wa ndani wa MLX, usajili wako wa Claude Code au Codex, au kituo kinachooana na OpenAI. Usanidi husaidia kusanidi chaguo lililochaguliwa.

Uzalishaji wa sauti

Phonon hutoa sauti ya Kiingereza iliyojumuishwa. Kokoro hutoa sauti za Kimarekani na Kibretoni zenye kasi ya kuzungumza inayoweza kurekebishwa.

Ukitumia muundo wa lugha wa mbali, hupokea maandishi ya simu, maagizo, na historia ya mazungumzo. Ikiwa wakala wa nje anatumia mtoa huduma wa wingu, mtoa huduma huyo pia anaweza kupokea nakala zozote za mazungumzo zilizotolewa kwake. Utambuzi na uzalishaji wa hotuba bado hufanyika ndani ya kifaa, huku sauti ya simu ikisafirishwa kupitia SIP na RTP.

Vidokezo vya usanidi wa hali ya juu

Endesha usanidi tena mahitaji yanapobadilika

Endesha usanidi tena ili kubadilisha sauti, muundo, mwelekeo wa simu uliowezeshwa, au kitambulisho cha mpigaji:

uv run ai-phone setup

Washa upya daemon baada ya kubadilisha usanidi ili mipangilio mipya ianze kutumika.

Anza na SIP ya ndani kabla ya kuongeza mtoa huduma

Thibitisha wakala kwa kutumia jaribio la SIP la loopback kwanza. Upigaji simu wa ndani unapofanya kazi, sanidi trunk ya SIP, Telnyx, au Twilio ikiwa unahitaji nambari za simu za kawaida. Kwa matatizo yanayohusiana na mtandao, pitia orodha ya ukaguzi ya NAT ya mradi.

Chagua muundo unaolingana na kumbukumbu inayopatikana

Fuata pendekezo la usanidi linalotegemea RAM badala ya kuchagua muundo mkubwa zaidi kiotomatiki. Chaguo la 2B limekusudiwa mifumo yenye kumbukumbu ndogo, huku miundo chaguo-msingi ya 4B na mikubwa zaidi ya 9B ikihitaji kumbukumbu zaidi.

Hesabu ucheleweshaji wa sasa na hali ya majaribio

README inaripoti mwitikio wa kwanza unaosikika wa wastani wa sekunde 1.50 katika utekelezaji wa hivi karibuni wa ndani chini ya shinikizo kubwa la kumbukumbu, ambao haukufikia lengo la mradi la sekunde moja. Majaribio ya simu za ndani na ukatishaji yameendeshwa, lakini ukaguzi wa moja kwa moja wa mtoa huduma na ukaguzi wa kukubali wakala kutoka mwanzo hadi mwisho bado unasubiri. Pitia vipimo vilivyochapishwa na historia ya ucheleweshaji unapotathmini utayari wa kusambaza.

Tumia marejeleo ya kina

Mazingatio ya leseni

ai-phone imepewa leseni chini ya AGPL-3.0-or-later. Faili zake za kiolesura cha PJSIP zilizojumuishwa hutumia GPLv2-or-later; tazama maelezo ya leseni ya mradi kabla ya kusambaza au kuunganisha programu hii.

Hitimisho

ai-phone hutoa mtiririko wa vitendo wa kutumia wakala wa simu wa AI kupitia mstari wa amri kwenye Mac yenye Apple Silicon. Baada ya kuisakinisha, sanidi muundo na laini ya SIP, washa daemon, kisha fanya majaribio ndani ya kifaa kabla ya kupiga simu kupitia mtoa huduma. Kwa uendeshaji wa kiotomatiki, hali ya relay humpa wakala wa nje udhibiti uliopangwa wa zamu kwa zamu kupitia amri za shell zinazozalisha JSON.