Генератор запросов cURL, совместимых с OpenAI
Создавайте команды cURL для API-эндпоинтов, совместимых с OpenAI. Настраивайте базовый URL, эндпоинт, модель, промпт, температуру и другие параметры для запросов чата, генерации текста и эмбеддингов.
Ввод
Вывод
Документация
Что такое API, совместимый с OpenAI?
Многие провайдеры LLM и серверы инференса с самостоятельным размещением — сам OpenAI, Azure OpenAI, Groq, OpenRouter, Together AI, Mistral, DeepSeek, vLLM, сервер llama.cpp, LM Studio и режим Ollama, совместимый с OpenAI, — предоставляют один и тот же REST-интерфейс, популяризированный OpenAI: запросы JSON к конечным точкам вроде /v1/chat/completions, аутентифицированные с помощью токена Bearer в заголовке Authorization. Это позволяет менять провайдеров без переписывания кода интеграции.
Ручное написание корректной команды cURL для этих конечных точек означает необходимость точно указать URL, заголовки и тело JSON, особенно при настройке параметров сэмплирования, таких как temperature и штрафы, или при переключении между запросами чата, устаревших completions и embeddings.
Описание инструмента
Этот инструмент генерирует готовые к использованию команды cURL для любого API, совместимого с OpenAI. Укажите базовый URL, конечную точку, модель и параметры — и мгновенно получите правильно отформатированную команду cURL, готовую для вставки в терминал или скрипты.
Примеры
Завершение чата:
curl -X POST "https://api.openai.com/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{ "role": "system", "content": "Вы — полезный помощник по программированию." },
{ "role": "user", "content": "Напишите функцию на Python для обращения строки" }
],
"temperature": 0.3,
"stream": false
}'Сервер с самостоятельным размещением (vLLM, llama.cpp, LM Studio, ...):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "llama-3-8b-instruct",
"messages": [
{ "role": "user", "content": "Кратко изложите сюжет «Гамлета» в двух предложениях" }
],
"stream": true
}'Векторные представления:
curl -X POST "https://api.openai.com/v1/embeddings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "text-embedding-3-small",
"input": "Быстрая коричневая лиса перепрыгивает через ленивую собаку"
}'Возможности
- Поддерживает три наиболее распространённые конечные точки, совместимые с OpenAI:
/chat/completions,/completionsи/embeddings - Работает с любым совместимым базовым URL, поэтому подходит для OpenAI, Azure, Groq, OpenRouter, Together AI и серверов с самостоятельным размещением
- Настраиваемые параметры сэмплирования: temperature, top-p, frequency penalty, presence penalty, максимальное количество токенов, количество вариантов завершения, последовательности остановки и seed
- Необязательный формат ответа в виде объекта JSON для завершения чата
- Ничего никуда не отправляется: команда cURL полностью создаётся в вашем браузере, и ключ API никогда не покидает ваше устройство
Объяснение параметров
| Параметр | Описание | По умолчанию | Диапазон |
|---|---|---|---|
| Базовый URL | Корневой URL API без пути конечной точки. | https://api.openai.com/v1 |
Любой URL |
| Конечная точка | Конечная точка API, к которой следует обратиться. | /chat/completions |
chat, completions, embeddings |
| Temperature | Управляет случайностью вывода. Меньшие значения создают более сфокусированный текст, а большие повышают креативность. | 1 | 0-2 |
| Top P | Порог nucleus-сэмплирования. Модель учитывает токены, совокупная вероятность которых достигает этого значения. | 1 | 0-1 |
| Штраф за частотность | Накладывает штраф на токены в зависимости от того, как часто они уже встречались, уменьшая дословные повторы. | 0 | -2-2 |
| Штраф за присутствие | Накладывает штраф на токены, которые уже встречались хотя бы один раз, побуждая модель вводить новые темы. | 0 | -2-2 |
| Максимум токенов | Максимальное количество токенов, генерируемых в ответе. Оставьте поле пустым, чтобы не указывать параметр и использовать значение провайдера по умолчанию. | - | Любое целое число |
| Завершения (n) | Количество вариантов ответа чата или завершения для входных данных. | 1 | Любое целое число |
| Seed | Фиксированный seed для максимально воспроизводимого результата. Оставьте поле пустым для случайных результатов. | - | Любое целое число |
| Последовательности остановки | Список последовательностей, разделённых запятыми, при обнаружении которых API прекращает генерировать последующие токены. | - | Любой текст |
| Формат ответа | Выберите объект JSON, чтобы принудительно получать от модели корректный вывод JSON (только для конечной точки чата). | Нет | Нет / объект JSON |
| Потоковая передача | При включении ответ передаётся в виде событий, отправляемых сервером. Отключите параметр, чтобы получить весь ответ сразу. | Выкл. | Вкл. / Выкл. |