OpenAI выпустила официальный CLI для своего API
OpenAI CLI
OpenAI опубликовала официальный командный интерфейс для REST API. Утилита ставится через Homebrew или Go, поддерживает ресурсную структуру команд, автодополнение и работу с файлами и изображениями. По умолчанию JSON-ответы выводятся в читаемом виде, а для скриптов доступны форматы json и jsonl. CLI также умеет проверять обновления и поддерживает mutual TLS.
CLI никогда не устанавливает обновления автоматически.
- nater5000
Для сайта, ориентированного на технических пользователей, кажется, что многие в этой ветке совершенно потерялись от мысли, что один сервис может предлагать несколько программных продуктов, предназначенных для конкретных случаев использования.
codex: агентная обвязка OpenAI. То, с чем вы обычно хотите взаимодействовать, когда хотите, чтобы агент на моделях OpenAI делал что-то на вашей машине. Абстрагирует низкоуровневую функциональность их API, чтобы вам не приходилось о ней беспокоиться.
openai-cli: Простой CLI, предоставляющий низкоуровневые операции с REST API OpenAI. То, что вы бы использовали для создания низкоуровневых скриптов для прямого вызова API completions, администрирования аккаунтов и т.д.
Честно говоря, это очевидно уже из названия. Если вам это не ясно, то это не для вас. Не нужно заводиться из-за того, что OpenAI выпускает программу, где вы не являетесь аудиторией.
- kristopolous
Я около года работаю над чем-то в похожем классе под названием llcat.
Оно родилось из-за отсутствия LLM-нативных unix-дружественных инструментов, работающих как cURL, awk и sed.
Я не смог найти ничего подобного, поэтому написал сам.
Я знал, что хочу ориентир, который является stateless, явным, низкоуровневым и композируемым без модальных настроек.
Например, вместо конфигурационных файлов llcat может индексировать в файлы со встроенным синтаксисом jq и номерами строк. Затем он может сохранять вызовы на потом:
llcat --save invocation.json \
-k "@~/credentials.txt:12" \
-u "@settings.json:.[3].host" \
-s "@system_prompts:8" \
-m "@settings.json:.[3].model" \
"@query.txt:12" > output.txt
и затем
llcat --load invocation.json { ... параметры, которые вы хотите переопределить ... }
Легко отправлять коллегам через чат или хранить вызовы в общей сетевой папке.
Разговоры также являются просто JSON-файлами. Вы можете иметь разные входной и выходной. Это значит, что вы можете делать такие вещи, как
for i in *; do
# использовать неизменяемый разговор
# применить его к группе файлов со стандартными unix-пайпами
cat "$i" | llcat --load settings.json -cr context.json > ../results/"${i}.output"
# или использовать вложения
llcat --load settings.json -a "$i" -cr context.json > ../results/"${i}.output"
# или сохранить весь контекст
llcat --load settings.json -a "$i" -cr context.json -c ../results/"${i}.output" > /dev/null
done
Один из моих любимых паттернов — этот: […]
- isodev
Подождите, разве codex не был "openai cli"?
Их названия продуктов такие запутанные (chat, vs. work ?!).. почти как будто всё это вайбкодили.
- techgnosis
По иронии судьбы, я мог бы заставить Codex сделать это для меня минут за 5. Если есть опубликованный API, CLI всегда в вашей власти.
- mi_lk
Когда мне использовать это вместо Codex? Предполагается, что это будут вызывать другие инструменты/агенты?
- guyuedumingx
Утверждение, что одно название объясняет инструмент, слабое: обёртка CLI всё равно нуждается в одной строке, где сказано, какую проблему она решает и кому стоит её использовать.
- albert_e
Это расходует квоту ежемесячной фиксированной подписки или API-кредиты.
Есть ли у Anthropic что-то подобное.
Я понимаю, что "claude -p" было ненадёжно использовать с квотой подписки, и часто требовались кредиты "extra usage".
- hahahacorn
Представляю, что задумка — обучить с подкреплением (RL) вашу модель решать задачи с помощью ваших собственных инструментов, которые она умеет использовать наиболее эффективно, пока она не начнёт по умолчанию использовать такие сервисы, как управляемые агенты, и т.д.
Честно говоря, удивлён, что этого не было раньше.