PI-Assistant  by Lucky-183

AI-driven voice assistant framework for smart homes

Created 2 years ago
254 stars

Top 99.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

PI-Assistant is a versatile, open-source voice home assistant designed for Raspberry Pi and PC (Windows). It integrates large language models (LLMs) like GPT, DeepSeek, and Spark with smart home devices, offering features such as voice control, automation, music playback, and remote access. The project aims to provide a customizable and extensible platform for users to build their own intelligent home environments.

How It Works

The system employs a modular architecture, processing voice input via ASR and generating responses using TTS, with streaming capabilities for reduced latency. Core functionalities include peripheral control via MQTT, HomeAssistant integration, and LLM-driven device orchestration. Device states flow through managers (State, Scene, Config) to control peripherals, or directly from LLM commands. It supports multiple LLMs (GPT, DeepSeek, Spark) and various wake-up mechanisms, configurable via a WebUI.

Quick Start & Requirements

  • Primary Install: pip install -r requirements.txt (Python 3.9+ recommended).
  • Prerequisites: API keys required for Microsoft Azure Cognitive Services (Speech/TTS) and LLM providers (OpenAI, DeepSeek, or Spark). Optional dependencies include Node.js (music playback), MySQL (scheduling), and Mosquitto MQTT server (for Raspberry Pi).
  • Hardware: Raspberry Pi is the primary target platform, though Windows support is available. GPIO pins are utilized for external modules.
  • Setup: Configuration involves setting API keys in const_config.py, config.py, and potentially setting up optional services like MySQL or MQTT.
  • Docs: Comprehensive setup and configuration details are provided within the README.

Highlighted Details

  • Multi-LLM integration (OpenAI, DeepSeek, Spark) with support for conversational context, internet search, and streaming output/TTS for enhanced responsiveness.
  • Extensive peripheral control via MQTT, enabling integration with custom hardware and smart home platforms like HomeAssistant, with a defined data flow for automation.
  • LLM-driven device control allows natural language commands to manage smart home devices, leveraging device states fed back into the LLM.
  • Cross-platform support (Raspberry Pi, Windows) and multiple wake-up methods (voice, LAN, peripheral, remote) enhance flexibility.

Maintenance & Community

The project welcomes Issues and Pull Requests. No specific community links (Discord/Slack) or contributor details are provided in the README.

Licensing & Compatibility

The license is not specified in the README. This is a critical omission for potential adopters.

Limitations & Caveats

The project is under active development, with features like a dedicated HA voice assistant interface and full LLM streaming support listed as future work. Configuration complexity requires careful setup of multiple components, including optional databases and MQTT services. The absence of a specified open-source license is a significant barrier to adoption and commercial use.

Health Check
Last Commit

7 months ago

Responsiveness

Inactive

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

Explore Similar Projects

Feedback? Help us improve.