Залог
Поручение - это помощник по разговору с открытым исходным кодом, призванный вести естественные разговоры с пользователями через голос. Проект сочетает в себе распознавание речи (ASR), технологии обнаружения речевой активности (VAD), модель большой языка (LLM) и речевого синтеза (TTS). Это робот, похожий на GPT-4O, реализованный через ASR+LLM+TTS, чтобы обеспечить высококачественный опыт голосового разговора с сквозной задержкой на 800 мс. Поручение направлена на достижение эффектов диалога, подобного GPT-4O, без необходимости в графическом процессоре и подходит для различных устройств с краеми и средами с низким ресурсом.

Функции проекта
- Эффективная модель с открытым исходным кодом : залог использует несколько моделей с открытым исходным кодом для обеспечения эффективного и надежного опыта голосового разговора.
- Не требуется GPU : оптимизирован, локально развертываемый и по-прежнему обеспечивает производительность, такую как GPT-4.
- Модульный дизайн : модули ASR, VAD, LLM и TTS не зависят друг от друга и могут быть заменены и обновляются в соответствии с требованиями.
- Функция поддержки памяти : он может непрерывно учиться, может помнить предпочтения и исторические диалоги пользователей и обеспечивает персонализированный интерактивный опыт.
- Вызовы инструментов поддержки : Гибкая интеграция внешних инструментов, пользователи могут напрямую запросить информацию или выполнять операции с помощью голоса, улучшая практичность помощника.
- Управление задачами поддержки : эффективно управлять задачами пользователей, способность отслеживать прогресс, устанавливать напоминания и предоставлять динамические обновления, чтобы убедиться, что пользователи пропускают какие -либо важные вопросы.
Введение проекта
Поручение реализует функцию голосового диалога через следующие технические компоненты:
- ASR : используйте FunASR для автоматического распознавания речи, чтобы преобразовать голос пользователя в текст.
- VAD : Используйте Silero-Vad для выполнения обнаружения голосовой активности, чтобы убедиться, что обрабатываются только допустимые голосовые сегменты.
- LLM : Используйте DeepSeek в качестве большой языковой модели для обработки ввода пользователя и генерации ответов, что чрезвычайно экономически эффективно.
- TTS : Используйте Edge-TTS Chattts MacOS говорит для преобразования текста в речь, преобразуя сгенерированный текстовый ответ в естественную и гладкую речь.
Описание структуры

Робот отвечает за эффективное управление задачами и управление памятью и может разумно обрабатывать запросы на прерывание пользователей, при этом достигая бесшовной координации и соединения между различными модулями для обеспечения плавного интерактивного опыта.
| Статус игрока | Говорить ли | иллюстрировать |
|---|
| Игра | Не говорить | нормальный |
| Игра | сказать | Прервать сцену |
| Не играл | Не говорить | нормальный |
| Не играл | сказать | Суждение, признание ASR |
Демо
Поручение звукового диалога
Поручение звукового диалога
Функциональные особенности
- Голосовой ввод : точное распознавание речи через FunASR.
- Обнаружение голосовой активности : Используйте Silero-Vad для фильтрации недействительного звука для повышения эффективности распознавания.
- Интеллектуальное поколение диалога : полагаясь на мощное понимание языка, предоставленное DeepSeek, он генерирует натуральные текстовые ответы, что чрезвычайно экономически эффективно.
- Голосовой выход : преобразовать текст в голос через Edge-TTS, чтобы предоставить пользователям реалистичную слуховую обратную связь.
- Прерывания поддержки : Гибкая конфигурация политик прерывания может использоваться для определения ключевых слов и голосовых прерываний, обеспечения мгновенной обратной связи и управления пользователями в разговорах и улучшения беглости взаимодействия.
- Функция поддержки памяти : он может непрерывно учиться, может помнить предпочтения и исторические диалоги пользователей и обеспечивает персонализированный интерактивный опыт.
- Вызовы инструментов поддержки : Гибкая интеграция внешних инструментов, пользователи могут напрямую запросить информацию или выполнять операции с помощью голоса, улучшая практичность помощника.
- Управление задачами поддержки : эффективно управлять задачами пользователей, способность отслеживать прогресс, устанавливать напоминания и предоставлять динамические обновления, чтобы убедиться, что пользователи пропускают какие -либо важные вопросы.
Преимущества проекта
- Высококачественный голосовой разговор : интегрируйте превосходные технологии ASR, LLM и TTS, чтобы обеспечить беглость и точность голосовых разговоров.
- Легкий дизайн : работает без высокопроизводительного аппаратного обеспечения, подходящего для сред, ограниченных ресурсами.
- Полностью открытый исходный код : залог - это полностью открытый исходный код, поощряющий вклад сообщества и второстепенное развитие.
Установка и запустить
Зависеть от окружающей среды
Убедитесь, что в вашей среде разработки установлены следующие инструменты и библиотеки:
- Python 3.8 или позже
- Менеджер пакетов
pip - Funasr, Silero-Vad, Deepseek, Edge-TTS-библиотека зависимости
Шаги установки
Клонирование склада проекта:
git clone https://github.com/wwbin2017/bailing.git
cd bailing
Зависимости, необходимые для установки:
pip install -r requirements.txt
Настройка переменных среды:
- Откройте config/config.yaml для настройки ASR LLM и других связанных конфигураций
- Скачать SenseVoicesMall в модели каталогов/SenseVoicesMall SenseVoicesMall Адрес загрузки
- Зайдите на официальный веб -сайт DeepSeek, чтобы получить конфигурацию API_KEY, DeepSeek Получите API_KEY, конечно, вы также можете настроить другие модели, такие как OpenAI, QWEN, Gemini, 01YI и т. Д.
Запустите проект:
cd server
python server.py # 启动后端服务,也可不执行这一步
Инструкции для использования
- После начала приложения система будет ждать голосового ввода.
- Конвертируйте пользовательский голос в текст через FunASR.
- Silero-Vad выполняет обнаружение голосовой активности, чтобы гарантировать, что обрабатывается только допустимый голос.
- DeepSeek обрабатывает текстовый ввод и генерирует умные ответы.
- Edge-TTS, Chattts, MacOS говорит, что преобразует сгенерированный текст в речь и воспроизводит его пользователю.
Дорожная карта
В будущем залог будет сублимирован в личного помощника, подобного Джарвису, как заботливый аналитический центр с непревзойденной памятью и возможности управления задачами вперед. Полагаясь на передовые технологии тряпичной тряпки и агента, она точно контролирует ваши дела и знания и упростит комплекс. Просто шепот, такой как «Помогите мне найти недавние новости» или «суммировать последние разработки в большой модели», залог быстро реагирует, разумно анализирует, отслеживает в режиме реального времени и представляет вам изящные результаты. Представьте, что у вас есть не только помощник, но и умный партнер, который хорошо разбирается в ваших потребностях, сопровождая вас в каждый важный момент в будущем, помогая вам увидеть все и выиграть тысячу миль.
Поддерживаемые инструменты
| Имя функции | описывать | Функция | Пример |
|---|
get_weather | Получить информацию о погоде для местоположения | После предоставления названия местоположения вернитесь к погодным условиям местоположения | Пользователь сказал: «Как погода в Ханчжоу?» → zhejiang/hangzhou |
ielts_speaking_practice | Ielts устная практика | Генерировать вопросы устного упражнения IELTS и диалоги, чтобы помочь пользователям практиковать устные упражнения IELTS | - |
get_day_of_week | Получите текущий день недели или даты | Когда пользователь просит текущее время, дату или день недели, соответствующая информация возвращается | Пользователь сказал: «Какой день недели сегодня?» → Вернуться к текущей неделе |
schedule_task | Создать задачу | Пользователи могут указать время выполнения и содержание задачи и регулярно напоминать пользователей | Пользователь сказал: «Напоминайте мне пить воду каждое утро в 8 часов». → time: '08:00', content: '提醒我喝水' |
open_application | Откройте указанное приложение на вашем Mac | Пользователи могут указать имя приложения, а скрипт запустит соответствующее приложение на Mac | Пользователь сказал: «Открыть сафари». → application_name: 'Safari' |
web_search | Поиск указанных ключевых слов онлайн | Вернуть соответствующие результаты поиска на основе контента поиска, предоставленного пользователем | Пользователь сказал: «Поиск последних технических новостей». → query: '最新的科技新闻' |
Руководство по взносу
Любые взносы приветствуются! Если у вас есть какие -либо предложения по улучшению проекта по залог или найдите какие -либо проблемы, предоставьте обратную связь или отправьте запрос на привлечение через проблемы GitHub.
Протокол с открытым исходным кодом
Проект является открытым источником на основе лицензии MIT. Вы можете свободно использовать, изменять и распространять этот проект, но вам необходимо сохранить первоначальный отчет лицензии.
Контактная информация
Если у вас есть какие -либо вопросы или предложения, свяжитесь:
- Проблемы GitHub: отслеживание выпуска проекта
Отказ от ответственности
Поручение - это проект с открытым исходным кодом, предназначенный для личных целей обучения и исследований. Обратите внимание на следующий отказ от ответственности при использовании этого проекта:
- Личное использование : этот проект предназначен только для личных исследований и исследований и не подходит для коммерческого использования или производственной среды.
- Риски и ответственность : использование залога может привести к потере данных, сбое системы или другим проблемам. Мы не несем ответственности за любые убытки, убытки или проблемы, возникающие в результате использования этого проекта.
- Поддержка : Этот проект не предоставляет никакой технической поддержки или гарантии. Пользователи должны нести риски использования этого проекта на свой страх и риск.
Пожалуйста, убедитесь, что вы понимаете и принимаете эти отказы от ответственности перед использованием этого проекта. Если вы не согласны с настоящими Условиями, пожалуйста, не используйте этот проект.
Спасибо за понимание и поддержку!