Używamy plików cookie. Pliki cookie i pamięć przeglądarki pozwalają utrzymać logowanie i zapamiętać Twoje preferencje. Za Twoją zgodą mierzymy też, jak korzystasz ze strony. W każdej chwili możesz . Zobacz naszą politykę cookie.

Rozumowanie (reasoning)

Endpointy

Rozumowanie (reasoning)

Zarządzaj budżetem, nakładem i wynikiem rozumowania modeli za pomocą parametru reasoning oraz odczytuj tokeny rozumowania w odpowiedzi.

Wypróbuj w playground

Modele z rozumowaniem myślą, zanim odpowiedzą: OpenAI GPT-5 i seria o, Claude z rozszerzonym myśleniem, Gemini 2.5, DeepSeek R1, Qwen i inne. api14 przyjmuje jeden parametr reasoning i tłumaczy go na natywne ustawienie każdego dostawcy. Tokeny rozumowania są rozliczane jako tokeny wyjścia.

Parametry żądania

ParametrTypOpis
reasoning.effortstring"minimal", "low", "medium" lub "high". Używany przez modele OpenAI i Grok, a w pozostałych zamieniany na budżet tokenów.
reasoning.max_tokensintegerDokładny budżet tokenów na myślenie. Używany przez Anthropic, Gemini i Qwen. Użyj jednego z tych parametrów, nie obu.
reasoning.excludebooleanModel nadal rozumuje, ale tekst rozumowania nie jest zwracany w odpowiedzi.
reasoning.enabledbooleanWłącza rozumowanie z domyślnymi ustawieniami.
include_reasoningbooleanDawny przełącznik, odpowiada reasoning: {} lub reasoning.exclude: false.
{
  "model": "anthropic/claude-sonnet-4.5",
  "messages": [{ "role": "user", "content": "How many r's are in 'strawberry'? Think carefully." }],
  "reasoning": { "max_tokens": 2000 },
  "max_tokens": 4000
}

max_tokens musi być większe od budżetu rozumowania, ponieważ obejmuje zarówno myślenie, jak i odpowiedź.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ],
  "reasoning": {
    "effort": "high"
  }
});
console.log(result.choices[0].message.content);

Odpowiedź

Tekst rozumowania jest zwracany w message.reasoning, oddzielnie od odpowiedzi. Niektóre modele zwracają też ustrukturyzowane reasoning_details:

{
  "id": "gen-1760000000-think",
  "model": "anthropic/claude-sonnet-4.5",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "There are 3 r's in \"strawberry\".",
        "reasoning": "s-t-r-a-w-b-e-r-r-y: r at position 3, 8 and 9..."
      }
    }
  ],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 312,
    "total_tokens": 334,
    "completion_tokens_details": { "reasoning_tokens": 290 },
    "cost": 0.004746
  }
}

Przy strumieniowaniu rozumowanie przychodzi w fragmentach delta.reasoning, przed fragmentami delta.content.

Uwagi

  • Modele z serii o oraz GPT-5 od OpenAI nie zwracają tekstu rozumowania, ale za reasoning_tokens płacisz mimo to.
  • Przy użyciu narzędzi w wielu turach z Claude odsyłaj reasoning_details bez zmian w wiadomości asystenta, aby model mógł kontynuować rozumowanie.
  • Niektóre modele (np. deepseek/deepseek-r1) zawsze rozumują. Dla nich effort nie działa.
  • Wyższy nakład kosztuje więcej i trwa dłużej. Obserwuj completion_tokens_details.reasoning_tokens.

Błędy

Takie same jak w Chat completions. Budżet zbyt mały lub zbyt duży dla danego modelu może zwrócić 400 od dostawcy. Zobacz Błędy.