A real-time conversational voice-based AI assistant built with Spring AI that uses local models for core operations and internet connectivity for features like weather and news.
- Real-time Voice Interaction: Using local speech-to-text and text-to-speech
- Wake Word Detection: Hands-free activation using customizable wake words
- Web UI: Modern interface for both voice and text interaction
- Intent Recognition: Sophisticated NLP to understand user requests
- Named Entity Recognition: Extracts locations, people, and dates from queries
- Skill System: Modular architecture for extensible capabilities
- User Profiles: Support for multiple users with personalized settings
- Local-First: Primary AI operations run locally on your machine
- Internet Services: Weather forecasts, news, and other online data
- Java 21
- Maven 3.8+
- Ollama with Mistral model
- M1 MacBook Pro (or similar hardware)
- Minimum 16GB RAM
git clone https://github.com/your-username/voice-ai-assistant.git cd voice-ai-assistant
curl -fsSL https://ollama.com/install.sh | sh ollama pull mistral:latest
mkdir -p models/opennlp curl -LO https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip unzip vosk-model-small-en-us-0.15.zip -d models/ curl -LO https://opennlp.sourceforge.net/models-1.5/en-token.bin mv en-token.bin models/opennlp/
Update src/main/resources/application.properties with your free API keys for weather and news.
mvn spring-boot:run
Open your browser and navigate to: http://localhost:8080
- Say "hey assistant" to activate voice recognition
- Type commands in the web UI
- Configure personal preferences in Settings
- Add new skills by implementing the
Skillinterface - Train custom NLP models for better understanding
- Configure custom wake words
MIT License