Spaces:
Sleeping
● Open Interpreter
chạy mô hình ngôn ngữ trí tuệ nhân tạo trên máy tính của bạn.
Mã nguồn mở và ứng dụng phát triển dựa trên code của OpenAI.
Quyền truy cập sớm dành cho máy tính cá nhân | Tài liệu đọc tham khảo
pip install open-interpreter
interpreter
Open Interpreter Chạy LLMs trên máy tính cục bộ (Có thể sử dụng ngôn ngữ Python, Javascript, Shell, và nhiều hơn thế). Bạn có thể nói chuyện với Open Interpreter thông qua giao diện giống với ChatGPT ngay trên terminal của bạn bằng cách chạy lệnh $ interpreter
sau khi tải thành công.
Các tính năng chung giao diện ngôn ngữ mang llại
- Tạo và chỉnh sửa ảnh, videos, PDF, vân vân...
- Điều khiển trình duyệt Chrome để tiến hành nghiên cứu
- Vẽ, làm sạch và phân tích các tập dữ liệu lớn (large datasets)
- ...vân vân.
⚠️ Lưu ý: Bạn sẽ được yêu cầu phê duyệt mã trước khi chạy.
Thử nghiệm
Bản thử nghiệm có sẵn trên Google Colab:
Đi kèm với ứng dụng mẫu qua tương tác giọng nói (Lấy cảm hứng từ Cô ấy (Giọng nữ)):
Hướng dẫn khởi dộng ngắn
pip install open-interpreter
Terminal
Sau khi cài đặt, chạy dòng lệnh interpreter
:
interpreter
Python
from interpreter import interpreter
interpreter.chat("Vẽ giá cổ phiếu đã bình hoá của AAPL và META ") # Chạy trên 1 dòng lệnh
interpreter.chat() # Khởi động chat có khả năng tương tác
So sánh Code Interpreter của ChatGPT
Bản phát hành của OpenAI Code Interpreter sử dụng GPT-4 tăng khả năng hoàn thiện vấn đề thực tiễn với ChatGPT.
Tuy nhiên, dịch vụ của OpenAI được lưu trữ, mã nguồn đóng, và rất hạn chế:
- Không có truy cập Internet.
- Số lượng gói cài đặt hỗ trỡ có sẵn giới hạn.
- tốc độ tải tối đa 100 MB , thời gian chạy giới hạn 120.0 giây .
- Trạng thái tin nhắn bị xoá kèm với các tệp và liên kết được tạo trước đó khi đóng môi trường lại.
Open Interpreter khắc phục những hạn chế này bằng cách chạy cục bộ trobộ môi trường máy tính của bạn. Nó có toàn quyền truy cập vào Internet, không bị hạn chế về thời gian hoặc kích thước tệp và có thể sử dụng bất kỳ gói hoặc thư viện nào.
Đây là sự kết hợp sức mạnh của mã nguồn của GPT-4 với tính linh hoạt của môi trường phát triển cục bộ của bạn.
Dòng lệnh
Update: Cập nhật trình tạo lệnh (0.1.5) giới thiệu tính năng trực tuyến:
message = "Chúng ta đang ở trên hệ điều hành nào?"
for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)
Trò chuyện tương tác
Để tạo một cuộc trò chuyện tương tác từ terminal của bạn, chạy interpreter
bằng dòng lệnh:
interpreter
hoặc interpreter.chat()
từ file có đuôi .py :
interpreter.chat()
Bạn cũng có thể phát trực tuyến từng đoạn:
message = "Chúng ta đang chạy trên hệ điều hành nào?"
for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)
Trò chuyện lập trình được
Để kiểm soát tốt hơn, bạn chuyển tin nhắn qua .chat(message)
:
interpreter.chat("Truyền phụ đề tới tất cả videos vào /videos.")
# ... Truyền đầu ra đến thiết bị đầu cuối của bạn (terminal) hoàn thành tác vụ ...
interpreter.chat("Nhìn đẹp đấy nhưng bạn có thể làm cho phụ đề lớn hơn được không?")
# ...
Tạo một cuộc trò chuyện mới:
Trong Python, Open Interpreter ghi nhớ lịch sử hội thoại, nếu muốn bắt đầu lại từ đầu, bạn có thể cài thứ:
interpreter.messages = []
Lưu và khôi phục cuộc trò chuyện
interpreter.chat()
trả về danh sách tin nhắn, có thể được sử dụng để tiếp tục cuộc trò chuyện với interpreter.messages = messages
:
messages = interpreter.chat("Tên của tôi là Killian.") # Lưu tin nhắn tới 'messages'
interpreter.messages = [] # Khởi động lại trình phiên dịch ("Killian" sẽ bị lãng quên)
interpreter.messages = messages # Tiếp tục cuộc trò chuyện từ 'messages' ("Killian" sẽ được ghi nhớ)
Cá nhân hoá tin nhắn từ hệ thống
Bạn có thể kiếm tra và điều chỉnh tin nhắn hệ thống từ Optừ Interpreter để mở rộng chức năng của nó, thay đổi quyền, hoặc đưa cho nó nhiều ngữ cảnh hơn.
interpreter.system_message += """
Chạy shell commands với -y để người dùng không phải xác nhận chúng.
"""
print(interpreter.system_message)
Thay đổi mô hình ngôn ngữ
Open Interpreter sử dụng mô hình LiteLLM để kết nối tới các mô hình ngôn ngữ được lưu trữ trước đó.
Bạn có thể thay đổi mô hình ngôn ngữ bằng cách thay đổi tham số mô hình:
interpreter --model gpt-3.5-turbo
interpreter --model claude-2
interpreter --model command-nightly
Ở trong Python, đổi model bằng cách thay đổi đối tượng:
interpreter.llm.model = "gpt-3.5-turbo"
Tìm tên chuỗi "mô hình" phù hợp cho mô hình ngôn ngữ của bạn ở đây.
Chạy Open Interpreter trên máy cục bộ
Open Interpreter có thể sử dụng máy chủ tương thích với OpenAI để chạy các mô hình cục bộ. (LM Studio, jan.ai, ollama, v.v.)
Chỉ cần chạy interpreter
với URL api_base của máy chủ suy luận của bạn (đối với LM studio, nó là http://localhost:1234/v1
theo mặc định):
trình thông dịch --api_base "http://localhost:1234/v1" --api_key "fake_key"
Ngoài ra, bạn có thể sử dụng Llamafile mà không cần cài đặt bất kỳ phần mềm bên thứ ba nào chỉ bằng cách chạy
thông dịch viên --local
để biết hướng dẫn chi tiết hơn, hãy xem video này của Mike Bird
Để chạy LM Studio ở chế độ nền.
- Tải https://lmstudio.ai/ và khởi động.
- Chọn một mô hình rồi nhấn ↓ Download.
- Nhấn vào nút ↔️ ở bên trái (dưới 💬).
- Chọn mô hình của bạn ở phía trên, rồi nhấn chạy Start Server.
Một khi server chạy, bạn có thể bắt đầu trò chuyện với Open Interpreter.
Lưu ý: Chế độ cục bộ chỉnh
context_window
của bạn tới 3000, vàmax_tokens
của bạn tới 600. Nếu mô hình của bạn có các yêu cầu khác, thì hãy chỉnh các tham số thủ công (xem bên dưới).
Cửa sổ ngữ cảnh (Context Window), (Max Tokens)
Bạn có thể thay đổi max_tokens
và context_window
(ở trong các) of locally running models.
Ở chế độ cục bộ, các cửa sổ ngữ cảnh sẽ tiêu ít RAM hơn, vậy nên chúng tôi khuyến khích dùng cửa sổ nhỏ hơn (~1000) nếu như nó chạy không ổn định / hoặc nếu nó chậm. Đảm bảo rằng max_tokens
ít hơn context_window
.
interpreter --local --max_tokens 1000 --context_window 3000
Chế độ sửa lỗi
Để giúp đóng góp kiểm tra Open Interpreter, thì chế độ --verbose
hơi dài dòng.
Bạn có thể khởi động chế độ sửa lỗi bằng cách sử dụng cờ (interpreter --verbose
), hoặc mid-chat:
$ interpreter
...
> %verbose true <- Khởi động chế độ gỡ lỗi
> %verbose false <- Tắt chế độ gỡ lỗi
Lệnh chế độ tương tác
Trong chế độ tương tác, bạn có thể sử dụng những dòng lệnh sau để cải thiện trải nghiệm của mình. Đây là danh sách các dòng lệnh có sẵn:
Các lệnh có sẵn:
%verbose [true/false]
: Bật chế độ gỡ lỗi. Có hay không cótrue
đều khởi động chế độ gỡ lỗi. Vớifalse
thì nó tắt chế độ gỡ lỗi.%reset
: Khởi động lại toàn bộ phiên trò chuyện hiện tại.%undo
: Xóa tin nhắn của người dùng trước đó và phản hồi của AI khỏi lịch sử tin nhắn.%save_message [path]
: Lưu tin nhắn vào một đường dẫn JSON được xác định từ trước. Nếu không có đường dẫn nào được cung cấp, nó sẽ mặc định làmessages.json
.%load_message [path]
: Tải tin nhắn từ một đường dẫn JSON được chỉ định. Nếu không có đường dẫn nào được cung cấp, nó sẽ mặc định làmessages.json
.%tokens [prompt]
: (Experimental) Tính toán các token sẽ được gửi cùng với lời nhắc tiếp theo dưới dạng ngữ cảnh và hao tổn. Tùy chọn tính toán token và hao tổn ước tính của mộtprompt
nếu được cung cấp. Dựa vào hàmcost_per_token()
của mô hình LiteLLM để tính toán hao tổn.%help
: Hiện lên trợ giúp cho cuộc trò chuyện.
Cấu hình cài
Open Interpreter cho phép bạn thiết lập các tác vụ mặc định bằng cách sử dụng file config.yaml
.
Điều này cung cấp một cách linh hoạt để định cấu hình trình thông dịch mà không cần thay đổi đối số dòng lệnh mỗi lần
Chạy lệnh sau để mở tệp cấu hình:
interpreter --config
Cấu hình cho nhiều tệp
Open Interpreter hỗ trợ nhiều file config.yaml
, cho phép bạn dễ dàng chuyển đổi giữa các cấu hình thông qua lệnh --config_file
.
Chú ý: --config_file
chấp nhận tên tệp hoặc đường dẫn tệp. Tên tệp sẽ sử dụng thư mục cấu hình mặc định, trong khi đường dẫn tệp sẽ sử dụng đường dẫn đã chỉ định.
Để tạo hoặc chỉnh sửa cấu hình mới, hãy chạy:
interpreter --config --config_file $config_path
Để yêu cầu Open Interpreter chạy một tệp cấu hình cụ thể, hãy chạy:
interpreter --config_file $config_path
Chú ý: Thay đổi $config_path
với tên hoặc đường dẫn đến tệp cấu hình của bạn.
Ví dụ CLI
- Tạo mới một file
config.turbo.yaml
interpreter --config --config_file config.turbo.yaml
- Chạy file
config.turbo.yaml
để đặt lạimodel
thànhgpt-3.5-turbo
- Chạy Open Interpreter với cấu hình `config.turbo.yaml
interpreter --config_file config.turbo.yaml
Ví dụ Python
Bạn cũng có thể tải các tệp cấu hình khi gọi Open Interpreter từ tập lệnh Python:
import os
from interpreter import interpreter
currentPath = os.path.dirname(os.path.abspath(__file__))
config_path=os.path.join(currentPath, './config.test.yaml')
interpreter.extend_config(config_path=config_path)
message = "What operating system are we on?"
for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)
Máy chủ FastAPI mẫu
Bản cập nhật trình tạo cho phép điều khiển Trình thông dịch mở thông qua các điểm cuối HTTP REST:
# server.py
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
from interpreter import interpreter
app = FastAPI()
@app.get("/chat")
def chat_endpoint(message: str):
def event_stream():
for result in interpreter.chat(message, stream=True):
yield f"data: {result}\n\n"
return StreamingResponse(event_stream(), media_type="text/event-stream")
@app.get("/history")
def history_endpoint():
return interpreter.messages
pip install fastapi uvicorn
uvicorn server:app --reload
Hướng dẫn an toàn
Vì mã được tạo được thực thi trong môi trường cục bộ của bạn nên nó có thể tương tác với các tệp và cài đặt hệ thống của bạn, có khả năng dẫn đến các kết quả không mong muốn như mất dữ liệu hoặc rủi ro bảo mật.
⚠️ Open Interpreter sẽ yêu cầu xác nhận của người dùng trước khi chạy code.
Bạn có thể chạy interpreter -y
hoặc đặt interpreter.auto_run = True
để bỏ qua xác nhận này, trong trường hợp đó:
- Hãy thận trọng khi yêu cầu các lệnh sửa đổi tệp hoặc cài đặt hệ thống.
- Theo dõi Open Interpreter giống như một chiếc ô tô tự lái và sẵn sàng kết thúc quá trình bằng cách đóng terminal của bạn.
- Cân nhắc việc chạy Open Interpreter trong môi trường bị hạn chế như Google Colab hoặc Replit. Những môi trường này biệt lập hơn, giảm thiểu rủi ro khi chạy code tùy ý.
Đây là hỗ trợ thử nghiệm cho chế độ an toàn giúp giảm thiểu rủi ro.
Nó hoạt động thế nào?
Open Interpreter trang bị mô hình ngôn ngữ gọi hàm với một hàm exec()
, chấp nhận một language
(như "Python" hoặc "JavaScript") và code
để chạy.
Sau đó, chúng tôi truyền trực tuyến thông báo, mã của mô hình và kết quả đầu ra của hệ thống của bạn đến terminal dưới dạng Markdown.
Đóng góp
Cảm ơn bạn đã quan tâm đóng góp! Chúng tôi hoan nghênh sự tham gia của cộng đồng.
Vui lòng xem Hướng dẫn đóng góp để biết thêm chi tiết cách tham gia.
Giấy phép
Open Interpreter được cấp phép theo Giấy phép MIT. Bạn được phép sử dụng, sao chép, sửa đổi, phân phối, cấp phép lại và bán các bản sao của phần mềm.
Lưu ý: Phần mềm này không liên kết với OpenAI.
Có quyền truy cập vào một lập trình viên cấp dưới làm việc nhanh chóng trong tầm tay bạn ... có thể khiến quy trình làm việc mới trở nên dễ dàng và hiệu quả, cũng như mở ra những lợi ích của việc lập trình cho người mới.
— Phát hành trình thông dịch mã của OpenAI