local_llm_assistant  by nickbild

Local voice assistant for verbal requests, running on Raspberry Pi

created 1 year ago
338 stars

Top 82.6% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a fully local, GPT-like voice assistant designed for Raspberry Pi, enabling private, offline voice command interaction. It targets hobbyists and users seeking a self-contained AI assistant without cloud dependencies.

How It Works

The assistant records audio via a pushbutton and USB microphone, transcribes it using Whisper, and prompts a local TinyLlama-1.1B LLM packaged as a llamafile. The LLM's text response is then synthesized into speech using eSpeak and played through a speaker. This approach ensures complete data privacy and offline operation.

Quick Start & Requirements

  • Install: Ubuntu Server 22.04.3 LTS (64-bit) on SD card, then run sudo apt update, sudo apt install ffmpeg espeak python3-pip python3-pyaudio, pip3 install openai openai-whisper RPi.GPIO pyaudio, clone repo, download and chmod the llamafile.
  • Prerequisites: Raspberry Pi 4 (or Pi 5), USB microphone, speaker, pushbutton, SD card.
  • Setup: Requires flashing OS, installing packages, downloading LLM model.
  • Docs: Demo Video

Highlighted Details

  • Runs 100% locally on a Raspberry Pi 4.
  • Utilizes Whisper for speech-to-text and TinyLlama-1.1B via llamafile.
  • Requires Ubuntu Server 22.04.3 LTS; Raspberry Pi OS is incompatible without custom kernel workarounds.

Maintenance & Community

  • Project by Nick A. Bild. No community links or roadmap provided.

Licensing & Compatibility

  • No explicit license mentioned in the README.
  • Compatibility is limited to Ubuntu Server on Raspberry Pi due to llamafile requirements.

Limitations & Caveats

Processing can be slow, with brief requests taking up to 15 seconds on a Pi 4. The project is presented as "World's Easiest," but setup involves OS flashing and command-line operations.

Health Check
Last commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
6 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.