Platform Agen Suara Open-Sumber End-to-End : Dengan cepat membangun Voice Firsts Conversational Assistants melalui JSON.
Bolna adalah kerangka siap produksi open source end-to-end untuk dengan cepat membangun aplikasi percakapan yang digerakkan oleh suara LLM.
Bolna membantu Anda membuat agen suara AI yang dapat diinstruksikan untuk melakukan tugas yang dimulai dengan:
Twilio , Plivo , Exotel , dll.Deepgram , dll.OpenAI , Llama , Cohere , Mistral , dll untuk menangani percakapanAWS Polly , XTTS , ElevenLabs , Deepgram dll.Lihat dokumen untuk Deepdive ke semua penyedia yang didukung.
Pengaturan dasar lokal termasuk penggunaan Twilio atau Plivo untuk telepon. Kami telah berlabuh setup di local_setup/ . Seseorang perlu mengisi file .env lingkungan dari .env.sample .
Pengaturan terdiri dari empat kontainer:
ngrok : Untuk tunneling. Seseorang perlu menambahkan authtoken ke ngrok-config.ymlredis : untuk agen yang bertahan & data prompt Gunakan Docker untuk membangun gambar menggunakan file .env sebagai file lingkungan dan menjalankannya secara lokal
docker-compose build --no-cache <twilio-app | plivo-app> : membangun kembali gambardocker-compose up <twilio-app | plivo-app> : Jalankan gambar buildSetelah wadah Docker naik, Anda sekarang dapat mulai membuat agen Anda dan menginstruksikan mereka untuk memulai panggilan.
Setelah Anda memiliki pengaturan dan berjalan Docker di atas, Anda dapat membuat agen dan memulai panggilan.
http://localhost:5001/agent {
" agent_config " : {
" agent_name " : " Alfred " ,
" agent_type " : " other " ,
" agent_welcome_message " : " Welcome " ,
" tasks " : [
{
" task_type " : " conversation " ,
" toolchain " : {
" execution " : " parallel " ,
" pipelines " : [
[
" transcriber " ,
" llm " ,
" synthesizer "
]
]
},
" tools_config " : {
" input " : {
" format " : " pcm " ,
" provider " : " twilio "
},
" llm_agent " : {
" agent_flow_type " : " streaming " ,
" provider " : " openai " ,
" request_json " : true,
" model " : " gpt-3.5-turbo-16k " ,
" use_fallback " : true
},
" output " : {
" format " : " pcm " ,
" provider " : " twilio "
},
" synthesizer " : {
" audio_format " : " wav " ,
" provider " : " elevenlabs " ,
" stream " : true,
" provider_config " : {
" voice " : " Meera - high quality, emotive " ,
" model " : " eleven_turbo_v2_5 " ,
" voice_id " : " TTa58Hl9lmhnQEvhp1WM "
},
" buffer_size " : 100.0
},
" transcriber " : {
" encoding " : " linear16 " ,
" language " : " en " ,
" provider " : " deepgram " ,
" stream " : true
}
},
" task_config " : {
" hangup_after_silence " : 30.0
}
}
]
},
" agent_prompts " : {
" task_1 " : {
" system_prompt " : " Ask if they are coming for party tonight "
}
}
}agent_id . Gunakan agent_id ini untuk memulai panggilan melalui server telepon yang berjalan di port 8001 (untuk twilio) atau port 8002 (untuk Plivo) di http://localhost:8001/call {
" agent_id " : " 4c19700b-227c-4c2d-8bgf-42dfe4b240fc " ,
" recipient_phone_number " : " +19876543210 " ,
} Anda dapat mengisi file .env untuk menggunakan kunci Anda sendiri untuk penyedia.
| Penyedia | Variabel lingkungan yang akan ditambahkan dalam file .env |
|---|---|
| Deepgram | DEEPGRAM_AUTH_TOKEN |
Ini adalah keluarga penyedia LLM yang didukung saat ini: https://github.com/bolna-ai/bolna/blob/477e08d6800dbf02931abeeea883d78451b7d7e2/bolna/providers.py#l29-l44
Untuk LLM berbasis Litellm, tambahkan salah satu dari yang berikut ke file .env tergantung pada kasus penggunaan Anda:
LITELLM_MODEL_API_KEY : kunci API dari llm
LITELLM_MODEL_API_BASE : URL dari llm yang dihosting
LITELLM_MODEL_API_VERSION : Versi API untuk llms seperti azure
Untuk LLMS yang di -host melalui VLLM, tambahkan yang berikut ini ke file .env :
VLLM_SERVER_BASE_URL : URL dari LLM yang dihosting menggunakan VLLM
| Penyedia | Variabel lingkungan yang akan ditambahkan dalam file .env |
|---|---|
| AWS Polly | Diakses dari sistem kredensial luas melalui ~/.aws |
| Elevenlabs | ELEVENLABS_API_KEY |
| Openai | OPENAI_API_KEY |
| Deepgram | DEEPGRAM_AUTH_TOKEN |
| Penyedia | Variabel lingkungan yang akan ditambahkan dalam file .env |
|---|---|
| Twilio | TWILIO_ACCOUNT_SID , TWILIO_AUTH_TOKEN , TWILIO_PHONE_NUMBER |
| PLIVO | PLIVO_AUTH_ID , PLIVO_AUTH_TOKEN , PLIVO_PHONE_NUMBER |
Jika Anda ingin memperpanjang dan menambahkan beberapa telepon lain seperti Vonage, Telnyx, dll. Mengikuti pedoman di bawah ini:
Meskipun repositori benar -benar open source, Anda dapat terhubung dengan kami jika tertarik dengan penawaran yang di -host yang dikelola atau lebih banyak solusi khusus.
Kami menyukai semua jenis kontribusi: apakah besar atau kecil membantu dalam meningkatkan sumber daya komunitas ini.