Skip to content

Claude в формате, совместимом с OpenAI

Fast-Token поддерживает вызов моделей Anthropic Claude через протокол OpenAI API. Если у вас уже есть приложения на OpenAI SDK или /v1/chat/completions, обычно достаточно изменить base_url и model, чтобы подключить Claude, без переписывания на нативный API Anthropic Messages.

На этой странице — руководство по использованию. Тела запросов, поля ответов и онлайн-отладка каждого интерфейса — в документации ChatGPT и по ссылкам в таблице возможностей ниже.

Два способа подключения

СравнениеФормат, совместимый с OpenAI (эта страница)Нативный API Claude (другие документы в этой папке)
Типичный путьPOST /v1/chat/completionsPOST /v1/messages
Тело запросаПоля OpenAI: messages, model, stream и т.д.Поля Anthropic: messages, system, thinking и т.д.
Когда использоватьСуществующие клиенты OpenAI, единый шлюз для нескольких моделей, быстрая миграцияУникальные возможности Claude (бюджет расширенного мышления, Tool Use, PDF, веб-поиск и т.д.)
ДокументацияЭта страница + раздел ЧатСтраницы API в группе Чат этой папки

Оба способа используют один API Key и адрес шлюза. Тарификация — по соответствующей модели в маркетплейсе моделей.

Настройка подключения

Шлюз и аутентификация

OpenAI SDK (рекомендуется)

Укажите base_url официального SDK на Fast-Token; остальное как у OpenAI:

python
from openai import OpenAI

client = OpenAI(
    base_url="https://fast-token.com/v1",
    api_key="<Fast-Token_API_KEY>",
)

completion = client.chat.completions.create(
    model="claude-sonnet-4-20250514",  # по маркетплейсу моделей
    messages=[
        {"role": "user", "content": "用一句话介绍你自己"},
    ],
)
print(completion.choices[0].message.content)
javascript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://fast-token.com/v1",
  apiKey: "<Fast-Token_API_KEY>",
});

const completion = await client.chat.completions.create({
  model: "claude-sonnet-4-20250514",
  messages: [{ role: "user", content: "用一句话介绍你自己" }],
});
console.log(completion.choices[0].message.content);

Для потокового диалога установите stream: true. См. Создать завершение чата (потоковое).

Обзор возможностей chat-совместимого формата

Все перечисленные возможности доступны через путь, совместимый с OpenAI. В консоли или Apifox они часто относятся к «chat-совместимому формату». На практике чаще всего один POST /v1/chat/completions, сценарии различаются моделью, потоковой передачей и структурой сообщений.

ВозможностьОписаниеСсылка
Создать чат с мышлениемДиалог с процессом «мышления» моделиПотоковое (extra_body.enable_thinking)
Создать завершение чата (потоковое)Стандартный многоходовый текст, SSEСоздать завершение чата (потоковое)
Создать завершение чата (непотоковое)Стандартный многоходовый текст, один ответСоздать завершение чата (непотоковое)
Создать чат с распознаванием изображений (потоковое)Загрузка изображений для понимания и вопросовСоздать чат с распознаванием изображений (потоковое)
Создать чат с распознаванием изображений (непотоковое)Распознавание, полный непотоковый ответСоздать чат с распознаванием изображений (непотоковое)

Выбор модели

ID модели для каждого сценария — в маркетплейсе моделей. Пробуйте модели Claude с claude в названии и поддержкой нужного сценария. При ошибке «модель не найдена» или неподдерживаемой возможности выберите другую запись Claude для того же сценария.

Заметки по сценариям

Стандартный чат (потоковый / непотоковый)

Роль system

В формате OpenAI системный промпт — в messages с role: "system". В нативном API Claude часто используется поле system верхнего уровня; см. Создать завершение чата (потоковое).

Режим мышления

Часть моделей Claude с мышлением включает вывод мышления в потоковых запросах через расширение:

json
{
  "model": "claude-sonnet-4-20250514",
  "messages": [{ "role": "user", "content": "逐步推导:为什么天空是蓝色的?" }],
  "stream": true,
  "extra_body": {
    "enable_thinking": true
  }
}
  • Отображение мышления в совместимом формате зависит от шлюза и модели; выберите Claude с поддержкой «мышления» в маркетплейсе
  • Для точного контроля бюджета токенов мышления (thinking.budget_tokens) и разделения блоков мышления и ответа используйте нативный Создание чата с расширенным мышлением (POST /v1/messages)

Распознавание изображений

В content сообщения userмультимодальный массив: text + image_url (URL или Base64).

json
{
  "model": "claude-sonnet-4-20250514",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "描述这张图片中的主要内容" },
        {
          "type": "image_url",
          "image_url": { "url": "https://example.com/photo.jpg" }
        }
      ]
    }
  ],
  "stream": true
}

Выбор совместимого OpenAI и нативного API Claude

Ваша задачаРекомендация
Быстрое подключение, OpenAI SDK / существующий кодФормат, совместимый с OpenAI (эта страница)
Расширенное мышление, budget_tokens, SSE блоков мышленияНативный APIСоздание чата с расширенным мышлением
Tool Use / вызов функцийНативный APIСоздание вызова функций (потоковый режим)
Структурированный вывод (JSON Schema)Нативный APIСоздание структурированного вывода
PDF, веб-поискНативный APIПоддержка PDF, Веб-поиск
Только чат + изображения + мышление с клиентом OpenAIДостаточно формата, совместимого с OpenAI

Частые вопросы

В: Почему не совпадает с официальной документацией OpenAI?
О: Совместимый слой выравнивает запросы/ответы с OpenAI, внутри работает Claude. Часть параметров только OpenAI может игнорироваться — ориентируйтесь на поддержку модели.

В: Что указывать в model?
О: Полный ID модели из маркетплейса (обычно с claude). Не используйте сокращения и устаревшие имена.

В: Можно ли официальный Python SDK Anthropic?
О: Он по умолчанию на POST /v1/messages. Для него — нативный API в этой папке; OpenAI SDK — для формата на этой странице.

В: Формат потокового ответа?
О: SSE, строки data: {...} и data: [DONE] в конце, как у OpenAI. См. Объект чанка завершения чата.

В: Полная структура JSON ответа?
О: Объект завершения чата. Для нативного Messages API — Объект завершения чата (формат Anthropic).

Дополнительно