Перейти до основного вмісту
Anthropic Claude — це дуже потужна AI система діалогу, яка може генерувати плавні та природні відповіді всього за кілька секунд, просто ввівши підказку. Claude вирізняється своєю видатною здатністю до розуміння та генерації мови, і сьогодні його широко використовують у різних галузях та сферах, його вплив стає все більш помітним. Незалежно від того, чи це повсякденні розмови, креативне письмо, чи професійні консультації, чи програмування коду, Claude може надати вражаючу інтелектуальну допомогу, значно підвищуючи продуктивність та креативність людей. Цей документ в основному описує процес використання Claude Chat Completion API, за допомогою якого ми можемо легко використовувати офіційні функції діалогу Claude.

Процес заявки

Щоб використовувати Claude Chat Completion API, спочатку можна перейти на сторінку Claude Chat Completion API та натиснути кнопку «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** (обов'язковий рядок) - Містить \"Привіт\" як зміст повідомлення\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 Chat Completion API для легкого реалізації діалогових функцій офіційного Claude. Сподіваємося, що цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої команди технічної підтримки.