Июнь -это локальный голосовой чат-бот, который объединяет силу Олламы (для возможностей для языковых моделей), обнимающих трансформаторов лица (для распознавания речи) и инструментария Coqui TTS (для синтеза текста в речь). Он обеспечивает гибкое, ориентированное на конфиденциальность решение для голосовых взаимодействий на вашей локальной машине, гарантируя, что данные не отправляются на внешние серверы.

apt install python3-dev для Debian) -только для GNU/Linuxapt install portaudio19-dev для Debian) -только для GNU/Linuxbrew install portaudio с помощью Homebrew) - только для macOSЧтобы установить июнь непосредственно из репозитория GitHub:
pip install git+https://github.com/mezbaul-h/june.git@masterВ качестве альтернативы, вы можете клонировать репозиторий и установить его локально:
git clone https://github.com/mezbaul-h/june.git
cd june
pip install . Получите языковую модель (по умолчанию llama3.1:8b-instruct-q4_0 ) с Ollama сначала, если вы еще этого не сделали:
ollama pull llama3.1:8b-instruct-q4_0Далее запустите программу (с конфигурацией по умолчанию):
june-va Это будет использовать Llama3.1: 8b-instruct-Q4_0 для возможностей LLM, Openai/Whisper-Small.en для распознавания речи и tts_models/en/ljspeech/glow-tts для синтеза аудио.
Вы также можете настроить поведение программы с помощью файла конфигурации JSON:
june-va --config path/to/config.jsonПримечание
Файл конфигурации необязательно. Чтобы узнать больше о структуре файла конфигурации, см. Раздел «Настройка».
Приложение может быть настроено с помощью файла конфигурации. Файл конфигурации должен быть файлом JSON. Конфигурация по умолчанию выглядит следующим образом:
{
"llm" : {
"disable_chat_history" : false ,
"model" : " llama3.1:8b-instruct-q4_0 "
},
"stt" : {
"device" : " torch device identifier (`cuda` if available; otherwise `cpu` " ,
"generation_args" : {
"batch_size" : 8
},
"model" : " openai/whisper-small.en "
},
"tts" : {
"device" : " torch device identifier (`cuda` if available; otherwise `cpu` " ,
"model" : " tts_models/en/ljspeech/glow-tts "
}
}Когда вы используете файл конфигурации, он переопределяет конфигурацию по умолчанию, но не перезаписывает его. Таким образом, вы можете частично изменить конфигурацию, если хотите. Например, если вы не хотите использовать распознавание речи и хотите предоставлять подсказки только через текст, вы можете отключить его, используя файл конфигурации со следующей конфигурацией:
{
"stt" : null
}Точно так же вы можете отключить аудио -синтезатор или оба, чтобы использовать только виртуальный помощник в текстовом режиме.
Если вы хотите изменить только устройство, на котором вы хотите загрузить конкретный тип модели, не изменяя другие атрибуты по умолчанию модели, вы можете использовать:
{
"tts" : {
"device" : " cpu "
}
}llm - конфигурация языковой моделиllm.device : идентификатор устройства горелки (например, cpu , cuda , mps ), на который будет выделен трубопровод.llm.disable_chat_history : Boolean, указывая, отключить или включить историю чата. Включение истории чата сделает взаимодействия более динамичными, поскольку модель будет иметь доступ к предыдущим контекстам, но она будет потреблять больше мощности обработки. Отключение его приведет к менее интерактивным разговорам, но будет использовать меньше ресурсов обработки.llm.model : Имя тега модели текста на Ollama. Убедитесь, что это действительный тег модели, который существует на вашей машине.llm.system_prompt : дайте системную подсказку для модели. Если базовая модель не поддерживает системную подсказку, будет выдвинута ошибка. stt -Конфигурация модели речи к текстуtts.device : идентификатор устройства горелки (например, cpu , cuda , mps ), на который будет выделен трубопровод.stt.generation_args : объект, содержащий аргументы поколения, принятые путем обнимания конвейера распознавания речи лица.stt.model : Имя модели распознавания речи при обнимании лица. Убедитесь, что это действительный идентификатор модели, который существует при обнимании лица. tts -конфигурация модели текста в речьtts.device : идентификатор устройства горелки (например, cpu , cuda , mps ), на который будет выделен трубопровод.tts.generation_args : объект, содержащий аргументы генерации, принятые API Coqui TTS.tts.model : Имя модели текста в речь, поддерживаемое инструментом TTS Coqui. Убедитесь, что это действительный идентификатор модели. Увидев сообщение [system]> Listening for sound... вы можете говорить прямо в микрофон. В отличие от типичных голосовых помощников, команда Wake не требуется. Просто начните говорить, и инструмент автоматически обнаружит и обрабатывает ваш голосовой вход. После того, как вы закончите говорить, сохраняйте молчание в течение 3 секунд, чтобы помощник позволил помощнику обработать ваш голосовой ввод.
Многие из моделей (например, tts_models/multilingual/multi-dataset/xtts_v2 ), поддерживаемые Coqui TTS Toolkit Support Cloning. Вы можете использовать свой собственный профиль динамика с небольшим аудиоклитиком (примерно 1 минута для большинства моделей). После того, как у вас есть клип, вы можете указать помощнику использовать его с помощью пользовательской конфигурации, например, следующая:
{
"tts" : {
"model" : " tts_models/multilingual/multi-dataset/xtts_v2 " ,
"generation_args" : {
"language" : " en " ,
"speaker_wav" : " /path/to/your/target/voice.wav "
}
}
}Да, вы можете легко интегрировать экземпляр Ollama с дистанционно размещенным с июнем вместо использования локального экземпляра. Вот как это сделать:
OLLAMA_HOST в соответствующий URL -адрес вашего удаленного экземпляра Ollama.Чтобы использовать удаленный экземпляр Ollama, вы используете такую команду:
OLLAMA_HOST=http://localhost:11434 june-va