Об этом проекте

LiveKit Agents — это открытый фреймворк для создания программируемых участников реального времени, работающих на серверах. Его основное назначение — разговорные мультимодальные голосовые агенты, которые могут видеть, слышать и понимать; он распространяется как пакет Python (родственная библиотека JS/TS, AgentsJS, упоминается отдельно). Ключевые возможности, описанные в README: - Гибкие интеграции: можно комбинировать поставщиков STT, LLM, TTS и Realtime API под конкретный сценарий. - Встроенное планирование задач: встроенное планирование и распределение задач с API диспетчеризации для подключения конечных пользователей к агентам. - WebRTC-клиенты: клиентские приложения можно создавать с помощью открытой экосистемы SDK LiveKit для основных платформ. - Телефония: работает со стеком телефонии LiveKit, поэтому агенты могут совершать или принимать телефонные звонки. - Обмен данными: RPC и другие Data API позволяют агентам и клиентам обмениваться данными. - Семантическое определение реплик: трансформерная модель определяет, когда пользователь закончил говорить, что, по утверждению проекта, помогает уменьшить количество перебиваний. - Поддержка MCP: инструменты с серверов MCP можно интегрировать одной строкой кода. - Встроенная система тестирования: можно писать тесты и судей для проверки поведения агента. - Открытый исходный код: весь стек можно развернуть самостоятельно, включая сервер LiveKit, описываемый как широко используемый WebRTC-медиасервер. Основные понятия: Agent (приложение на основе LLM с инструкциями), AgentSession (контейнер, управляющий взаимодействием с конечными пользователями), entrypoint (точка входа для интерактивной сессии, аналогичная обработчику запросов) и AgentServer (основной процесс, координирующий планирование задач и запуск агентов). Примеры использования показывают простого голосового агента, связывающего VAD, STT, LLM и TTS через LiveKit Inference или напрямую через плагины поставщиков, а также пример передачи управления между несколькими агентами, где вводный агент собирает сведения о пользователе и передаёт управление агенту-рассказчику, который может переключиться на модель Realtime API. Пример тестирования использует pytest с AgentSession, запускает пользовательский ввод и проверяет события, такие как вызовы функций и сообщения ассистента, включая LLM-судью для оценки намерения. Режимы запуска: `python myagent.py console` для локального тестирования аудио в терминале без внешних серверов, `dev` для сервера агента с горячей перезагрузкой, подключающегося к LiveKit Cloud или самостоятельно размещённому серверу, и `start` для оптимизаций, готовых к продакшену. Для режимов с подключением к серверу требуются переменные окружения LIVEKIT_URL, LIVEKIT_API_KEY и LIVEKIT_API_SECRET. Репозиторий включает каталог examples, охватывающий стартового голосового агента, исходящий обзвон, поддержку MCP, многопользовательский транскрайбер, видеоаватары со сторонними поставщиками и демонстрацию Gemini Live vision. Для разработки используются uv для управления пакетами, ruff для форматирования и линтинга, pytest для модульных тестов и pdoc для локальной генерации документации. Фреймворк лицензирован под Apache-2.0, тогда как модели определения реплик LiveKit используют отдельную LiveKit Model License. Вклад приветствуется через issues, pull requests или сообщество в Slack.