Отримайте ранній доступ до десктопної програми | Документація
Нове комп'ютерне оновлення представило --os
та новий Computer API. Читати далі →
pip install open-interpreter
Не працює? Прочитайте наш посібник з налаштування.
interpreter
Open Interpreter дозволяє LLM локально запускати код (Python, Javascript, Shell тощо). Ви можете спілкуватися з Open Interpreter через інтерфейс, схожий на ChatGPT, у вашому терміналі, запустивши $ interpreter
після встановлення.
Це забезпечує інтерфейс природною мовою для загального використання можливостей вашого комп’ютера:
- Створювати та редагувати фотографії, відео, PDF-файли тощо.
- Керувати браузером Chrome для проведення досліджень
- Створювати, очищати та аналізувати великі набори даних
- ...і т.д.
Open.Interpreter.Demo.mp4
pip install open-interpreter
Після встановлення просто запустіть interpreter
:
interpreter
from interpreter import interpreter
interpreter.chat("Plot AAPL and META's normalized stock prices") # Виконує одну команду
interpreter.chat() # Починає інтерактивний чат
Натисніть клавішу ,
на сторінці GitHub цього репозиторію, щоб створити Codespace. Через деякий час ви отримаєте хмарне середовище віртуальної машини, попередньо встановлене з відкритим інтерпретатором. Потім ви можете почати взаємодіяти з ним безпосередньо та вільно підтверджувати виконання ним системних команд, не турбуючись про пошкодження системи.
Випуск OpenAI Code Interpreter з GPT-4 надає фантастичну можливість виконувати реальні завдання за допомогою ChatGPT.
Однак служба OpenAI є хмарною, з закритим вихідним кодом і суворо обмежена:
- Немає доступу до Інтернету.
- Обмежений набір попередньо встановлених пакетів.
- Максимальний розмір завантаження - 100 МБ, обмеження часу виконання - 120,0 секунд.
- Стан очищається (разом із будь-якими згенерованими файлами чи посиланнями), коли середовище зупиняється.
Open Interpreter долає ці обмеження, запускаючись у вашому локальному середовищі. Він має повний доступ до Інтернету, не обмежений часом або розміром файлу, і може використовувати будь-який пакет або бібліотеку.
Це поєднує потужність інтерпретатора коду GPT-4 із гнучкістю вашого локального середовища розробки.
Оновлення: Оновлення Generator (0.1.5) представило потокове передавання:
message = "What operating system are we on?"
for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)
Щоб почати інтерактивний чат у вашому терміналі, запустіть interpreter
з командного рядка:
interpreter
Або interpreter.chat()
з файлу .py:
interpreter.chat()
Ви також можете транслювати кожен фрагмент:
message = "На якій операційній системі ми працюємо?"
for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)
Для більш точного керування ви можете передавати повідомлення безпосередньо до .chat(message)
:
interpreter.chat("Додайте субтитри до всіх відео в /videos.")
# ... Потік виведення на ваш термінал, виконання завдання ...
interpreter.chat("Виглядає чудово, але чи можеш ти збільшити субтитри?")
# ...
В Python, Open Interpreter запам’ятовує історію розмов. Якщо ви хочете почати заново, ви можете скинути її:
interpreter.messages = []
interpreter.chat()
повертає список повідомлень, який можна використовувати для відновлення розмови за допомогою interpreter.messages = messages
:
messages = interpreter.chat("Мене звати Степан.") # Зберегти повідомлення в "messages"
interpreter.messages = [] # Скинути інтерпретатор ("Степан" буде забутий)
interpreter.messages = messages # Відновити чат із "messages" ("Степан" запам’ятається)
Ви можете перевірити та налаштувати системне повідомлення Open Interpreter, щоб розширити його функціональність, змінити дозволи або надати йому більше контексту.
interpreter.system_message += """
Виконуй команди оболонки з -y, щоб користувачеві не потрібно було їх підтверджувати.
"""
print(interpreter.system_message)
Open Interpreter використовує LiteLLM для підключення до розміщених мовних моделей.
Ви можете змінити модель, встановивши параметр моделі:
interpreter --model gpt-3.5-turbo
interpreter --model claude-2
interpreter --model command-nightly
В Pythonб встановити модель на об’єкт:
interpreter.llm.model = "gpt-3.5-turbo"
Знайдіть відповідний рядок «model» для вашої мовної моделі тут.
Open Interpreter може використовувати OpenAI-сумісний сервер для запуску моделей локально. (LM Studio, jan.ai, ollama тощо)
Просто запустіть interpreter
з URL-адресою api_base вашого сервера interference (для LM Studio це http://localhost:1234/v1
за замовчуванням):
interpreter --api_base "http://localhost:1234/v1" --api_key "fake_key"
Крім того, ви можете використовувати Llamafile без встановлення стороннього програмного забезпечення, просто запустивши його
interpreter --local
for a more detailed guide check out this video by Mike Bird
Як запустити LM Studio у фоновому режимі.
- Завантажте https://lmstudio.ai/, після чого запустіть його.
- Виберіть модель і натисніть ↓ Завантажити.
- Натисніть кнопку
↔️ ліворуч (нижче 💬). - Виберіть свою модель угорі, а потім натисніть Запустити сервер.
Коли сервер запущено, ви можете почати розмову за допомогою Open Interpreter.
Примітка. Локальний режим встановлює ваше
context_window
на 3000, аmax_tokens
на 1000. Якщо ваша модель має інші вимоги, установіть ці параметри вручну (див. нижче).
Наш пакет Python дає вам більше контролю над кожним параметром. Для реплікації та підключення до LM Studio використовуйте ці налаштування:
from interpreter import interpreter
interpreter.offline = True # Вимикає такі онлайн-функції, як Open Procedures
interpreter.llm.model = "openai/x" # Каже AI надсилати повідомлення у форматі OpenAI
interpreter.llm.api_key = "fake_key" # LiteLLM, який ми використовуємо для спілкування з LM Studio, вимагає api-ключ
interpreter.llm.api_base = "http://localhost:1234/v1" # Познчате це на будь-якому сервері, сумісному з OpenAI
interpreter.chat()
Ви можете змінити max_tokens
і context_window
(у токенах) локально запущених моделей.
У локальному режимі менші контекстні вікна використовуватимуть менше оперативної пам’яті, тому ми рекомендуємо спробувати набагато коротше вікно (~1000), якщо воно не вдається або працює повільно. Переконайтеся, що max_tokens
менший за context_window
.
interpreter --local --max_tokens 1000 --context_window 3000
Щоб допомогти вам перевірити Open Interpreter, у нас є режим --verbose
для налагодження.
Ви можете активувати режим "verbose", використовуючи його прапорець (interpreter --verbose
) або в середині чату:
$ interpreter
...
> %verbose true <- Вмикає режим verbose
> %verbose false <- Вимикає режим verbose
В інтерактивному режимі ви можете використовувати наведені нижче команди, щоб покращити свій досвід. Ось список доступних команд: Доступні команди:
%verbose [true/false]
: увімкнути режим verbose. Без аргументів або зtrue
. переходить у багатослівний режим. Зfalse
він виходить із багатослівного режиму.%reset
: скидає розмову поточного сеансу.% undo
: видаляє попереднє повідомлення користувача та відповідь ШІ з історії повідомлень.%tokens [prompt]
: (Експериментально) Розрахувати токени, які будуть надіслані з наступним запитом як контекст, і оцінити їх вартість. Додатково обчисліть токени та приблизну вартість «підказки», якщо вона надається. Покладається на методcost_per_token()
LiteLLM для оцінки витрат.%help
: Показати повідомлення довідки.
Open Interpreter дозволяє встановлювати поведінку за замовчуванням за допомогою файлів yaml
.
Це забезпечує гнучкий спосіб налаштування інтерпретатора, не змінюючи щоразу аргументи командного рядка.
Виконайте цю команду, щоб відкрити каталог профілів:
interpreter --profiles
Ви можете додати файли yaml
. Профіль за замовчуванням має назву default.yaml
.
Open Interpreter підтримує декілька файлів yaml
, що дозволяє легко перемикатися між конфігураціями:
interpreter --profile my_profile.yaml
Оновлення генератора дозволяє керувати Open Interpreter через кінцеві точки 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
Ви також можете запустити сервер, ідентичний наведеному вище, просто запустивши interpreter.server()
.
Покроковий посібник із встановлення Open Interpreter на вашому пристрої Android можна знайти в репозиторії open-interpreter-termux.
Оскільки згенерований код виконується у вашому локальному середовищі, він може взаємодіяти з вашими файлами та налаштуваннями системи, потенційно призводячи до неочікуваних результатів, як-от втрати даних або ризиків для безпеки.
Ви можете запустити interpreter -y
або встановити interpreter.auto_run = True
, щоб обійти це підтвердження, у такому випадку:
- Будьте обережні, запитуючи команди, які змінюють файли або налаштування системи.
- Дивіться на Open Interpreter як на самокерований автомобіль і будьте готові завершити процес, закривши термінал.
- Спробуйте запустити Open Interpreter у обмеженому середовищі, наприклад Google Colab або Replit. Ці середовища більш ізольовані, що зменшує ризики виконання довільного коду.
Існує експериментальна підтримка безпечного режиму, щоб зменшити деякі ризики.
Open Interpreter оснащує модель мови виклику функцій функцією exec()
, яка приймає мову
(як "Python" або "JavaScript") і code
для запуску.
Потім ми передаємо повідомлення моделі, код і результати вашої системи на термінал як Markdown.
Повна документація доступна в дорозі без підключення до Інтернету.
Node є необхідною умовою:
- Версія 18.17.0 або будь-яка пізніша версія 18.x.x.
- Версія 20.3.0 або будь-яка пізніша версія 20.x.x.
- Будь-яка версія, починаючи з 21.0.0 і далі, без вказівки верхньої межі.
Встановіть Mintlify:
npm i -g mintlify@latest
Перейдіть у каталог документів і виконайте відповідну команду:
# Якщо ви перебуваєте в кореневому каталозі проекту
cd ./docs
# Запустіть сервер документації
mintlify dev
Має відкритися нове вікно браузера. Документація буде доступна за адресою http://localhost:3000, поки працює сервер документації.
Дякуємо за ваш інтерес до участі! Ми вітаємо участь спільноти.
Щоб дізнатися більше про те, як взяти участь, ознайомтеся з нашими інструкціями щодо створення внеску.
Відвідайте нашу дорожню карту, щоб переглянути майбутнє Open Interpreter.
Примітка: це програмне забезпечення не пов’язане з OpenAI.
Маючи доступ до джуніора, який працює зі швидкістю ваших пальців ... ви можете зробити нові робочі процеси легкими та ефективними, а також відкрити переваги програмування новій аудиторії.
— OpenAI's Code Interpreter Release