7.8 KiB
○
Giao diện giọng nói (voice interface) mã nguồn mở số #1.
Cập nhật mới nhất | Tài liệu
Chúng tôi muốn hỗ trợ bạn phát triển ứng dụng. Đăng ký hỗ trợ 1-1.
[!QUAN TRỌNG] Dự án thử nghiệm này đang được phát triển khá nhanh và đang thiếu các bảo vệ cơ bản. Cho đến khi có bản phát hành
1.0
ổn định, bạn chỉ nên chạy repo này trên các thiết bị không có thông tin nhạy cảm hoặc quyền truy cập vào các dịch vụ phải trả phí.
01 là nền tảng nguồn mở dành cho các thiết bị đàm thoại, lấy cảm hứng từ máy tính Rabbit R1 và Star Trek.
Bằng cách xây dựng project này xoay quanh Open Interpreter, 01 giờ đây tự nhiên, linh hoạt và sở hữu nhiều tiềm năng hơn nền tảng tiền nhiệm. Các trợ lý ảo được xây dựng từ repo này có thể:
- Thực thi code
- Duyệt web
- Đọc và tạo file
- Điều khiển các ứng dụng của bên thứ 3
- ...
Chúng tôi muốn trở thành một GNU/Linux của lĩnh vực mới này bằng cách duy trì mã nguồn mở theo hướng module và miễn phí như cách họ đã làm.
Đối với phần mềm
git clone https://github.com/OpenInterpreter/01
cd 01/software
Không cài đặt được? Hãy xem qua hướng dẫn setup.
brew install ffmpeg # Chỉ dành cho Mac. Cho Windows và Linux, hãy xem bên dưới.
poetry install
poetry run 01
Lưu ý: Thư viện RealtimeSTT và RealtimeTTS là trái tim của 01, đồng thời là thành quả của Kolja Beigel. Xin hãy tiếp tục đóng góp cho các repo đó và đừng quên tặng sao!
Đối với phần cứng
01 cũng là hub cho các thiết bị phần cứng chạy và kết nối tới phần mềm của chúng ta.
- Mac, Windows, và Linux đã được hỗ trợ, hãy chạy
poetry run 01
. Server 01 và client sử dụng nútctrl
để mô phỏng 01 Light. - Ứng dụng Android và iOS đang trong quá trình phát triển here.
- 01 Light dựa trên ESP32, và là một giao diện nhấn-để-nói (push-to-talk interface). Tài liệu ở đây.
- Hoạt động bằng cách kết nối với Server 01.
Chúng tôi cần sự giúp đỡ của bạn để hỗ trợ và xây dựng thêm phần cứng. 01 sẽ có thể chạy trên mọi thiết bị có đầu vào (micrô, bàn phím, v.v.), đầu ra (loa, màn hình, motor, v.v.) và với kết nối internet (hoặc tính toán đủ để chạy mọi thứ local). Hướng dẫn đóng góp ↗️
Cách thức hoạt động
01 mở port websocket chuyển lời nói thành giọng nói (speech-to-speech) tại localhost:10101
.
Nếu bạn truyền byte âm thanh thô (raw audio bytes) tới /
trong Streaming với định dạng LMC, bạn sẽ nhận được phản hồi của nó ở cùng định dạng.
Dựa trên ý tưởng Hệ điều hành LLM của Andrej Karpathy, chúng ta chạy mô hình ngôn ngữ thông dịch code (code-interpreting language model), và gọi nó khi một event cụ thể xảy ra trên kernel máy tính của bạn.
01 gói gọn nó trong một giao diện giọng nói (voice interface):
Các giao thức (Protocols)
Thông báo LMC (LMC Messages)
Để giao tiếp với các thành phần khác nhau của hệ thống này, chúng tôi xin giới thiệu định dạng Thông báo LMC (LMC Messages), thêm vào định dạng tin nhắn của OpenAI vai trò "computer":
https://github.com/OpenInterpreter/01/assets/63927363/8621b075-e052-46ba-8d2e-d64b9f2a5da9
Thông báo hệ thống động (Dynamic System Messages)
Thông báo hệ thống động (Dynamic System Messages) cho phép bạn thực thi code bên trong thông báo hệ thống của LLM, ngay trước khi nó được xử lý với AI.
# Chỉnh sửa các cài đặt dưới trong Profiles
interpreter.system_message = r" The time is {{time.time()}}. " # Mọi thứ trong ngoặc kép sẽ được thực thi dưới dạng Python
interpreter.chat("What time is it?") # Nó sẽ biết mà không cần gọi tool/API
Hướng dẫn
Server 01
Để chạy server trên Desktop và kết nối với 01 Light của bạn, chạy các lệnh sau:
brew install ngrok/ngrok/ngrok
ngrok authtoken ... # Sử dụng ngrok authtoken của bạn
poetry run 01 --server light --expose
Lệnh cuối cùng sẽ in URL máy chủ. Bạn có thể nhập thông tin này vào portal WiFi cố định của 01 Light để kết nối với Server 01 của bạn.
Chạy trên Local
poetry run 01 --profile local.py
Tùy chỉnh
Để tùy chỉnh hoạt động của hệ thống, hãy chỉnh sửa system message, model, skills library path,, v.v. trong folder profiles
bên trong folder server
. File này thiết lập một trình thông dịch (interpreter) và được hỗ trợ bởi Open Interpreter.
Để chỉ định dịch vụ chuyển văn bản thành giọng nói (text-to-speech) cho 01 base_device.py
, hãy chỉnh sửa interpreter.tts
thành "openai" cho OpenAI, "elevenlabs" cho ElevenLabs hoặc "coqui" cho Coqui (local) trong profile. Đối với 01 Light, chỉnh sửa SPEAKER_SAMPLE_RATE
trong client.ino
trong thư mục máy khách (client directory) esp32
thành 24000 cho Coqui (cục bộ) hoặc 22050 cho OpenAI TTS. Hiện tại chúng tôi không hỗ trợ ElevenLabs TTS trên 01 Light.
Package cần cài đặt (Ubuntu Dependencies)
sudo apt-get install ffmpeg
Đóng góp
Xin hãy xem qua hướng dẫn đóng góp để biết thêm chi tiết và cách tham gia.
Directory
Context ↗
Tiêu chuẩn của 01.
Roadmap ↗
Kế hoạch tương lai của 01.
○