มิถุนายน เป็นแชทบ็อตเสียงในท้องถิ่นที่รวมพลังของ Ollama (สำหรับความสามารถของโมเดลภาษา), กอด Transformers Face (สำหรับการจดจำคำพูด) และชุดเครื่องมือ 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 : บูลีนระบุว่าจะปิดการใช้งานหรือเปิดใช้งานประวัติการแชท การเปิดใช้งานประวัติการแชทจะทำให้การมีปฏิสัมพันธ์แบบไดนามิกมากขึ้นเนื่องจากโมเดลจะสามารถเข้าถึงบริบทก่อนหน้าได้ แต่จะใช้พลังการประมวลผลมากขึ้น การปิดใช้งานจะส่งผลให้การสนทนาแบบโต้ตอบน้อยลง แต่จะใช้ทรัพยากรการประมวลผลน้อยลง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 : วัตถุที่มีอาร์กิวเมนต์การสร้างที่ยอมรับโดย TTS API ของ Coquitts.model : ชื่อของโมเดลข้อความเป็นคำพูดที่รองรับโดยชุดเครื่องมือ TTS ของ Coqui ตรวจสอบให้แน่ใจว่านี่เป็นรหัสโมเดลที่ถูกต้อง หลังจากเห็น [system]> Listening for sound... ข้อความคุณสามารถพูดลงในไมโครโฟนได้โดยตรง ซึ่งแตกต่างจากผู้ช่วยเสียงทั่วไปไม่จำเป็นต้องใช้คำสั่ง Wake เพียงเริ่มพูดและเครื่องมือจะตรวจจับและประมวลผลการป้อนข้อมูลของคุณโดยอัตโนมัติ เมื่อคุณพูดเสร็จให้รักษาความเงียบเป็นเวลา 3 วินาทีเพื่อให้ผู้ช่วยสามารถประมวลผลเสียงของคุณได้
หลายรุ่น (เช่น tts_models/multilingual/multi-dataset/xtts_v2 ) ได้รับการสนับสนุนโดย TTS Toolkit ของ Coqui รองรับการโคลนนิ่งเสียงการโคลนนิ่ง คุณสามารถใช้โปรไฟล์ลำโพงของคุณเองด้วยคลิปเสียงขนาดเล็ก (ประมาณ 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