FlutterVoiceFriend — это приложение Flutter с открытым исходным кодом, призванное помочь разработчикам создавать интерактивные голосовые чат-боты, используя сочетание передовых технологий преобразования речи в текст (STT) и преобразования текста в речь (TTS). Приложение использует Langchain, OpenAI для обработки естественного языка и TTS, а также распознавание речи как на устройстве, так и в облаке (включая Deepgram), чтобы предложить гибкие возможности голосового взаимодействия.
Независимо от того, разрабатываете ли вы виртуального помощника, диалоговый инструмент искусственного интеллекта или образовательного голосового компаньона, FlutterVoiceFriend обеспечивает прочную основу для создания настраиваемых голосовых приложений.
Голосовой чат-бот:
FlutterVoiceFriend обеспечивает плавное голосовое общение с использованием передовых технологий STT и TTS. Пользователи могут разговаривать с приложением, и оно будет отвечать естественным голосом.
Несколько вариантов распознавания речи:
Поддержка технологий STT как на устройстве, так и в облаке гарантирует, что приложение сможет обрабатывать голосовой ввод в различных средах с различными возможностями устройства.
Гибкий и модульный:
Приложение можно легко настроить в соответствии с различными вариантами использования, например, виртуальными помощниками, диалоговыми ботами, образовательными приложениями или развлекательными платформами.
Разработчики могут изменять потоки, ответы и поведение чат-ботов, чтобы адаптировать их к своим конкретным потребностям.
Создано с помощью Flutter:
Разработано с использованием Flutter SDK, обеспечивающего совместимость с iOS, Android и веб-платформами. Приложение обеспечивает удобство работы с пользователем благодаря единой базе кода.
Обработка естественного языка с помощью Langchain и OpenAI:
Интегрирует мощные модели OpenAI для создания естественных и связных разговоров.
Используйте Langchain для сложных диалоговых потоков, позволяя боту обрабатывать более тонкие диалоги.
Настраиваемые голосовые ответы:
Настройте движок TTS, чтобы он соответствовал индивидуальности вашего чат-бота. Выбирайте один из нескольких голосов и языков, чтобы создать персонализированный пользовательский опыт.
Гибкость преобразования речи в текст:
Включает опции STT на устройстве для более быстрой автономной обработки и облачный STT (например, Deepgram) для более точного распознавания речи в онлайн-среде.
Виртуальные помощники : создавайте умных виртуальных помощников, активируемых голосом, которые помогут с задачами, напоминаниями или общей информацией.
Образовательные приложения : создавайте собеседников, которые помогут пользователям в процессе обучения с помощью голосовой обратной связи.
Развлечения и игры . Разрабатывайте интерактивные сюжетные приложения, в которых пользователи общаются с персонажами с помощью голосового ввода.
Здравоохранение и благополучие : создавайте голосовых помощников для отслеживания состояния здоровья, эмоциональной поддержки или рекомендаций по фитнесу.
«FlutterVoiceFriend» изначально разрабатывалось как интерактивное и увлекательное приложение, призванное помочь детям исследовать свои эмоции и развивать осознанность с помощью управляемой медитации и упражнений по саморефлексии. «Друг во мне» проводит детей через различные занятия, которые носят как медитативный, так и рефлексивный характер. Цель состоит в том, чтобы научить детей состраданию к себе, внимательности и эмоциональной осведомленности с помощью веселых, простых и увлекательных упражнений.
iOS (iPhone или iPad):
Загрузите приложение из App Store.
Flutter SDK : кроссплатформенная разработка для iOS, Android и Интернета.
Распознавание речи : объединяет STT на устройстве и в облаке (например, speech_to_text
и deepgram_speech_to_text
).
Аудио-бэкенд : может использовать библиотеку SoLoud и подключение just_audio.
Преобразование текста в речь : на базе OpenAI для естественного вывода голоса.
Обработка большой языковой модели : использует модель Langchain и OpenAI для обработки сложных диалоговых потоков.
В текущей версии имеется несколько функций и улучшений, которые запланированы, но еще не реализованы. Обратите внимание на следующие ограничения:
Только для iOS и Android. В настоящее время приложение совместимо только с устройствами iOS и Android. Поддержка Интернета доступна в ветке, но требует специальной настройки. Платформы Linux, Windows и Mac еще не реализованы.
Отзывы пользователей: в приложении нет встроенного механизма сбора отзывов пользователей.
Документация для разработчиков: Полная документация для разработчиков пока недоступна.
Комментарии к коду. Ключевые части кодовой базы по-прежнему нуждаются в адекватных комментариях.
Фоновые звуки: фоновая музыка или звуки природы во время медитации еще не реализованы.
Аутентификация пользователя: функция входа пользователя недоступна.
Автономный режим: приложение в настоящее время не поддерживает автономный режим.
Аналитика пользовательских данных: анонимный анализ использования не реализован.
Разделение задач. Бизнес-логика приложения не полностью отделена от компонентов пользовательского интерфейса.
Регистрация ошибок: Надежные инструменты регистрации ошибок и мониторинга еще не созданы.
Модульные и интеграционные тесты. Комплексные модульные и интеграционные тесты еще не реализованы.
CI/CD: конвейеры непрерывной интеграции и развертывания не настроены.
Flutter SDK >= 3.4.4
Дротик >= 3.4.4
Клонируем репозиторий:
git clone https://github.com/jbpassot/flutter_voice_friend.gitcd flutter_voice_friend
Установите зависимости:
флаттер паб получить
Сгенерируйте код Isar:
сборка дротика build_runner
Запустите следующую команду, чтобы сгенерировать код для Isar (встроенная база данных NoSQL для Flutter):
Добавьте ключи API:
Переименуйте .env.example
в .env
.
Добавьте ключи API OpenAI и Deepgram в файл .env
.
Запустите приложение:
порхающий бег
Настроить параметры:
Вы можете получить доступ к настройкам приложения, нажав значок шестеренки в правом верхнем углу.
Наслаждаться!
Вы можете опробовать приложение, выполнив два демонстрационных задания: «Введение» и «Прошепчи аналитика снов».
Если вы тестируете на симуляторе iOS, обязательно измените метод преобразования речи в текст (STT) на использование Deepgram вместо «На устройстве», поскольку TTS на устройстве может работать неправильно на симуляторах iOS.
Для этого изменения настройки требуется действительный ключ API Deepgram. Посетите веб-сайт Deepgram, чтобы получить ключ.
Вы можете настроить эти параметры непосредственно в приложении, нажав значок шестеренки в правом верхнем углу.
Приложение использует различные внешние сервисы, такие как OpenAI для генерации текста и Deepgram для преобразования речи в текст. Обязательно настройте их в файле .env
.
OPENAI_API_KEY=your_openai_api_keyDEEPGRAM_API_KEY=your_deepgram_api_key
Краткое руководство по созданию нового занятия см. в файле SIMPLE_TUTORIAL.md.
Мы приветствуем вклады! Пожалуйста, проверьте файл CONTRIBUTING.md, чтобы узнать, как внести свой вклад.
Этот проект распространяется по международной лицензии Creative Commons Attribution-NonCommercial-ShareAlike 4.0 . Подробности смотрите в файле ЛИЦЕНЗИИ.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь открыть вопрос или свяжитесь с нами по адресу [[email protected]].