Pelengkapan sembang

Struktur permintaan/respons, penstriman, dan endpoint setara dalam protokol Anthropic serta Gemini.

Pelengkapan sembang ialah endpoint yang paling banyak digunakan: hantar senarai mesej kepada model dan dapatkan balasan yang dijana semula. Pintu masuk utama platform ini ialah protokol serasi OpenAI; protokol Anthropic dan Gemini ialah padanan isomorfiknya.

Bentuk permintaan (serasi OpenAI)

POST {base}/chat/completions — pengesahan dalam Pengesahan:

{
  "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
}
  • messages ialah sejarah perbualan yang tersusun; role ialah system / user / assistant. Bagi sembang berbilang pusingan, klien menggabungkan sejarah penuh dan menghantarnya semula setiap kali;
  • temperature yang lebih tinggi bermakna output lebih pelbagai (biasanya 0–1); max_tokens mengehadkan panjang balasan;
  • Penstriman: dengan "stream": true, respons ditolak secara berperingkat melalui SSE (choices[0].delta) — sesuai untuk memaparkan teks semasa ia dijana. SDK rasmi: hantar stream=True dan lelaran.

Bentuk respons

Medan utama bagi respons bukan penstriman:

{
  "choices": [
    {
      "message": {"role": "assistant", "content": "..."},
      "finish_reason": "stop"
    }
  ],
  "usage": {"prompt_tokens": 58, "completion_tokens": 132, "total_tokens": 190}
}
  • choices[0].message.content menyimpan balasan; finish_reason stop bermakna ia tamat secara semula jadi, length bermakna ia terpotong oleh max_tokens;
  • usage ialah penggunaan token bagi panggilan ini — pengebilan dan halaman "Penggunaan" kedua-duanya berdasarkan padanya.

Endpoint setara dalam protokol lain

  • Anthropic: POST {base}/v1/messages — nama medan berbeza (max_tokens adalah wajib, balasan berada dalam tatasusunan content), selebihnya semantiknya identik;
  • Gemini: POST {base}/v1beta/models/{model}:generateContent — mesej masuk ke dalam tatasusunan contents.

Ketiga-tiga protokol ini isomorfik; pemindahan sebahagian besarnya hanya menukar nama medan. Langkah praktikalnya ialah menggunakan SDK rasmi yang sepadan (openai / @anthropic-ai/sdk / @google/genai) dengan base_url dihalakan ke platform ini.