Платформа с открытым исходным кодом с открытым исходным кодом платформы : быстро создать голосовые первые разговорные помощники через JSON.
Bolna -это сквозная рамка с открытым исходным кодом для быстрого создания голосовых разговорных приложений на основе LLM.
Болна помогает вам создать голосовые агенты искусственного интеллекта, которые можно дать инструкции выполнять задачи, начиная с:
Twilio
, Plivo
, Exotel
и т. Д.Deepgram
и т. Д.OpenAI
, Llama
, Cohere
, Mistral
и т. Д., Для обращения с разговорамиAWS Polly
, XTTS
, ElevenLabs
, Deepgram
и т. Д.Обратитесь к документам, чтобы узнать о глубоких поставщиках всех поддерживаемых поставщиков.
Основная локальная установка включает в себя использование Twilio или Plivo для телефонии. Мы рассказали о настройке в local_setup/
. Нужно будет заполнить .env.sample
.env
Установка состоит из четырех контейнеров:
ngrok
: для туннелирования. Нужно добавить authtoken
в ngrok-config.yml
redis
: для постоянных агентов и оперативных данных Используйте Docker, чтобы создать изображения, используя файл .env
в качестве файла среды и запустите их локально
docker-compose build --no-cache <twilio-app | plivo-app>
: восстановить изображенияdocker-compose up <twilio-app | plivo-app>
: запустите изображения сборкиКак только контейнеры Docker встанут, теперь вы можете начать создавать своих агентов и поручить им инициировать вызовы.
После того, как вы получите вышеупомянутую настройку Docker и работают, вы можете создавать агенты и инициировать вызовы.
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
. Используйте этот agent_id
, чтобы инициировать звонок через сервер телефона, работающий на порте 8001
(для Twilio) или порт 8002
(для PLIVO) по адресу http://localhost:8001/call
{
" agent_id " : " 4c19700b-227c-4c2d-8bgf-42dfe4b240fc " ,
" recipient_phone_number " : " +19876543210 " ,
}
Вы можете заполнить файл .env
, чтобы использовать свои собственные ключи для поставщиков.
Поставщик | Переменная среды, которая будет добавлена в файле .env |
---|---|
Дипграм | DEEPGRAM_AUTH_TOKEN |
Это текущее поддерживаемое семейство поставщиков LLM: https://github.com/bolna-ai/bolna/blob/477e08d6800dbf02931abeeea883d78451b7d7e2/bolna/providers.py#l29-l44
Для LLM на основе литлма добавьте любое из следующего в файл .env
в зависимости от вашего использования:
LITELLM_MODEL_API_KEY
: API -ключ LLM
LITELLM_MODEL_API_BASE
: URL хостированного LLM
LITELLM_MODEL_API_VERSION
: версия API для LLM, как Azure
Для LLMS, размещенных через VLLM, добавьте следующее в файл .env
:
VLLM_SERVER_BASE_URL
: URL хостированного LLM с использованием VLLM
Поставщик | Переменная среды, которая будет добавлена в файле .env |
---|---|
AWS POLLY | Доступ из широких учетных данных через ~/.aws |
Одиннадлабс | ELEVENLABS_API_KEY |
Openai | OPENAI_API_KEY |
Дипграм | DEEPGRAM_AUTH_TOKEN |
Поставщик | Переменная среды, которая будет добавлена в файле .env |
---|---|
Твилио | TWILIO_ACCOUNT_SID , TWILIO_AUTH_TOKEN , TWILIO_PHONE_NUMBER |
Пливо | PLIVO_AUTH_ID , PLIVO_AUTH_TOKEN , PLIVO_PHONE_NUMBER |
В случае, если вы хотите расширить и добавить другую телефонию, такие как Vonage, Telnyx и т. Д. Следуя указаниям ниже:
Хотя репозиторий является полностью открытым исходным кодом, вы можете связаться с нами, если заинтересованы в управляемых размещенных предложениях или более индивидуальными решениями.
Мы любим все виды вкладов: будь то большая или маленькая помощь в улучшении этого ресурса сообщества.