Перейти к основному содержанию
Anthropic Claude — это очень мощная система AI-диалогов, которая может генерировать плавные и естественные ответы всего за несколько секунд, просто вводя подсказки. Claude выделяется в отрасли благодаря своим выдающимся способностям к пониманию и генерации языка, и в настоящее время он широко используется в различных отраслях и сферах, его влияние становится все более значительным. Независимо от того, идет ли речь о повседневных беседах, креативном письме или профессиональных консультациях и программировании, Claude может предоставить удивительную интеллектуальную помощь, значительно повышая эффективность и креативность человеческой работы. Этот документ в основном описывает процесс использования API завершения чата Claude, с помощью которого мы можем легко использовать официальные функции диалога Claude.

Процесс запроса

Чтобы использовать API завершения чата Claude, сначала можно перейти на страницу API завершения чата Claude и нажать кнопку «Acquire», чтобы получить необходимые для запроса учетные данные: Если вы еще не вошли в систему или не зарегистрированы, вас автоматически перенаправят на страницу входа, пригласив зарегистрироваться и войти в систему, после чего вы автоматически вернетесь на текущую страницу. При первом запросе будет предоставлен бесплатный лимит, который можно использовать для бесплатного доступа к этому API.

Основное использование

Далее вы можете заполнить соответствующие поля на интерфейсе, как показано на изображении:

При первом использовании этого интерфейса нам необходимо заполнить как минимум три поля: одно из них — это authorization, которое можно выбрать прямо из выпадающего списка. Другой параметр — это model, model — это категория модели, которую мы выбираем для использования с сайта Claude, здесь у нас в основном есть 20 моделей, подробности можно посмотреть в предоставленных моделях. Последний параметр — это messages, messages — это массив наших вопросов, который представляет собой массив, позволяющий одновременно загружать несколько вопросов, каждый из которых содержит role и content, где role обозначает роль задающего вопрос, мы предоставили три роли: user, assistant, system. Другой content — это конкретное содержание нашего вопроса. Также вы можете заметить, что справа есть соответствующий сгенерированный код вызова, вы можете скопировать код и запустить его, или просто нажать кнопку «Try» для тестирования. Распространенные необязательные параметры:
  • max_tokens: ограничивает максимальное количество токенов в одном ответе.
  • temperature: генерирует случайность, от 0 до 2, чем больше значение, тем более разнообразным будет ответ.
  • n: сколько вариантов ответов генерировать за раз.
  • response_format: настройки формата ответа.

После вызова мы обнаруживаем, что возвращаемый результат выглядит следующим образом:
{
  "id": "msg_bdrk_01Q6WN27v95ypCa1kbanAQ6K",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619365,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 12,
    "total_tokens": 20,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Возвращаемый результат содержит несколько полей, описание которых приведено ниже:
  • id — ID задачи диалога, созданной для уникальной идентификации этой задачи.
  • model — выбранная модель с сайта Claude.
  • choices — информация о ответах Claude на вопросы.
  • usage: статистическая информация о токенах для данного вопроса и ответа.
Где choices содержит информацию о ответах Claude, внутри которой choices — это конкретная информация о ответах Claude, как показано на изображении.

Можно увидеть, что поле content внутри choices содержит конкретное содержание ответа Claude.

Потоковый ответ

Этот интерфейс также поддерживает потоковые ответы, что очень полезно для веб-интеграции, позволяя веб-странице реализовать эффект отображения по буквам. Если вы хотите получить потоковый ответ, вы можете изменить параметр stream в заголовке запроса на true. Изменение показано на изображении, однако код вызова должен быть соответствующим образом изменен, чтобы поддерживать потоковые ответы.

После изменения stream на true, API будет возвращать соответствующие JSON-данные построчно, и на уровне кода нам нужно внести соответствующие изменения, чтобы получить построчные результаты. Пример кода вызова на Python:
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Hello"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Вывод будет следующим:
data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": ""}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "Привет!"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " Как я могу помочь вам"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " сегодня?"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 12, "total_tokens": 20, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
Можно увидеть, что в ответе много data, data внутри choices является последним ответом, что соответствует описанному выше содержимому. choices - это новая информация о ответе, которую вы можете интегрировать в вашу систему. Также окончание потокового ответа определяется по содержимому data, если содержимое равно [DONE], это означает, что потоковый ответ завершен. Возвращаемый результат data содержит несколько полей, описание которых приведено ниже:
  • id - уникальный идентификатор для этой задачи диалога.
  • model - выбранная модель с сайта Claude.
  • choices - информация о ответах, предоставленных Claude на заданные вопросы.
JavaScript также поддерживается, например, код для потокового вызова Node.js выглядит следующим образом:
const options = {
  method: "post",
  headers: {
    accept: "application/json",
    authorization: "Bearer {token}",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    model: "claude-opus-4-20250514",
    messages: [{ role: "user", content: "Привет" }],
    stream: true,
  }),
};

fetch("https://api.acedata.cloud/v1/chat/completions", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));
Пример кода на Java:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "claude-opus-4-20250514");
jsonObject.put("messages", [{"role":"user","content":"Привет"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/v1/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
Другие языки можно переписать самостоятельно, принцип остается тем же.

Многоуровневый диалог

Если вы хотите интегрировать функцию многоуровневого диалога, вам нужно загрузить несколько вопросов в поле messages, конкретные примеры нескольких вопросов приведены на изображении ниже:

Пример кода на Python:
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Привет"},{"role":"assistant","content":"Привет! Как я могу помочь вам сегодня?"},{"role":"user","content":"Что я только что сказал?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Загрузив несколько вопросов, вы можете легко реализовать многоуровневый диалог и получить следующий ответ:
{
  "id": "msg_bdrk_01Y1wfQmd89g968TVbFu57Yc",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619674,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Вы сказали \"Привет\" - это было ваше первое сообщение мне в нашем разговоре."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 29,
    "completion_tokens": 20,
    "total_tokens": 49,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Можно увидеть, что choices содержит информацию, которая соответствует основному использованию, это включает в себя конкретное содержание ответов Claude на несколько диалогов, что позволяет отвечать на соответствующие вопросы на основе нескольких диалогов.

Глубокое мышление модели

Модели claude-opus-4-20250514-thinking и claude-sonnet-4-20250514-thinking отличаются от других моделей тем, что они могут глубоко размышлять в ответ на вопросы и возвращать результаты процесса размышления, в этой статье будет представлен конкретный пример, чтобы продемонстрировать функцию глубокого мышления, далее можно будет заполнить соответствующее содержание в интерфейсе Claude Chat Completion API, как показано на изображении:

Также вы можете заметить, что справа есть соответствующий код вызова, вы можете скопировать код и запустить его, или просто нажать кнопку «Попробовать» для тестирования.

После вызова мы обнаружили, что возвращаемый результат выглядит следующим образом:
{
  "id": "msg_018J4YaRoGHtbsTVb4Vvz7oH",
  "object": "chat.completion",
  "created": 1755444014,
  "model": "claude-sonnet-4-20250514-thinking",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Синус 30 градусов равен **1/2** или **0.5**.\n\nЭто одно из основных тригонометрических значений. В треугольнике 30-60-90 стороны находятся в соотношении 1:√3:2, где сторона, противоположная углу 30°, имеет длину 1, а гипотенуза имеет длину 2, что дает нам sin(30°) = 1/2.",
        "reasoning_content": "Пользователь спрашивает о синусе 30 градусов. Это базовый вопрос по тригонометрии.\n\nСинус 30 градусов - это известное значение. В треугольнике 30-60-90 стороны находятся в соотношении 1:√3:2.\n\nДля угла 30°:\n- Противоположная сторона равна 1\n- Гипотенуза равна 2\n- Таким образом, sin(30°) = противоположная/гипотенуза = 1/2 = 0.5\n\nЭто одно из стандартных тригонометрических значений, которые обычно запоминаются."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 60,
    "completion_tokens": 239,
    "total_tokens": 299,
    "prompt_tokens_details": {
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
Можно увидеть, что информация об ответах в choices получена в результате глубокого размышления, и также предоставлен соответствующий процесс размышления, где в content reasoning_content обозначает процесс размышления модели. Информация об ответах в choices должна быть отформатирована с использованием синтаксиса markdown, чтобы получить наилучший опыт, в конечном итоге это также подчеркивает мощные преимущества сетевых функций нашей модели.

Визуальная модель

claude-sonnet-4-20250514 - это многомодальная большая языковая модель, разработанная Claude, которая на основе claude-4 добавила возможности визуального понимания. Эта модель может одновременно обрабатывать текстовые и графические входные данные, реализуя кросс-модальное понимание и генерацию. Обработка текста с использованием модели claude-sonnet-4-20250514 соответствует основному использованию, описанному выше, ниже будет кратко представлено, как использовать возможности обработки изображений модели. Использование возможностей обработки изображений модели claude-sonnet-4-20250514 осуществляется путем добавления поля type к исходному содержимому content, с помощью которого можно определить, загружен текст или изображение, чтобы использовать возможности обработки изображений модели claude-sonnet-4-20250514, ниже будет описано, как вызвать эту функцию с помощью Curl и Python.
  • Способ с использованием Curl
curl -X POST 'https://api.acedata.cloud/v1/chat/completions' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
    "model": "claude-sonnet-4-20250514",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Что на этом изображении?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://cdn.acedata.cloud/ueugot.png"
            }
          }
        ]
      }
    ]
  }'
  • Способ с использованием Python
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-sonnet-4-20250514",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text", "text": "Что на этом изображении?"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://cdn.acedata.cloud/ueugot.png"
                    }
                },
            ],
        }
    ]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Затем можно получить следующий результат, информация о полях в результате соответствует вышеупомянутой, конкретно она выглядит следующим образом:
{
  "id": "msg_bdrk_01NCrxpZmV17bhQJJRQEFEb9",
  "model": "claude-sonnet-4-20250514",
  "object": "chat.completion",
  "created": 1768628904,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Это изображение показывает интерфейс конфигурации API-запроса для того, что, похоже, является службой завершения чата AI. Вот ключевые элементы:\n\n**Параметры тела запроса:**\n\n1. **model** (обязательная строка) - Установлено на \"claude-opus-4-202505...\" - указывает, какую модель AI использовать\n\n2. **messages** (обязательный массив) - Содержит историю разговора с:\n   - **role** (обязательная строка) - Установлено на \"user\" \n   - **content** (обязательная строка) - Содержит \"Hello\" как содержание сообщения\n\n3. **stream** (логическое) - Установлено на \"true\" - включает частичные изменения сообщений, как в ChatGPT\n\n4. **max_tokens** (число) - Поле для установки максимального количества токенов, которые могут быть сгенерированы в ответе\n\n5. **n** (число) - Указывает, сколько вариантов завершения чата нужно сгенерировать для каждого ввода\n\nИнтерфейс имеет темную тему с белым текстом на черном/темно-сером фоне. В правом нижнем углу есть кнопка \"Заполнить пример\" и различные выпадающие меню и поля ввода для настройки параметров запроса API. Видна красная иконка мусорной корзины/удаления, вероятно, для удаления записей сообщений."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1570,
    "completion_tokens": 252,
    "total_tokens": 1822,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Можно увидеть, что содержание ответов основано на изображениях, поэтому с помощью вышеуказанных двух способов можно легко использовать текстовые и графические возможности модели claude-3-7-sonnet-20250219.

Обработка ошибок

При вызове API, если возникает ошибка, API возвращает соответствующий код ошибки и информацию. Например:
  • 400 token_mismatched:Неверный запрос, возможно, из-за отсутствующих или недействительных параметров.
  • 400 api_not_implemented:Неверный запрос, возможно, из-за отсутствующих или недействительных параметров.
  • 401 invalid_token:Неавторизован, недействительный или отсутствующий токен авторизации.
  • 429 too_many_requests:Слишком много запросов, вы превысили лимит частоты.
  • 500 api_error:Внутренняя ошибка сервера, что-то пошло не так на сервере.

Пример ответа об ошибке

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Заключение

С помощью этого документа вы узнали, как легко реализовать функции диалога официального Claude с использованием API Claude Chat Completion. Надеемся, что этот документ поможет вам лучше интегрировать и использовать данный API. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.