In the ever-evolving landscape of technology, open-source projects have been the bedrock of innovation and community-driven development. Among these, the Linux operating system is a testament to collaborative effort’s power. Now, a new player has entered the arena, aiming to become the Linux of the artificial intelligence industry: The 01 Project.
Introduction to The 01 Project
The 01 Project is an ambitious open-source ecosystem designed for artificially intelligent devices. It combines code-interpreting language models, known as “interpreters,” with advanced speech recognition and voice synthesis capabilities. This fusion creates a powerful platform capable of powering conversational, computer-operating AI devices akin to the Rabbit R1 or the Humane Pin.
The 01 Project Vision
The vision of the 01 Project is clear and compelling: to establish itself as the “Linux” of the AI space. This means being open, modular, and free for both personal and commercial use. The project aims to democratize AI technology, making it accessible to developers, hobbyists, and companies alike.
01OS: The Flagship Operating System
At the heart of the 01 Project is the 01OS, the flagship operating system that breathes life into AI devices. The 01OS is designed to be conversational, allowing users to interact with their devices naturally and intuitively. It’s not just about understanding commands; it’s about engaging in meaningful dialogue.
Getting Started with 01
The process is straightforward for those eager to dive into the 01 Project. The project’s GitHub repository provides all the necessary instructions for setting up the server, services, and client. Installation is a breeze, with clear commands for dependency installation and running the 01 CLI. Here, we will guide you on how to set it up and make use of it.
Captive portal
To connect your 01, you will use the captive portal.
- Turn on your computer or laptop and connect to the ‘01 light’ Wi-Fi network.
- Enter your Wi-Fi/hotspot name and password in the captive portal page.
- Enter the server URL generated on their computer and hit ‘Connect’.
Now you’re connected and ready to go!
Local 01OS
Prerequisites
There are a few packages that need to be installed to run 01OS on your computer
# MacOS
brew install portaudio ffmpeg cmake
# Ubuntu
sudo apt-get install portaudio19-dev ffmpeg cmake
Install 01 Project
To install the 01 CLI
# Clone the repo and navigate into the 01OS directory
git clone https://github.com/OpenInterpreter/01.git
Run the 01 Project
To run 01 on your computer, use Poetry
Navigate to the project’s 01OS directory:
cd 01OS
Install your project along with its dependencies in a virtual environment managed by Poetry.
poetry install
Run your local version of 01 with:
poetry run 01
Swap out service providers
You can set your LLM, STT, and TTS service providers
Server setup
Run Server
poetry run 01 --server
Configure
A core part of the 01 server is the interpreter which is an instance of Open Interpreter. Open Interpreter is highly configurable and only requires updating a single file.
# Edit i.py
01OS/01OS/server/i.py
Properties such as model
, context_window
, and many more can be updated here.
LLM service provider
If you wish to use a local model, you can use the --llm-service
flag:
# use llamafile
poetry run 01 --server --llm-service llamafile
For more information about LLM service providers, check out the page on Language Models.
Voice Interface
Both speech-to-text and text-to-speech can be configured in 01OS.
You can pass CLI flags --tts-service
and/or --stt-service
with the desired service provider to swap out different services
These different service providers can be found in /services/stt
and /services/tts
For more information, please read about speech-to-text and text-to-speech
CLI Flags
--server
Run server.--server-host TEXT
Specify the server host where the server will deploy.
Default:0.0.0.0
.--server-port INTEGER
Specify the server port where the server will deploy.
Default:10001
.--tunnel-service TEXT
Specify the tunnel service.
Default:ngrok
.--expose
Expose server to internet.--server-url TEXT
Specify the server URL that the client should expect.
Defaults to server-host and server-port.
Default:None
.--llm-service TEXT
Specify the LLM service.
Default:litellm
.--model TEXT
Specify the model.
Default:gpt-4
.--llm-supports-vision
Specify if the LLM service supports vision.--llm-supports-functions
Specify if the LLM service supports functions.--context-window INTEGER
Specify the context window size.
Default:2048
.--max-tokens INTEGER
Specify the maximum number of tokens.
Default:4096
.--temperature FLOAT
Specify the temperature for generation.
Default:0.8
.--tts-service TEXT
Specify the TTS service.
Default:openai
.--stt-service TEXT
Specify the STT service.
Default:openai
.--local
Use recommended local services for LLM, STT, and TTS.--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
Default:None
.--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to copy it or customize the installation.
Default:None
.--help
Show this message and exit.
Client Setup
Get your 01 client up and running
(lets you pick from a grid of available clients)
ESP32 Playback
To set up audio recording + playback on the ESP32 (M5 Atom), do the following:
- Open Arduino IDE, and open the client/client.ino file
- Go to Tools -> Board -> Boards Manager, search “esp32”, then install the boards by Arduino and Espressif
- Go to Tools -> Manage Libraries, then install the following:
- The board needs to connect to WiFi. Once you flash, connect to ESP32 wifi “captive” which will get wifi details. Once it connects, it will ask you to enter 01OS server address in the format “domain.com:port” or “ip:port”. Once its able to connect you can use the device.
- To flash the .ino to the board, connect the board to the USB port, select the port from the dropdown on the IDE, then select the M5Atom board (or M5Stack-ATOM if you have that). Click on upload to flash the board.
Desktop
Server with a client
# run 01 with no args
poetry run 01
Client only
poetry run 01 --client
Flags
--client
Run client.--client-type TEXT
Specify the client type.
Default:auto
.
The Community and Support
The 01 Project thrives on community involvement. With support channels like Discord and GitHub, users and developers can connect, share insights, and contribute to the project’s growth. The project’s open-source nature invites collaboration and ensures that the platform remains at the cutting edge of AI technology.
The Future of 01 Project
As the 01 Project continues to develop, its potential impact on the AI industry is immense. By providing a robust, open-source platform for AI development, the 01 Project paves the way for a future where AI is more accessible, versatile, and integrated into our daily lives.
Conclusion
The 01 Project stands as a beacon of open-source innovation in the AI industry. With its commitment to openness, modularity, and accessibility, it is poised to become the Linux of AI, shaping the future of how we interact with technology.