Chat completions
Struktur permintaan/respons, streaming, dan endpoint padanannya pada protokol Anthropic dan Gemini.
Chat completion adalah endpoint yang paling banyak dipakai: kirim daftar pesan ke model dan dapatkan balasan yang dihasilkan. Pintu masuk utama platform adalah protokol kompatibel OpenAI; protokol Anthropic dan Gemini merupakan padanan yang isomorfik.
Bentuk permintaan (kompatibel OpenAI)
POST {base}/chat/completions — autentikasi di Autentikasi:
{
"model": "your-model",
"messages": [
{"role": "system", "content": "You are a support assistant."},
{"role": "user", "content": "Where is my order?"},
{"role": "assistant", "content": "Sure, may I have the order number?"},
{"role": "user", "content": "A1024"}
],
"temperature": 0.7,
"max_tokens": 1024,
"stream": false
}
messagesadalah riwayat percakapan yang berurutan;rolebernilaisystem/user/assistant. Untuk percakapan multi-giliran, klien menggabungkan seluruh riwayat dan mengirimkannya ulang setiap kali;temperatureyang lebih tinggi berarti keluaran lebih bervariasi (umumnya 0–1);max_tokensmembatasi panjang balasan;- Streaming: dengan
"stream": truerespons dikirim secara bertahap melalui SSE (choices[0].delta) — ideal untuk menampilkan teks sambil dihasilkan. SDK resmi: berikanstream=Truelalu iterasi.
Bentuk respons
Kolom penting dari respons non-streaming:
{
"choices": [
{
"message": {"role": "assistant", "content": "..."},
"finish_reason": "stop"
}
],
"usage": {"prompt_tokens": 58, "completion_tokens": 132, "total_tokens": 190}
}
choices[0].message.contentmemuat balasan;finish_reasonstopberarti selesai secara alami,lengthberarti terpotong olehmax_tokens;usageadalah konsumsi token panggilan ini — penagihan dan halaman "Usage" keduanya berdasarkan ini.
Endpoint padanan di protokol lain
- Anthropic:
POST {base}/v1/messages— nama kolom berbeda (max_tokenswajib, balasan berada di arraycontent), semantiknya selebihnya identik; - Gemini:
POST {base}/v1beta/models/{model}:generateContent— pesan masuk ke arraycontents.
Ketiga protokol bersifat isomorfik; migrasinya sebagian besar hanya mengganti nama kolom. Langkah praktisnya adalah memakai SDK resmi yang sesuai (openai / @anthropic-ai/sdk / @google/genai) dengan base_url diarahkan ke platform.

