docs
API

Chat Completions

Markdown

คำตอบของโมเดลต่อบทสนทนาในรูปแบบ OpenAI เป็นรูปแบบที่ใช้แพร่หลายที่สุด โดยไคลเอนต์แทบทั้งหมดรองรับ

คู่มือฉบับเต็ม
POSThttps://api.ailoot.ai/v1/chat/completions
Chat Completions
curl https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5-5",
    "messages": [
      {"role": "user", "content": "อธิบายในสองประโยคว่า API คืออะไร"}
    ]
  }' 
200 OK
{
  "id": "chatcmpl-8f2c…",
  "object": "chat.completion",
  "created": 1790812800,
  "model": "claude-sonnet-5-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "API คือข้อตกลงว่าโปรแกรมหนึ่งจะขอให้อีกโปรแกรมทำสิ่งใดสิ่งหนึ่งอย่างไร…"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 21,
    "completion_tokens": 48,
    "total_tokens": 69
  }
}

การยืนยันสิทธิ์

  • Authorizationheaderจำเป็น

    คีย์ในรูปแบบ Bearer sk-…. ใช้เฮดเดอร์ต่อไปนี้ได้เช่นกัน x-api-key หรือ x-goog-api-key.

เนื้อหาคำขอ

  • modelstringจำเป็น

    ID ของโมเดลจาก แค็ตตาล็อก, เช่น claude-sonnet-5-5. โมเดลต้องรองรับรูปแบบ OpenAI Chat

  • messagesarrayจำเป็น

    ประวัติการสนทนา: ออบเจ็กต์ที่มี role (system, developer, user, assistant, tool) และ content — เป็นสตริงหรืออาร์เรย์ของส่วนต่าง ๆ (ข้อความ image_url).

  • streambooleanไม่จำเป็น

    คำตอบในรูปแบบ Server-Sent Events ค่าเริ่มต้นคือ false. ข้อความที่คิดค่าบริการจะส่งมาเป็นบล็อกเดียวหลังคำนวณราคา แทนการส่งทีละคำ

  • stream_optionsobjectไม่จำเป็น

    {"include_usage": true} — ส่ง usage สรุปเป็นอีเวนต์สุดท้ายของสตรีม

  • max_tokensintegerไม่จำเป็น

    จำนวนโทเค็นสูงสุดของคำตอบ ชื่อใหม่คือ max_completion_tokens. หากไม่ระบุขีดจำกัด Ailoot จะใช้ 4096 (หรือน้อยกว่านั้น หากขีดจำกัดคำตอบของโมเดลต่ำกว่า; Grok มีขีดจำกัดของตนเอง) สำหรับคำตอบยาว ให้ระบุขีดจำกัดอย่างชัดเจน มิฉะนั้นคำตอบจะหยุดที่ 4096 โทเค็นพร้อม finish_reason: "length". ขีดจำกัดนี้ใช้ในการสำรองเงิน: ยิ่งสูง ยิ่งต้องมีเงินคงเหลือที่ใช้ได้มากขึ้น

  • temperaturenumberไม่จำเป็น

    ระดับความสุ่มของคำตอบ โดยทั่วไปอยู่ระหว่าง 0 ถึง 2 โมเดลที่ใช้การให้เหตุผลอาจไม่ใช้พารามิเตอร์นี้

  • top_pnumberไม่จำเป็น

    ทางเลือกแทน temperature: สัดส่วนมวลความน่าจะเป็นที่ใช้เลือกโทเค็น

  • stopstring | arrayไม่จำเป็น

    สตริงที่ทำให้การสร้างคำตอบหยุดลง

  • toolsarrayไม่จำเป็น

    คำอธิบายฟังก์ชันที่โมเดลเรียกใช้ได้ ใช้รูปแบบเดียวกับ OpenAI: {"type": "function", "function": {...}}.

  • tool_choicestring | objectไม่จำเป็น

    auto, none, required หรือฟังก์ชันที่ระบุ

  • response_formatobjectไม่จำเป็น

    {"type": "json_object"} หรือ {"type": "json_schema", ...} สำหรับคำตอบที่มีโครงสร้าง — หากโมเดลรองรับ

  • reasoning_effortstringไม่จำเป็น

    ระดับการให้เหตุผลสำหรับโมเดลที่ใช้การให้เหตุผล: low, medium, high.

พารามิเตอร์ OpenAI อื่นจะส่งต่อโดยไม่แก้ไข ผู้พัฒนาโมเดลเป็นผู้กำหนดว่าโมเดลนั้นรองรับหรือไม่

คำตอบ

  • choices[].messageobject

    คำตอบของโมเดล: content, เมื่อเรียกใช้เครื่องมือ — tool_calls.

  • choices[].finish_reasonstring

    stop — คำตอบเสร็จสมบูรณ์; length — ถึงขีดจำกัด max_tokens (คำตอบนี้ยังถือว่าสมบูรณ์และคิดค่าบริการตามการใช้งานจริง); tool_calls — โมเดลกำลังเรียกใช้เครื่องมือ

  • usageobject

    prompt_tokens, completion_tokens, total_tokens — ใช้คำนวณยอดหักเงิน

ยังมีคำถามอยู่ใช่ไหม ส่ง Request ID และรายละเอียดมาให้เรา เราจะช่วยตรวจ⁠สอบติดต่อฝ่ายสนับสนุน