6 월은 Ollama의 힘 (언어 모델 기능), 포옹 얼굴 변압기 (음성 인식) 및 Coqui TTS 툴킷 (텍스트 음성 연설 합성 용)을 결합한 로컬 음성 챗봇입니다. 로컬 컴퓨터에서 음성 보조 상호 작용을위한 유연한 개인 정보 보호 솔루션을 제공하여 외부 서버로 데이터가 전송되지 않도록합니다.

apt install python3-dev ) -GNU/Linux 용으로만apt install portaudio19-dev for Debian) -GNU/Linux 용으로만brew install portaudio ) - MacOS 용으로 만Github 저장소에서 직접 6 월을 설치하려면 :
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 기능에 사용됩니다 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 : 채팅 기록을 비활성화 할 것인지 또는 활성화할지 여부를 나타내는 부울. 모델이 이전 컨텍스트에 액세스 할 수 있으므로 채팅 기록을 활성화하면 상호 작용이 더욱 역동적이지만 더 많은 처리 능력을 소비합니다. 비활성화하면 대화식 대화가 적지 만 처리 리소스가 줄어 듭니다.llm.model : Ollama의 텍스트 생성 모델 태그 이름. 이것이 컴퓨터에 존재하는 유효한 모델 태그인지 확인하십시오.llm.system_prompt : 모델에 시스템 프롬프트를 제공합니다. 기본 모델이 시스템 프롬프트를 지원하지 않으면 오류가 발생합니다. stt 음성 텍스트 모델 구성tts.device : 파이프 라인이 할당 될 토치 장치 식별자 (예 : cpu , cuda , mps ).stt.generation_args : Face의 음성 인식 파이프 라인을 포옹하여 받아 들여진 생성 인수를 포함하는 객체.stt.model : 포옹에 대한 음성 인식 모델의 이름. 이것이 얼굴을 껴안는 데 존재하는 유효한 모델 ID인지 확인하십시오. tts 텍스트 음성 음성 모델 구성tts.device : 파이프 라인이 할당 될 토치 장치 식별자 (예 : cpu , cuda , mps ).tts.generation_args : Coqui의 TTS API에 의해 받아 들여진 생성 인수를 포함하는 객체.tts.model : Coqui의 TTS 툴킷이 지원하는 텍스트 음성 연설 모델의 이름. 이것이 유효한 모델 ID인지 확인하십시오. [system]> Listening for sound... Message를 듣는 후 마이크에 직접 말할 수 있습니다. 전형적인 음성 조수와 달리 웨이크 명령이 필요하지 않습니다. 말하기를 시작하면 도구가 음성 입력을 자동으로 감지하고 처리합니다. 말하기를 마치면 조수가 음성 입력을 처리 할 수 있도록 3 초 동안 침묵을 유지하십시오.
Coqui의 TTS 툴킷을 지원하는 많은 모델 (예 : tts_models/multilingual/multi-dataset/xtts_v2 )은 음성 클로닝을 지원합니다. 작은 오디오 클립으로 자신의 스피커 프로필을 사용할 수 있습니다 (대부분의 모델의 경우 약 1 분). 클립이 있으면 어시스턴트에게 다음과 같은 사용자 정의 구성과 함께 사용하도록 지시 할 수 있습니다.
{
"tts" : {
"model" : " tts_models/multilingual/multi-dataset/xtts_v2 " ,
"generation_args" : {
"language" : " en " ,
"speaker_wav" : " /path/to/your/target/voice.wav "
}
}
}예, 로컬 인스턴스를 사용하지 않고 원격으로 호스팅 된 Ollama 인스턴스를 6 월에 쉽게 통합 할 수 있습니다. 다음은 다음과 같은 방법입니다.
OLLAMA_HOST 환경 변수를 원격 Ollama 인스턴스의 적절한 URL로 설정하십시오.원격 Ollama 인스턴스를 사용하려면 다음과 같은 명령을 사용합니다.
OLLAMA_HOST=http://localhost:11434 june-va