🎯 О чём этот конспект: Пошаговое руководство по созданию голосового ассистента нового поколения с использованием модели Gemini 1.5 Flash (Live Preview) и фреймворка LiveKit. В отличие от старых систем, здесь не используется цепочка STT -> LLM -> TTS, а аудио обрабатывается нейросетью нативно.
👤 Кому будет полезно: Вайбкодерам, разработчикам AI-агентов и создателям сервисов клиентской поддержки, которым важна минимальная задержка (latency) и естественность диалога.
✨ Что получите: Готовый рабочий прототип голосового ассистента, который понимает живую речь, сохраняет интонацию и поддерживает более 70 языков «из коробки» без смены настроек.
1. Нативная обработка аудио vs Традиционный Pipeline
Контекст: Традиционные голосовые помощники работают по схеме «испорченного телефона»: сначала голос переводится в текст (Speech-to-Text), затем текст обрабатывается моделью, и результат снова озвучивается (Text-to-Speech). Это создает огромные задержки, потерю эмоционального контекста и «дрейф» голоса (изменение тембра в долгих сессиях). Gemini 1.5 Flash Real-Time работает с аудиопотоками напрямую, что кардинально меняет пользовательский опыт.
Выгода: Минимальная задержка (почти мгновенная реакция), сохранение консистентности голоса и лучшее понимание сложных инструкций.
Ключевые преимущества Gemini Real-Time:
Сильный Instruction Flow: Модель лучше следует сложным сценариям поведения.
Умный Tool Calling: Агент понимает, когда нужно вызвать внешнее API или поиск, не прерывая поток аудио.
Мультиязычность: Поддержка 70+ языков с возможностью переключаться между ними прямо в процессе разговора.
2. Подготовка окружения и получение API-ключей
Контекст: Для работы системы необходимы две платформы: Google AI Studio (мозг) и LiveKit (инфраструктура для передачи аудио в реальном времени). LiveKit берет на себя всю сложную работу с WebRTC и WebSocket-соединениями.
Выгода: Быстрый старт без необходимости настраивать собственные медиа-серверы.
Как применить:
Шаг 1: Получение ключа Google AI — Перейдите на aistudio.google.com, создайте новый API Key и сохраните его.
Шаг 2: Настройка LiveKit — Зайдите на cloud.livekit.io, создайте проект. В разделе Settings > API Keys создайте ключ. Вам понадобятся: URL, API Key и API Secret.
Шаг 3: Настройка .env — Создайте файл .env в корне проекта и добавьте туда полученные данные:
livekit-plugins-google: Плагин для интеграции с моделями Gemini.
livekit-agents: Основной фреймворк для создания агентов.
python-dotenv: Для безопасного управления ключами.
4. Написание кода голосового агента
Контекст: Код инициализирует сессию LiveKit, подключает модель Gemini 1.5 Flash в режиме реального времени и задает системный промпт для определения личности ассистента.
Выгода: Полностью рабочий код, который можно запустить в консоли и протестировать голосом.
Как применить: Создайте файл main.py и вставьте следующий код:
import asynciofrom dotenv import load_dotenvfrom livekit.agents import AutoSubscribe, JobContext, WorkerOptions, cli, llmfrom livekit.plugins import googleload_dotenv()async def entrypoint(ctx: JobContext): # Инициализация модели Gemini Real-Time model = google.beta.RealtimeModel( model="gemini-1.5-flash-8b-exp-0924", # Проверьте актуальное название в доках voice="Zephyr", # Доступные голоса: Zephyr, Puck, Charon, Kore, Fenrir instructions="You are a helpful voice assistant. Be concise and friendly." ) # Подключение к комнате LiveKit await ctx.connect(auto_subscribe=AutoSubscribe.AUDIO_ONLY) # Создание и запуск агента agent = llm.VoiceAssistant( model=model, chat_ctx=llm.ChatContext().append( role="system", text="You are a helpful voice assistant powered by Gemini. Be conversational." ) ) agent.start(ctx.room) await agent.say("Hey! How can I help you today?", allow_interruptions=True)if __name__ == "__main__": cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint))
Результат: После запуска командой python main.py dev (или через консольный режим) агент будет готов слушать ваш микрофон и отвечать голосом с минимальной задержкой.
FAQ
В: Можно ли использовать этот агент для звонков по телефону? О: Да, LiveKit поддерживает SIP-интеграцию. Вы можете подключить телефонный номер к этой же логике, и Gemini будет отвечать звонящим в реальном времени.
В: Насколько дорого обходится использование Gemini 1.5 Flash Live? О: Модель Flash оптимизирована по стоимости. На текущий момент (стадия Preview) цены значительно ниже, чем у версии Pro, что делает её идеальной для массовых голосовых ассистентов.
В: Как добавить агенту возможность проверять статус заказа в моей базе данных? О: Вам нужно использовать Function Calling (инструменты). Вы определяете Python-функцию, передаете её в параметры агента, и Gemini сама решит, когда её вызвать, основываясь на вопросе пользователя.
В: Поддерживает ли агент русский язык? О: Да, Gemini поддерживает более 70 языков. Вы можете начать говорить по-русски, и агент автоматически переключится на него, сохраняя заданную роль и контекст.
В: Что делать, если голос звучит неестественно? О: В LiveKit можно менять параметры голоса (параметр voice). Попробуйте разные варианты: Zephyr, Clark и другие. Также можно уточнить стиль речи в системном промпте (например, "говори более эмоционально").
Конспект создан на основе видео «Build Real-Time Voice Agent with Gemini 1.5 Flash & LiveKit» канала Arindam. Все права на оригинальный материал принадлежат авторам.Источник: https://youtu.be/edkMrPMAzGA