June ist ein lokaler Voice Chatbot, der die Kraft von Ollama (für Sprachmodellfunktionen), umarmende Gesichtstransformatoren (für die Spracherkennung) und das Coqui TTS-Toolkit (für Text-to-Speech-Synthese) kombiniert. Es bietet eine flexible, von Privatsphäre fokussierte Lösung für sprachunterstützte Interaktionen auf Ihrer lokalen Maschine, um sicherzustellen, dass keine Daten an externe Server gesendet werden.

apt install python3-dev für Debian) -nur für GNU/Linuxapt install portaudio19-dev für Debian) -nur für GNU/Linuxbrew install portaudio mit Homebrew) - nur für macOSSo installieren Sie den Juni direkt über das Github -Repository:
pip install git+https://github.com/mezbaul-h/june.git@masterAlternativ können Sie das Repository klonen und lokal installieren:
git clone https://github.com/mezbaul-h/june.git
cd june
pip install . Ziehen Sie das Sprachmodell (Standard ist llama3.1:8b-instruct-q4_0 ) zuerst mit Ollama, wenn Sie es noch nicht getan haben:
ollama pull llama3.1:8b-instruct-q4_0Führen Sie als nächstes das Programm aus (mit Standardkonfiguration):
june-va Dies wird LLAMA3.1: 8B-Instruct-Q4_0 für LLM-Funktionen, OpenAI/Whisper-Small.en für die Spracherkennung und tts_models/en/ljspeech/glow-tts für die Audio-Synthese verwenden.
Sie können das Verhalten des Programms auch mit einer JSON -Konfigurationsdatei anpassen:
june-va --config path/to/config.jsonNotiz
Die Konfigurationsdatei ist optional. Weitere Informationen zur Struktur der Konfigurationsdatei finden Sie im Abschnitt Anpassungsanpassungsabschnitt.
Die Anwendung kann mithilfe einer Konfigurationsdatei angepasst werden. Die Konfigurationsdatei muss eine JSON -Datei sein. Die Standardkonfiguration lautet wie folgt:
{
"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 "
}
}Wenn Sie eine Konfigurationsdatei verwenden, überschreibt sie die Standardkonfiguration, überschreibt sie jedoch nicht. Sie können also die Konfiguration teilweise ändern, wenn Sie möchten. Wenn Sie beispielsweise keine Spracherkennung verwenden möchten und nur Eingabeaufforderungen über Text bereitstellen möchten, können Sie dies deaktivieren, indem Sie eine Konfigurationsdatei mit der folgenden Konfiguration verwenden:
{
"stt" : null
}In ähnlicher Weise können Sie den Audio -Synthesizer oder beides deaktivieren, um nur den virtuellen Assistenten im Textmodus zu verwenden.
Wenn Sie das Gerät, auf dem Sie einen bestimmten Modelltyp laden möchten, nur ändern möchten, ohne die anderen Standardattribute des Modells zu ändern, können Sie verwenden:
{
"tts" : {
"device" : " cpu "
}
}llm - Sprachmodellkonfigurationllm.device : Torch Device Identifier (z. B. cpu , cuda , mps ), für die die Pipeline zugewiesen wird.llm.disable_chat_history : Boolean angeben, ob die Chat -Historie deaktiviert oder aktiviert werden soll. Das Aktivieren der Chat -Verlaufs wird die Interaktionen dynamischer, da das Modell Zugriff auf frühere Kontexte hat, aber mehr Verarbeitungsleistung verbraucht. Deaktivieren Sie dies werden zu weniger interaktiven Gesprächen führen, aber weniger Verarbeitungsressourcen verwendet.llm.model : Name des Text-Generation-Modells für Textgeneration auf Ollama. Stellen Sie sicher, dass dies ein gültiges Modell -Tag ist, das auf Ihrer Maschine vorhanden ist.llm.system_prompt : Geben Sie dem Modell eine Systemaufforderung. Wenn das zugrunde liegende Modell eine Systemaufforderung nicht unterstützt, wird ein Fehler angesprochen. stt -Sprach-zu-Text-Modellkonfigurationtts.device : Torch Device Identifier (z. B. cpu , cuda , mps ), für die die Pipeline zugewiesen wird.stt.generation_args : Objekt, das Erzeugungsargumente enthält, die durch Umarmung der Redenerkennungspipeline von Face akzeptiert wurden.stt.model : Name des Spracherkennungsmodells beim Umarmungsgesicht. Stellen Sie sicher, dass dies ein gültiger Modell -ID ist, der auf dem Umarmungsgesicht vorhanden ist. tts -Text-to-Speech-Modellkonfigurationtts.device : Torch Device Identifier (z. B. cpu , cuda , mps ), für die die Pipeline zugewiesen wird.tts.generation_args : Objekt, das Erzeugungsargumente enthält, die von der TTS -API von Coqui akzeptiert werden.tts.model : Name des Text-zu-Sprach-Modells, das vom TTS-Toolkit des Coqui unterstützt wird. Stellen Sie sicher, dass dies eine gültige Modell -ID ist. Nachdem Sie das [system]> Listening for sound... Message gesehen haben, können Sie direkt in das Mikrofon sprechen. Im Gegensatz zu typischen Sprachassistenten ist kein Wake -Befehl erforderlich. Beginnen Sie einfach mit Sprechen, und das Tool erkennt und verarbeitet Ihre Spracheingabe automatisch. Sobald Sie das Sprechen beendet haben, halten Sie die Stille für 3 Sekunden bei, damit der Assistent Ihre Spracheingabe verarbeiten kann.
Viele der Modelle (z. B. tts_models/multilingual/multi-dataset/xtts_v2 ), unterstützt von Coquis TTS Toolkit Support Voice Cloning. Sie können Ihr eigenes Lautsprecherprofil mit einem kleinen Audioclip (ungefähr 1 Minute für die meisten Modelle) verwenden. Sobald Sie den Clip haben, können Sie den Assistenten anweisen, ihn mit einer benutzerdefinierten Konfiguration wie folgt zu verwenden:
{
"tts" : {
"model" : " tts_models/multilingual/multi-dataset/xtts_v2 " ,
"generation_args" : {
"language" : " en " ,
"speaker_wav" : " /path/to/your/target/voice.wav "
}
}
}Ja, Sie können leicht eine fern gehostete Ollama -Instanz in den Juni integrieren, anstatt eine lokale Instanz zu verwenden. Hier erfahren Sie, wie es geht:
OLLAMA_HOST -Umgebungsvariable auf die entsprechende URL Ihrer Remote -Ollama -Instanz ein.Um eine Remote -Ollama -Instanz zu verwenden, würden Sie einen Befehl wie diesen verwenden:
OLLAMA_HOST=http://localhost:11434 june-va