gpt-home  by judahpaul16

DIY assistant, better than commercial smart hubs, on Raspberry Pi

Created 2 years ago
609 stars

Top 53.9% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a DIY voice assistant, GPT Home, designed to function as a more capable alternative to devices like Google Nest Hub or Amazon Alexa. It targets hobbyists and makers who want to build a personalized smart home assistant using a Raspberry Pi and the OpenAI API, offering extensive customization and integration possibilities.

How It Works

GPT Home leverages Docker for deployment, encapsulating its services. It utilizes the OpenAI API for natural language processing and response generation, with optional integration for other LLMs via LiteLLM. Audio input and output are handled via standard USB or 3.5mm microphones and speakers, compatible with ALSA or PortAudio. The system supports various integrations including Spotify, Philips Hue lights, and calendar services (CalDAV), managed through a web interface and potentially NGINX for reverse proxying.

Quick Start & Requirements

  • Install: Execute the provided setup.sh script: curl -s https://raw.githubusercontent.com/judahpaul16/gpt-home/main/contrib/setup.sh | bash -s -- --no-build
  • Prerequisites: Raspberry Pi (3B, 3B+, 4B, 5 recommended), Linux (Ubuntu 22.04/23.04/24.04, Debian Buster/Bullseye, AlmaLinux 8/9), Python 3.8+, Node.js 18.x+, Docker, NGINX. Requires OpenAI API key and potentially LiteLLM API key. USB/3.5mm microphone and speaker.
  • Setup Time: The full setup script can take over 15 minutes; using --no-build significantly reduces this by pulling a pre-built Docker image.
  • Documentation: Raspberry Pi Docs, Docker Docs, LiteLLM Docs

Highlighted Details

  • Supports a wide range of hardware and OS combinations, with specific compatibility notes.
  • Integrates with multiple smart home and media services: OpenAI, Spotify, Philips Hue, OpenWeatherMap, CalDAV.
  • Offers extensive configuration options via settings.json and a web interface for API keys and settings.
  • Includes detailed schematics and a parts list for building the physical device.

Maintenance & Community

The project is maintained by judahpaul16. Community interaction channels are not explicitly listed in the README.

Licensing & Compatibility

Licensed under GNU GPL v3.0. This is a copyleft license, meaning derivative works must also be open-sourced under the same license. Commercial use or linking with closed-source applications may be restricted.

Limitations & Caveats

The project explicitly states Python 3.7 and Node.js versions below 18.x are not supported. Some OS versions (e.g., Ubuntu 23.04) are marked as EOL. While theoretically runnable on any Linux system via Docker, compatibility is only guaranteed for listed versions. Direct battery connection to the Raspberry Pi is cautioned against due to potential damage.

Health Check
Last Commit

1 month ago

Responsiveness

1 day

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

Explore Similar Projects

Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), and
24 more.

open-webui by open-webui

0.6%
110k
Self-hosted AI platform for local LLM deployment
Created 1 year ago
Updated 1 day ago
Feedback? Help us improve.