Przejdź do głównej treści
Anthropic Claude to bardzo potężny system AI do rozmów, który po wprowadzeniu podpowiedzi potrafi w ciągu kilku sekund wygenerować płynne i naturalne odpowiedzi. Claude wyróżnia się w branży dzięki swoim doskonałym zdolnościom rozumienia i generowania języka, a obecnie jest szeroko stosowany w różnych branżach i dziedzinach, a jego wpływ staje się coraz bardziej znaczący. Niezależnie od tego, czy chodzi o codzienne rozmowy, kreatywne pisanie, czy profesjonalne doradztwo i programowanie, Claude może zapewnić zdumiewającą inteligentną pomoc, znacznie zwiększając wydajność i kreatywność ludzi. Dokument ten głównie opisuje proces korzystania z API Claude Chat Completion, dzięki któremu możemy łatwo korzystać z oficjalnych funkcji rozmowy Claude.

申请流程

Aby korzystać z API Claude Chat Completion, najpierw można przejść na stronę Claude Chat Completion API i kliknąć przycisk „Acquire”, aby uzyskać potrzebne poświadczenia: Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zalogowaniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę. Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.

基本使用

Następnie możesz wypełnić odpowiednie treści na interfejsie, jak pokazano na obrazku:

Podczas pierwszego korzystania z tego interfejsu musimy wypełnić co najmniej trzy pola: jedno to authorization, które można wybrać bezpośrednio z rozwijanej listy. Kolejnym parametrem jest model, który oznacza wybór modelu z oficjalnej strony Claude, mamy tutaj głównie 20 modeli, szczegóły można zobaczyć w dostarczonych modelach. Ostatnim parametrem jest messages, messages to tablica naszych pytań, która jest tablicą, co oznacza, że można przesłać wiele pytań jednocześnie, każde pytanie zawiera role i content, gdzie role oznacza rolę pytającego, oferujemy trzy tożsamości: user, assistant, system. Drugim content jest konkretna treść naszego pytania. Możesz również zauważyć, że po prawej stronie znajduje się odpowiedni kod do wywołania, który możesz skopiować i uruchomić, lub możesz bezpośrednio kliknąć przycisk „Try”, aby przetestować. Często używane opcjonalne parametry:
  • max_tokens: ogranicza maksymalną liczbę tokenów w jednej odpowiedzi.
  • temperature: generuje losowość, w zakresie od 0 do 2, im wyższa wartość, tym bardziej rozproszone.
  • n: ile kandydatów odpowiedzi generować jednocześnie.
  • response_format: ustawienia formatu odpowiedzi.

Po wywołaniu zauważamy, że wynik zwrotny wygląda następująco:
{
  "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
  }
}
Wynik zwrotny zawiera wiele pól, które są opisane poniżej:
  • id, identyfikator generowanego zadania rozmowy, używany do unikalnej identyfikacji tego zadania rozmowy.
  • model, wybrany model z oficjalnej strony Claude.
  • choices, informacje o odpowiedziach udzielonych przez Claude na pytania.
  • usage: statystyki dotyczące tokenów dla tej sesji pytań i odpowiedzi.
Wśród nich choices zawiera informacje o odpowiedziach Claude, a w nim choices to konkretne informacje o odpowiedzi Claude, co można zobaczyć na obrazku.

Można zauważyć, że pole content w choices zawiera konkretną treść odpowiedzi Claude.

流式响应

Ten interfejs obsługuje również odpowiedzi strumieniowe, co jest bardzo przydatne w integracji z stronami internetowymi, umożliwiając wyświetlanie efektu literowego. Aby uzyskać odpowiedź strumieniową, można zmienić parametr stream w nagłówku żądania na true. Zmiana jak pokazano na obrazku, jednak kod wywołania musi być odpowiednio zmieniony, aby obsługiwał odpowiedzi strumieniowe.

Po zmianie stream na true, API będzie zwracać odpowiednie dane JSON w wierszach, a na poziomie kodu musimy wprowadzić odpowiednie zmiany, aby uzyskać wyniki w wierszach. Przykładowy kod wywołania w Pythonie:
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)
Efekt wyjściowy wygląda następująco:
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": "Cześć!"}, "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": " Jak mogę ci pomóc"}, "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": " dzisiaj?"}, "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]
Można zauważyć, że odpowiedź zawiera wiele data, a data wewnątrz choices to najnowsza treść odpowiedzi, zgodna z opisanymi wcześniej treściami. choices to nowa treść odpowiedzi, którą można zintegrować z systemem. Zakończenie strumieniowej odpowiedzi można ocenić na podstawie zawartości data; jeśli zawartość to [DONE], oznacza to, że strumieniowa odpowiedź została zakończona. Zwracane wyniki data mają wiele pól, które są opisane poniżej:
  • id, identyfikator generowanego zadania rozmowy, używany do unikalnej identyfikacji tego zadania.
  • model, wybrany model z oficjalnej strony Claude.
  • choices, informacje o odpowiedziach udzielonych przez Claude na podstawie zapytań.
JavaScript również jest obsługiwany, na przykład kod do strumieniowego wywołania w Node.js wygląda następująco:
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: "Cześć" }],
    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));
Przykładowy kod w Javie:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "claude-opus-4-20250514");
jsonObject.put("messages", [{"role":"user","content":"Cześć"}]);
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())
Inne języki można dostosować samodzielnie, zasada jest taka sama.

Wieloetapowa rozmowa

Jeśli chcesz zintegrować funkcję wieloetapowej rozmowy, musisz przesłać wiele zapytań w polu messages, a konkretne przykłady wielu zapytań są pokazane na poniższym obrazku:

Przykładowy kod wywołania w Pythonie:
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":"Cześć"},{"role":"assistant","content":"Cześć! Jak mogę ci pomóc dzisiaj?"},{"role":"user","content":"Co powiedziałem przed chwilą?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Przesyłając wiele zapytań, można łatwo zrealizować wieloetapową rozmowę, uzyskując następującą odpowiedź:
{
  "id": "msg_bdrk_01Y1wfQmd89g968TVbFu57Yc",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619674,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Powiedziałeś \"Cześć\" - to była twoja pierwsza wiadomość do mnie w naszej rozmowie."
      },
      "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
  }
}
Można zauważyć, że choices zawiera informacje zgodne z podstawowym użyciem, które obejmuje konkretne treści odpowiedzi Claude na wiele rozmów, co pozwala na odpowiadanie na odpowiednie pytania na podstawie treści wielu rozmów.

Głęboki model myślenia

Modele claude-opus-4-20250514-thinking i claude-sonnet-4-20250514-thinking różnią się od innych modeli, ponieważ mogą prowadzić głębokie myślenie w odpowiedzi na pytania i zwracać wyniki procesu myślenia. W artykule tym zaprezentujemy funkcję głębokiego myślenia na konkretnym przykładzie, a następnie można wypełnić odpowiednie treści w interfejsie API Claude Chat Completion, jak pokazano na obrazku:

Jednocześnie można zauważyć, że po prawej stronie znajduje się odpowiedni kod wywołania, który można skopiować i uruchomić, lub można bezpośrednio kliknąć przycisk „Try”, aby przetestować.

Po wywołaniu odkrywamy, że zwrócone wyniki są następujące:
{
  "id": "msg_018J4YaRoGHtbsTVb4Vvz7oH",
  "object": "chat.completion",
  "created": 1755444014,
  "model": "claude-sonnet-4-20250514-thinking",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Sinus 30 stopni to **1/2** lub **0.5**.\n\nTo jedna z podstawowych wartości trygonometrycznych. W trójkącie 30-60-90 boki są w proporcji 1:√3:2, gdzie bok naprzeciwko kąta 30° ma długość 1, a przeciwprostokątna ma długość 2, co daje nam sin(30°) = 1/2.",
        "reasoning_content": "Użytkownik pyta o sinus 30 stopni. To podstawowe pytanie z trygonometrii.\n\nSinus 30 stopni to znana wartość. W trójkącie 30-60-90 boki są w proporcji 1:√3:2.\n\nDla kąta 30°:\n- Bok naprzeciwko wynosi 1\n- Przeciwprostokątna wynosi 2\n- Zatem sin(30°) = naprzeciw/przeciwprostokątna = 1/2 = 0.5\n\nTo jedna z standardowych wartości trygonometrycznych, które są powszechnie zapamiętywane."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 60,
    "completion_tokens": 239,
    "total_tokens": 299,
    "prompt_tokens_details": {
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
Można zauważyć, że odpowiedzi w choices są wynikiem głębokiego myślenia, a także zawierają odpowiednie treści procesu myślenia, gdzie w content reasoning_content oznacza proces myślenia modelu. Odpowiedzi w choices muszą być renderowane za pomocą składni markdown, aby uzyskać najlepsze doświadczenie, co również podkreśla potężną zaletę funkcji łączenia naszego modelu.

Model wizualny

claude-sonnet-4-20250514 to wielomodalny model językowy opracowany przez Claude, który na bazie claude-4 zyskał zdolność rozumienia wizualnego. Model ten może jednocześnie przetwarzać tekst i obrazy, osiągając zrozumienie i generowanie w różnych modalnościach. Przetwarzanie tekstu za pomocą modelu claude-sonnet-4-20250514 jest zgodne z podstawowym użyciem opisanym powyżej, poniżej krótko przedstawimy, jak korzystać z możliwości przetwarzania obrazów modelu. Możliwości przetwarzania obrazów modelu claude-sonnet-4-20250514 są głównie realizowane poprzez dodanie pola type do oryginalnej treści content, dzięki czemu można określić, czy przesyłany jest tekst, czy obraz, co pozwala na wykorzystanie zdolności przetwarzania obrazów modelu claude-sonnet-4-20250514. Poniżej omówimy, jak wywołać tę funkcję za pomocą dwóch metod: Curl i Python.
  • Metoda skryptu 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": "Co jest na tym obrazie?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://cdn.acedata.cloud/ueugot.png"
            }
          }
        ]
      }
    ]
  }'
  • Metoda skryptu 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": "Co jest na tym obrazie?"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://cdn.acedata.cloud/ueugot.png"
                    }
                },
            ],
        }
    ]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Następnie można uzyskać poniższy wynik, w którym informacje o polach są zgodne z powyższym opisem:
{
  "id": "msg_bdrk_01NCrxpZmV17bhQJJRQEFEb9",
  "model": "claude-sonnet-4-20250514",
  "object": "chat.completion",
  "created": 1768628904,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Ten obraz przedstawia interfejs konfiguracji żądania API dla tego, co wydaje się być usługą zakończenia czatu AI. Oto kluczowe elementy:\n\n**Parametry ciała żądania:**\n\n1. **model** (wymagany ciąg) - Ustawiony na \"claude-opus-4-202505...\" - określa, który model AI ma być użyty\n\n2. **messages** (wymagana tablica) - Zawiera historię rozmowy z:\n   - **role** (wymagany ciąg) - Ustawiony na \"user\" \n   - **content** (wymagany ciąg) - Zawiera \"Hello\" jako treść wiadomości\n\n3. **stream** (boolean) - Ustawiony na \"true\" - umożliwia częściowe zmiany wiadomości, jak w ChatGPT\n\n4. **max_tokens** (liczba) - Pole do ustawienia maksymalnej liczby tokenów, które mogą być generowane w odpowiedzi\n\n5. **n** (liczba) - Określa, ile wyborów zakończenia czatu ma być generowanych dla każdego wejścia\n\nInterfejs ma ciemny motyw z białym tekstem na czarnych/szaro-ciemnych tle. W prawym dolnym rogu znajduje się przycisk „Fill Example” oraz różne menu rozwijane i pola wejściowe do konfigurowania parametrów żądania API. Widoczna jest czerwona ikona kosza/usuń, prawdopodobnie do usuwania wpisów wiadomości."
      },
      "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
  }
}
Można zauważyć, że treść odpowiedzi opiera się na obrazach, dlatego za pomocą powyższych dwóch metod można łatwo wykorzystać zdolności przetwarzania tekstu i obrazów modelu claude-3-7-sonnet-20250219.

Obsługa błędów

Podczas wywoływania API, jeśli wystąpi błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:
  • 400 token_mismatched: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 400 api_not_implemented: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 401 invalid_token: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
  • 429 too_many_requests: Zbyt wiele żądań, przekroczono limit szybkości.
  • 500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

Przykład odpowiedzi błędu

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

Wnioski

Dzięki temu dokumentowi zrozumieliście, jak łatwo zrealizować funkcje czatu oficjalnego Claude za pomocą API Claude Chat Completion. Mamy nadzieję, że ten dokument pomoże Wam lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, prosimy o kontakt z naszym zespołem wsparcia technicznego.