/chatrpi-server

Chat for Raspberry Pi (Chatrpi) is a voice assistant for the Raspberry Pi that can hold simple conversations and control GPIO output.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Chatrpi logo

Chat for Raspberry Pi (Chatrpi) is a voice assistant for the Raspberry Pi that can hold simple conversations and control GPIO output.

Powered by Tensorflow.js, ChatGPT, and Endrpi.

Chatrpi overview

Features

  • Continuous listening via wake-word detection with configurable name.
  • Indefinite conversations with wake-word bypass.
  • Conversational GPIO output control with contextual memory.
  • Extensible to other boards that accept HTTP requests.

Supported browsers

  • Chrome 116+

Repositories

  1. (this repository) chatrpi-server - Serves the front-end and handles API requests.
  2. chatrpi-app - Front-end with visualizer and voice recognition/synthesis.

Requirements

≥ Node.js 16.0

  • Required to install and run the Chatrpi server.
  • Installable on the Raspberry Pi or any computer on the same LAN.

≥ Endrpi 1.0

ChatGPT API key

Quickstart

Raspberry Pi

The following steps should be completed on your Raspberry Pi.

Find the IP address:
hostname -I
Install and run Endrpi:
pip3 install -U endrpi && endrpi

Chatrpi host

The following steps can be completed on any computer connected to the same LAN as the Raspberry Pi, or the Raspberry Pi itself.

Verify access to Endrpi

Visit <ip_address_of_pi>:5000 in your browser. You should be presented with the Endrpi welcome screen.

Set the following environment variables:
ENDRPI_URL=<ip_address_of_pi:5000>
OPENAI_KEY=<your_openai_key>
Install and run Chatrpi:
npx @persanix-llc/chatrpi-server@latest

Pull requests

Persanix is not currently approving community pull requests for this repository. Please consider opening an issue for any bugs or feature requests.

All pull requests will be closed without review.

License

Licensed under the Apache License, Version 2.0.

Copyright © 2020 - 2023 Persanix LLC. All rights reserved.