Jarvis
Jarvis is a voice-activated, conversational AI assistant powered by a local LLM (Qwen via Ollama). It listens for a wake word, processes spoken commands using a local language model with LangChain, and responds out loud via TTS. It supports tool-calling for dynamic functions like checking the current time.
Install / Use
/learn @llm-guy/JarvisREADME
🧠 Jarvis – Local Voice-Controlled AI Assistant
Jarvis is a voice-activated, conversational AI assistant powered by a local LLM (Qwen via Ollama). It listens for a wake word, processes spoken commands using a local language model with LangChain, and responds out loud via TTS. It supports tool-calling for dynamic functions like checking the current time.
🚀 Features
- 🗣 Voice-activated with wake word "Jarvis"
- 🧠 Local language model (Qwen 3 via Ollama)
- 🔧 Tool-calling with LangChain
- 🔊 Text-to-speech responses via
pyttsx3 - 🌍 Example tool: Get the current time in a given city
- 🔐 Optional support for OpenAI API integration
▶️ How It Works (main.py)
-
Startup & local LLM Setup
- Initializes a local Ollama model (
qwen3:1.7b) viaChatOllama - Registers tools (
get_time) using LangChain
- Initializes a local Ollama model (
-
Wake Word Listening
- Listens via microphone (e.g.,
device_index=0) - If it hears the word "Jarvis", it enters "conversation mode"
- Listens via microphone (e.g.,
-
Voice Command Handling
- Records the user’s spoken command
- Passes the command to the LLM, which may invoke tools
- Responds using
pyttsx3text-to-speech (with optional custom voice)
-
Timeout
- If the user is inactive for more than 30 seconds in conversation mode, it resets to wait for the wake word again.
🤖 How To Start Jarvis
-
Install Dependencies
Make sure you have installed all required dependencies listed inrequirements.txt:pip install -r requirements.txt -
Set Up the Local Model
Ensure you have theqwen3:1.7bmodel available in Ollama. -
Run Jarvis
Start the assistant by running:python main.py
