Chat Completions
Użyj CometAPI POST /v1/chat/completions, aby wysyłać konwersacje złożone z wielu wiadomości i otrzymywać odpowiedzi LLM ze Streaming oraz kontrolą temperature i max_tokens.
CometAPI kieruje Chat Completions do wielu dostawców — w tym OpenAI, Claude i Gemini — za pośrednictwem jednego interfejsu zgodnego z OpenAI. Przełączaj się między modelami, zmieniając parametrDocumentation Index
Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
Use this file to discover all available pages before exploring further.
model; większość SDK zgodnych z OpenAI działa po ustawieniu base_url na https://api.cometapi.com/v1.
Role wiadomości
| Rola | Opis |
|---|---|
system | Ustawia zachowanie i osobowość asystenta. Umieszczana na początku konwersacji. |
developer | Zastępuje system w nowszych modelach (o1+). Dostarcza instrukcje, których model powinien przestrzegać niezależnie od danych wejściowych użytkownika. |
user | Wiadomości od użytkownika końcowego. |
assistant | Poprzednie odpowiedzi modelu, używane do utrzymania historii konwersacji. |
tool | Wyniki wywołań narzędzi/funkcji. Musi zawierać tool_call_id pasujące do oryginalnego wywołania narzędzia. |
Wysyłanie danych wejściowych Multimodal
Wiele modeli obsługuje obrazy i audio obok tekstu. Aby wysyłać wiadomości Multimodal, użyj formatu tablicowego dlacontent:
detail kontroluje głębokość analizy obrazu:
low— szybciej, używa mniej tokenów (stały koszt)high— szczegółowa analiza, zużywa więcej tokenówauto— model decyduje (domyślnie)
Stream odpowiedzi
Aby otrzymywać dane wyjściowe przyrostowo, ustawstream na true. Odpowiedź jest dostarczana jako Server-Sent Events (SSE), gdzie każde zdarzenie zawiera obiekt chat.completion.chunk:
Żądanie ustrukturyzowanego wyjścia
Aby wymusić na modelu zwracanie poprawnego JSON zgodnego z określonym schematem, użyjresponse_format:
json_schema) gwarantuje, że wyjście będzie dokładnie zgodne z Twoim schematem. Tryb JSON Object (json_object) gwarantuje jedynie poprawny JSON — struktura nie jest wymuszana.Wywoływanie narzędzi i funkcji
Aby umożliwić modelowi wywoływanie zewnętrznych funkcji, podaj definicje narzędzi:finish_reason: "tool_calls", a tablica message.tool_calls będzie zawierać nazwę funkcji i argumenty. Następnie wykonujesz funkcję i odsyłasz wynik jako wiadomość tool z pasującym tool_call_id.
Uwagi między dostawcami
Obsługa parametrów u różnych dostawców
Obsługa parametrów u różnych dostawców
| Parametr | OpenAI GPT | Claude (przez compat) | Gemini (przez compat) |
|---|---|---|---|
temperature | 0–2 | 0–1 | 0–2 |
top_p | 0–1 | 0–1 | 0–1 |
n | 1–128 | tylko 1 | 1–8 |
stop | Do 4 | Do 4 | Do 5 |
tools | ✅ | ✅ | ✅ |
response_format | ✅ | ✅ (json_schema) | ✅ |
logprobs | ✅ | ❌ | ❌ |
reasoning_effort | seria o, GPT-5.1+ | ❌ | ❌ (użyj thinking dla natywnego Gemini) |
max_tokens vs max_completion_tokens
max_tokens vs max_completion_tokens
max_tokens— Parametr starszego typu. Działa z większością modeli, ale jest przestarzały dla nowszych modeli OpenAI.max_completion_tokens— Zalecany parametr dla modeli GPT-4.1, serii GPT-5 i modeli z serii o. Wymagany dla modeli reasoning, ponieważ obejmuje zarówno output tokens, jak i reasoning tokens.
system vs developer role
system vs developer role
system— Tradycyjna rola instrukcji. Działa ze wszystkimi modelami.developer— Wprowadzona wraz z modelami o1. Zapewnia silniejsze podążanie za instrukcjami w nowszych modelach. W starszych modelach wraca do zachowaniasystem.
developer w nowych projektach ukierunkowanych na modele GPT-4.1+ lub modele z serii o.FAQ
Jak obsługiwać limity szybkości?
Gdy napotkasz429 Too Many Requests, zaimplementuj exponential backoff:
Jak zachować kontekst rozmowy?
Uwzględnij pełną historię rozmowy w tablicymessages:
Co oznacza finish_reason?
| Wartość | Znaczenie |
|---|---|
stop | Naturalne zakończenie lub osiągnięcie sekwencji stop. |
length | Osiągnięto limit max_tokens lub max_completion_tokens. |
tool_calls | Model wywołał jedno lub więcej wywołań narzędzi/funkcji. |
content_filter | Dane wyjściowe zostały odfiltrowane z powodu polityki treści. |
Jak kontrolować koszty?
- Użyj
max_completion_tokens, aby ograniczyć długość odpowiedzi. - Wybieraj opłacalne modele (np.
gpt-5.4-minilubgpt-5.4-nanodo prostszych zadań). - Zachowuj zwięzłość promptów — unikaj zbędnego kontekstu.
- Monitoruj użycie tokenów w polu odpowiedzi
usage.
Autoryzacje
Bearer token authentication. Use your CometAPI key.
Treść
Model ID to use for this request. See the Models page for current options.
"gpt-4.1"
A list of messages forming the conversation. Each message has a role (system, user, assistant, or developer) and content (text string or multimodal content array).
If true, partial response tokens are delivered incrementally via server-sent events (SSE). The stream ends with a data: [DONE] message.
Sampling temperature between 0 and 2. Higher values (e.g., 0.8) produce more random output; lower values (e.g., 0.2) make output more focused and deterministic. Recommended to adjust this or top_p, but not both.
0 <= x <= 2Nucleus sampling parameter. The model considers only the tokens whose cumulative probability reaches top_p. For example, 0.1 means only the top 10% probability tokens are considered. Recommended to adjust this or temperature, but not both.
0 <= x <= 1Number of completion choices to generate for each input message. Defaults to 1.
Up to 4 sequences where the API will stop generating further tokens. Can be a string or an array of strings.
Maximum number of tokens to generate in the completion. The total of input + output tokens is capped by the model's context length.
Number between -2.0 and 2.0. Positive values penalize tokens based on whether they have already appeared, encouraging the model to explore new topics.
-2 <= x <= 2Number between -2.0 and 2.0. Positive values penalize tokens proportionally to how often they have appeared, reducing verbatim repetition.
-2 <= x <= 2A JSON object mapping token IDs to bias values from -100 to 100. The bias is added to the model's logits before sampling. Values between -1 and 1 subtly adjust likelihood; -100 or 100 effectively ban or force selection of a token.
A unique identifier for your end-user. Helps with abuse detection and monitoring.
An upper bound for the number of tokens to generate, including visible output tokens and reasoning tokens. Use this instead of max_tokens for GPT-4.1+, GPT-5 series, and o-series models.
Specifies the output format. Use {"type": "json_object"} for JSON mode, or {"type": "json_schema", "json_schema": {...}} for strict structured output.
A list of tools the model may call. Currently supports function type tools.
Controls how the model selects tools. auto (default): model decides. none: no tools. required: must call a tool.
Whether to return log probabilities of the output tokens.
Number of most likely tokens to return at each position (0-20). Requires logprobs to be true.
0 <= x <= 20Controls the reasoning effort for o-series and GPT-5.1+ models.
low, medium, high Options for streaming. Only valid when stream is true.
Specifies the processing tier.
auto, default, flex, priority Odpowiedź
Successful chat completion response.
Unique completion identifier.
"chatcmpl-abc123"
chat.completion "chat.completion"
Unix timestamp of creation.
1774412483
The model used (may include version suffix).
"gpt-5.4-2025-07-16"
Array of completion choices.
"default"
"fp_490a4ad033"