The open-source language model computer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
shunyata00 97ece66917
v1.3 added cable management to enclosure
7 months ago
.github Update black 10 months ago
docs Update fulfillment-policy.mdx 8 months ago
hardware/light v1.3 added cable management to enclosure 7 months ago
project_management Merge pull request #223 from dheavy/fix/precommit-linter 9 months ago
software Bumped Open Interpreter 8 months ago
.gitignore queue audio 9 months ago
.pre-commit-config.yaml Change linter to black 9 months ago
CONTEXT.md fixing typo 10 months ago
CONTRIBUTING.md Change linter, ruff to black 9 months ago
GOALS.md Update GOALS.md 12 months ago
INSPIRATION.md Update INSPIRATION.md 12 months ago
LICENSE Create LICENSE 12 months ago
README.md Merge pull request #80 from Sunwood-ai-labs/jp-docs 8 months ago
ROADMAP.md Re-lint after rebase 9 months ago
TASKS.md Re-lint after rebase 9 months ago
TEAMS.md Teams and tasks 12 months ago
USE_CASES.md Update USE_CASES.md 12 months ago
run_pytest.py Fix pytest call from pre-commit hook 9 months ago

README.md

Discord

The open-source language model computer.

Preorder the Light | Get Updates | Documentation


OI-O1-BannerDemo-2

We want to help you build. Apply for 1-on-1 support.


[!IMPORTANT] This experimental project is under rapid development and lacks basic safeguards. Until a stable 1.0 release, only run this repository on devices without sensitive information or access to paid services.

A substantial rewrite to address these concerns and more, including the addition of RealtimeTTS and RealtimeSTT, is occurring here.


The 01 Project is building an open-source ecosystem for AI devices.

Our flagship operating system can power conversational devices like the Rabbit R1, Humane Pin, or Star Trek computer.

We intend to become the GNU/Linux of this space by staying open, modular, and free.


Software

git clone https://github.com/OpenInterpreter/01 # Clone the repository
cd 01/software # CD into the source directory
brew install portaudio ffmpeg cmake # Install Mac OSX dependencies
poetry install # Install Python dependencies
export OPENAI_API_KEY=sk... # OR run `poetry run 01 --local` to run everything locally
poetry run 01 # Runs the 01 Light simulator (hold your spacebar, speak, release)

The RealtimeTTS and RealtimeSTT libraries in the incoming 01-rewrite are thanks to the state-of-the-art voice interface work of Kolja Beigel. Please star those repos and consider contributing to / utilizing those projects!

Hardware

  • The 01 Light is an ESP32-based voice interface. Build instructions are here. A list of what to buy here.
  • It works in tandem with the 01 Server (setup guide below) running on your home computer.
  • Mac OSX and Ubuntu are supported by running poetry run 01 (Windows is supported experimentally). This uses your spacebar to simulate the 01 Light.
  • (coming soon) The 01 Heavy is a standalone device that runs everything locally.

We need your help supporting & building more hardware. The 01 should be able to run on any device with input (microphone, keyboard, etc.), output (speakers, screens, motors, etc.), and an internet connection (or sufficient compute to run everything locally). Contribution Guide →


What does it do?

The 01 exposes a speech-to-speech websocket at localhost:10001.

If you stream raw audio bytes to / in Streaming LMC format, you will receive its response in the same format.

Inspired in part by Andrej Karpathy's LLM OS, we run a code-interpreting language model, and call it when certain events occur at your computer's kernel.

The 01 wraps this in a voice interface:


LMC

Protocols

LMC Messages

To communicate with different components of this system, we introduce LMC Messages format, which extends OpenAIs messages format to include a "computer" role:

https://github.com/OpenInterpreter/01/assets/63927363/8621b075-e052-46ba-8d2e-d64b9f2a5da9

Dynamic System Messages

Dynamic System Messages enable you to execute code inside the LLM's system message, moments before it appears to the AI.

# Edit the following settings in i.py
interpreter.system_message = r" The time is {{time.time()}}. " # Anything in double brackets will be executed as Python
interpreter.chat("What time is it?") # It will know, without making a tool/API call

Guides

01 Server

To run the server on your Desktop and connect it to your 01 Light, run the following commands:

brew install ngrok/ngrok/ngrok
ngrok authtoken ... # Use your ngrok authtoken
poetry run 01 --server --expose

The final command will print a server URL. You can enter this into your 01 Light's captive WiFi portal to connect to your 01 Server.

Local Mode

poetry run 01 --local

If you want to run local speech-to-text using Whisper, you must install Rust. Follow the instructions given here.

Customizations

To customize the behavior of the system, edit the system message, model, skills library path, etc. in i.py. This file sets up an interpreter, and is powered by Open Interpreter.

Ubuntu Dependencies

sudo apt-get install portaudio19-dev ffmpeg cmake

Contributors

01 project contributors

Please see our contributing guidelines for more details on how to get involved.


Roadmap

Visit our roadmap to see the future of the 01.


Background

Context ↗

The story of devices that came before the 01.

Inspiration ↗

Things we want to steal great ideas from.