gpt-home  by judahpaul16

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

created 1 year ago
590 stars

Top 56.0% 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

2 months ago

Responsiveness

1 day

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

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Andre Zayarni Andre Zayarni(Cofounder of Qdrant), and
2 more.

RealChar by Shaunwei

0.1%
6k
Real-time AI character/companion creation and interaction codebase
created 2 years ago
updated 1 year ago
Starred by Addy Osmani Addy Osmani(Engineering Leader on Google Chrome), Victor Taelin Victor Taelin(Author of Bend, Kind, HVM), and
1 more.

chatbox by chatboxai

0.3%
36k
Desktop client app for AI models/LLMs
created 2 years ago
updated 6 days ago
Feedback? Help us improve.