Unquant

Opening your workspace…

Unquant

การสร้างคำตอบในบทสนทนา

การสร้างคำตอบแชทที่เข้ากันได้กับ OpenAI รองรับการสตรีม รูปภาพ การเรียกใช้เครื่องมือ และการควบคุมการใช้เหตุผล

POST /v1/chat/completions

curl https://api.unquant.io/v1/chat/completions \
  -H "Authorization: Bearer $UNQUANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"glm-5.3-flash",
       "messages":[{"role":"user","content":"Hello!"}]}'

ฟิลด์ในคำขอ

พื้นฐาน
modelสตริงจำเป็น

glm-5.3-flash หรือ qwen-3.8-flash-next

messagesอาร์เรย์จำเป็น

รองรับบทบาท system, user, assistant และ tool เนื้อหาเป็นสตริงหรืออาร์เรย์ที่ประกอบด้วยส่วน text และ image_url

streamบูลีน

สตรีมคำตอบเป็นเหตุการณ์ที่ส่งจากเซิร์ฟเวอร์

stream_optionsออบเจ็กต์

{"include_usage": true} จะเพิ่มข้อมูลส่วนสุดท้ายที่ระบุจำนวนโทเคน

ความยาว
max_tokensจำนวนเต็ม

ขีดจำกัดความยาวสูงสุดของคำตอบ

max_completion_tokensจำนวนเต็ม

เหมือนกับ max_tokens

การสุ่มเลือก
temperatureตัวเลข

ระดับความสุ่มในการเลือกโทเคน

top_pตัวเลข

สุ่มเลือกจากกลุ่มโทเคนที่มีความน่าจะเป็นสูงสุด โดยจำกัดตามผลรวมความน่าจะเป็น

top_kจำนวนเต็ม

สุ่มเลือกจากโทเคนที่มีความน่าจะเป็นสูงสุด k อันดับ

min_pตัวเลข

ค่าความน่าจะเป็นสัมพัทธ์ขั้นต่ำของโทเคน

seedจำนวนเต็ม

ค่าเริ่มต้นสำหรับการสุ่มที่ให้ผลซ้ำได้

stopสตริงหรืออาร์เรย์

ลำดับข้อความที่ให้หยุดสร้างคำตอบเมื่อพบ

การซ้ำ
frequency_penaltyตัวเลข

ลดโอกาสเลือกโทเคนตามความถี่ที่เคยปรากฏ

presence_penaltyตัวเลข

ลดโอกาสเลือกโทเคนที่เคยปรากฏแล้ว ไม่ว่าจะกี่ครั้งก็ตาม

repetition_penaltyตัวเลข

ลดโอกาสเกิดโทเคนซ้ำโดยใช้ตัวคูณ

เครื่องมือ
toolsอาร์เรย์

ฟังก์ชันที่โมเดลเรียกใช้ได้ ระบุในรูปแบบของ OpenAI

tool_choiceสตริงหรือออบเจ็กต์

auto, none, required หรือระบุฟังก์ชันตามชื่อ

parallel_tool_callsบูลีน

อนุญาตให้เรียกใช้เครื่องมือหลายครั้งในการตอบหนึ่งรอบ

ผลลัพธ์
response_formatออบเจ็กต์

ผลลัพธ์ในรูปแบบ JSON

logprobsบูลีน

ส่งค่าลอการิทึมของความน่าจะเป็นของโทเคนกลับมา

top_logprobsจำนวนเต็ม

จำนวนตัวเลือกอื่นที่จะส่งกลับมาต่อโทเคน

nจำนวนเต็ม

ต้องเป็น 1: สร้างคำตอบหนึ่งชุดต่อคำขอ

การใช้เหตุผล
reasoning_effortสตริง

ทั้งสองโมเดลรองรับ none, low หรือ high ส่วน GLM-5.3-Flash รองรับ max ด้วย

chat_template_kwargsออบเจ็กต์

ตัวเลือกเปิดหรือปิดการทำงานในเทมเพลต เช่น {"enable_thinking": false}

ระบบจะข้ามฟิลด์อื่นทั้งหมด

การตอบกลับ

response.choices[0].message.content

ระบบส่งจำนวนการใช้งานกลับมาเพื่อให้คุณติดตามการใช้งานของตนเองเท่านั้น ไม่มีการนำไปคิดค่าบริการ

การสตรีม

เมื่อกำหนด "stream": true คำตอบจะทยอยส่งมาเป็นเหตุการณ์จากเซิร์ฟเวอร์ โดยแบ่งข้อมูลเป็นส่วนย่อยตามรูปแบบของ OpenAI และสิ้นสุดด้วย data: [DONE] อ่านข้อความได้จาก choices[0].delta.content

รูปภาพ

ทั้งสองโมเดลรับรูปภาพผ่านส่วน image_url ที่มี URL ข้อมูลแบบ base64 (data:image/png;base64,..., JPEG หรือ WebP) ระบบจะไม่ดึงรูปภาพจากลิงก์ URL และจะตอบกลับด้วยรหัส 400

{"role": "user", "content": [
  {"type": "text", "text": "Describe this image."},
  {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
]}

การเรียกใช้เครื่องมือ

ส่ง tools ในรูปแบบเดียวกับ API ของ OpenAI เมื่อโมเดลเรียกใช้เครื่องมือ การตอบกลับจะมี finish_reason: "tool_calls" และ message.tool_calls ให้เรียกใช้เครื่องมือนั้น เพิ่มข้อความ tool ที่มีผลลัพธ์พร้อม tool_call_id ที่ตรงกันต่อท้าย แล้วเรียก API อีกครั้ง

การใช้เหตุผล

ทั้งสองโมเดลใช้เหตุผลก่อนตอบและรองรับ reasoning_effort: ใช้ none เพื่อตอบโดยตรง low เพื่อใช้เหตุผลเล็กน้อย หรือ high สำหรับปัญหาที่ยากขึ้น GLM-5.3-Flash ยังรองรับ max และมีค่าเริ่มต้นเป็น high กระบวนการคิดจะถูกส่งกลับมาแยกต่างหากใน reasoning_content โดยไม่ปะปนกับ content นอกจากนี้ยังปิดการใช้เหตุผลได้ด้วย "thinking": {"type": "disabled"} และ "chat_template_kwargs": {"enable_thinking": false}

การทำงานพร้อมกัน

แพ็กเกจของคุณกำหนดจำนวนคำขอที่ทำงานพร้อมกันได้ โดยนับรวมทุกคีย์ของคุณ คำขอที่เกินขีดจำกัดจะได้รับรหัส 429 ทันทีและจะไม่ถูกนำเข้าคิว คำขอที่กำลังทำงานอยู่จะไม่ได้รับผลกระทบ

คู่มือนักพัฒนา