docs
API

Jev — โมเดลสำหรับการตัดสินใจ

Markdown

Jev โมเดลสำหรับการตัดสินใจจาก TypeSafe ตอบคำถามเกี่ยวกับข้อความหรือ JSON ด้วยผลลัพธ์ที่ระบุชนิด: เลือกตัวเลือก ให้คะแนนตามสเกล หรือ “ใช่/ไม่ใช่” พร้อมค่าความน่าจะเป็น ไม่ใช่แชตหรือการสร้างข้อความ

คู่มือฉบับเต็ม
POSThttps://api.ailoot.ai/v1/systemone
Jev — โมเดลสำหรับการตัดสินใจ
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "ช่วยด้วย! การจ่ายเงินให้ฉันไม่สำเร็จมา 3 วันแล้ว",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "ข้อความนี้สื่อถึงความเร่งด่วนหรือไม่?"
      }
    }
  }' 
200 OK
{
  "model": "jev-1.13.0",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}

Jev เป็นโมเดลสำหรับการตัดสินใจระดับ System One จาก TypeSafe โมเดลไม่เขียนข้อความหรือสนทนา: คุณส่ง สถานะ (state) — ข้อความหรือ JSON — พร้อมชุด คำถาม, แล้วรับค่าที่ระบุชนิดพร้อมความน่าจะเป็น โค้ดจึงใช้ผลลัพธ์แยกเงื่อนไข จัดเรียง และกำหนดเส้นทางได้ทันที โดยไม่ต้องแยกวิเคราะห์ข้อความอิสระ

ทุกคำถามในคำขอเดียวกันจะได้รับการประเมินพร้อมกันและเป็นอิสระจากกัน โดยเทียบกับ stateเดียวกัน ตามข้อมูลของ TypeSafe การเพิ่มคำถามแทบไม่เปลี่ยนเวลาตอบ และคำถามไม่รบกวนกัน

หัวข้อสรุป
โมเดลjev-latest — นามแฝงของ Jev เวอร์ชันเสถียรล่าสุด; รายละเอียดในแค็ตตาล็อก
เมธอดPOST /v1/systemone. ไม่ใช่แชต: รูปแบบ OpenAI, Anthropic และ Gemini ใช้กับ Jev ไม่ได้ คำตอบจะส่งมาครบใน JSON เดียว
อินพุตที่รับเฉพาะข้อความ: สตริง ออบเจ็กต์ JSON หรืออาร์เรย์ของข้อความ ให้แปลงภาพ เสียง และวิดีโอเป็นข้อความก่อน
บริบท64K โทเค็นต่อคำขอ — รวม state และคำถามทั้งหมด; state รวมกับคำถามที่ยาวที่สุด — สูงสุด 32K
ภาษาตามข้อมูลของ TypeSafe โมเดลให้ความแม่นยำสูงสุดกับภาษาอังกฤษ โดยรับภาษาอื่นได้แต่ความแม่นยำต่ำกว่า จึงควรทดสอบด้วยข้อมูลของคุณเอง
ราคาอินพุต $0.084 ต่อ 1 ล้านโทเค็น ไม่คิดค่าบริการขาออก

คำขอ

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

  • Authorizationheaderจำเป็น

    คีย์ Ailoot ในรูปแบบ Bearer sk-….

เนื้อหาคำขอ

  • modelstringจำเป็น

    jev-latest.

  • statestring | object | arrayจำเป็น

    สิ่งที่ต้องการประเมิน: สตริงข้อความหรือ JSON — คำร้องของลูกค้า ระเบียนจากฐานข้อมูล บทสนทนา หรือสถานะปัจจุบันของแอปพลิเคชัน ออบเจ็กต์ที่ใช้ชื่อฟิลด์ชัดเจนมักสะดวกกว่าสตริงเดียว

  • questionsobjectจำเป็น

    คำถาม คุณกำหนดคีย์เองและจะได้รับคำตอบภายใต้คีย์เดิม คีย์ไม่มีผลต่อคำตอบ — ตัวคำถามระบุใน instructions.

  • questions.*.typestringจำเป็น

    noul, choice หรือ score — ดูด้านล่าง

  • questions.*.instructionsstring | object | arrayจำเป็น

    ตัวคำถาม หากคำถามยาวและมีข้อมูล สามารถส่งเป็นออบเจ็กต์ได้: ใส่คำถามในฟิลด์หนึ่งและข้อมูลในฟิลด์อื่น โดยอ้างถึงชื่อฟิลด์ด้วยเครื่องหมาย backtick

  • questions.*.criteriaobject | array

    ตัวเลือกคำตอบ ซึ่งต่างกันตามแต่ละชนิด: คำอธิบาย “ใช่” และ “ไม่ใช่” สำหรับ noul (ไม่จำเป็น), พจนานุกรมตัวเลือกสำหรับ choice และรายการระดับที่เรียงลำดับสำหรับ score

ชนิดคำถาม

ชนิดถามอะไรส่งกลับอะไร
noulข้อความที่ระบุเป็นจริงหรือไม่: ใช่หรือไม่ใช่noul — ความน่าจะเป็นของ “ใช่” ตั้งแต่ 0 ถึง 1
choiceตัวเลือกใดในชุดที่ระบุเหมาะสมchoice, probabilities, confidence
scorestate อยู่ตรงไหนในสเกลระดับของคุณscore, legend, probabilities, confidence

ใช้คำถามหลายชนิดร่วมกันในคำขอเดียวได้

noul — ใช่หรือไม่ใช่

ฟิลด์ criteria ไม่จำเป็น: สามารถใช้อธิบายว่า “ใช่” (true) และ “ไม่ใช่” (false) หมายถึงอะไร คำตอบ noul — ตัวเลขตั้งแต่ 0 (ไม่ใช่) ถึง 1 (ใช่)

"is_urgent": {
  "type": "noul",
  "instructions": "ข้อความนี้สื่อถึงความเร่งด่วนหรือไม่?",
  "criteria": {
    "true": "ระบุชัดเจนว่าต้องดำเนินการให้ทันเวลา",
    "false": "ไม่ได้แสดงความเร่งด่วน"
  }
}

choice — เลือกตัวเลือก

criteria — พจนานุกรม “ตัวเลือก → คำอธิบาย”; หากไม่ต้องการคำอธิบาย ให้ระบุ null. สูงสุด 255 ตัวเลือก ในคำตอบ choice — ตัวเลือกที่มีความน่าจะเป็นสูงสุด, probabilities — ความน่าจะเป็นของแต่ละตัวเลือก (รวมกันเป็น 1), confidence — ความมั่นใจตั้งแต่ 0 ถึง 1

"department": {
  "type": "choice",
  "instructions": "ทีมใดควรดูแลเรื่องนี้?",
  "criteria": {
    "billing": "การชำระเงิน การออกใบแจ้งหนี้ การคืนเงิน",
    "technical": "บั๊ก ระบบขัดข้อง การเชื่อมต่อระบบ",
    "sales": "ราคา การอัปเกรด ลูกค้าใหม่"
  }
}

score — ให้คะแนนตามสเกล

criteria — ระดับเรียงจากต่ำไปสูง ไม่เกิน 10 ระดับ (TypeSafe แนะนำอย่างน้อยสองระดับ) ในคำตอบ score — ค่าที่ถ่วงน้ำหนักตามความน่าจะเป็นของแต่ละระดับ (อาจอยู่ระหว่างระดับ), legend — หมายเลขระดับและคำอธิบายระดับนั้น, probabilities และ confidence. ตามข้อมูลของ TypeSafe, score เหมาะสำหรับเทียบกับเกณฑ์ แต่ไม่เหมาะใช้เป็นตัวเลขที่แม่นยำระหว่างระดับ

"frustration": {
  "type": "score",
  "instructions": "ลูกค้ารู้สึกหงุดหงิดมากแค่ไหน?",
  "criteria": ["สงบ", "หงุดหงิด", "โกรธมาก"]
}

คำตอบ

  • modelstring

    เวอร์ชันของโมเดลที่ตอบ นามแฝง jev-latest จะเปลี่ยนไปใช้เวอร์ชันใหม่เมื่อเวลาผ่านไป หากคุณตั้งเกณฑ์ confidence สำหรับเวอร์ชันใดไว้ ให้ตรวจ⁠สอบฟิลด์นี้

  • answersobject

    คำตอบหนึ่งรายการต่อคำถาม ภายใต้คีย์เดิม แต่ละคำตอบมี type, สำหรับ choice และ score ยังมี confidence.

  • usageobject

    input_tokens และ output_tokens. คิดค่าบริการเฉพาะโทเคนขาเข้าเท่านั้น

หลายคำถามในคำขอเดียว

ส่งคำถามทั้งหมดเกี่ยวกับ state เดียวกันในคำขอเดียว: ระบบประเมินคำถามพร้อมกัน และส่ง state เพียงครั้งเดียว ตามข้อมูลของ TypeSafe ในตัวอย่างที่มี 13 คำถาม การส่งรวมเป็นคำขอเดียวถูกกว่า 12,2 เท่าและเร็วกว่า 10 เท่าเมื่อเทียบกับการส่ง 13 คำขอแยกกันตามลำดับ โดยได้คำตอบเหมือนกัน

ควรแยกการตัดสินที่ซับซ้อนออกเป็นคำถามง่าย ๆ แล้วรวมคำตอบในโค้ด เช่น แทนที่จะถามว่า “ประเมินใบสมัคร” ให้ประเมินตลาด ความเป็นไปได้ และจุดต่างจากคู่แข่งแยกกัน จากนั้นปรับน้ำหนักในโค้ด แทนการปรับข้อความคำถาม

{
  "model": "jev-latest",
  "state": "ช่วยด้วย! การจ่ายเงินให้ฉันไม่สำเร็จมา 3 วันแล้ว",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "ทีมใดควรดูแลเรื่องนี้?",
      "criteria": {
        "billing": "การชำระเงิน การออกใบแจ้งหนี้ การคืนเงิน",
        "technical": "บั๊ก ระบบขัดข้อง การเชื่อมต่อระบบ",
        "sales": "ราคา การอัปเกรด ลูกค้าใหม่"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "ลูกค้ารู้สึกหงุดหงิดมากแค่ไหน?",
      "criteria": ["สงบ", "หงุดหงิด", "โกรธมาก"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "ข้อความนี้สื่อถึงความเร่งด่วนหรือไม่?"
    }
  }
}

กรณีที่เหมาะสม

  • การกำหนดเส้นทาง ส่งเรื่องไปยังแผนกที่เหมาะสม และส่งคำขอไปยังตัวประมวลผลที่เหมาะสม ไม่ว่าจะเป็นโค้ดง่าย ๆ โมเดลขนาดใหญ่ หรือคน
  • การจัดหมวดหมู่และลำดับความสำคัญ ประเมินความเร่งด่วน อารมณ์ของข้อความ และความเสี่ยงตามมาตราส่วน โดยกำหนดเกณฑ์ตัดสินในโค้ด
  • การกลั่นกรองเนื้อหาและการตรวจ⁠สอบ ตรวจ⁠สอบว่าข้อความละเมิดกฎหรือไม่ แหล่งข้อมูลรองรับข้อความอ้างอิงหรือไม่ หรือเอกสารมีคำตอบสำหรับคำถามหรือไม่ ก่อนส่งข้อความไปยังขั้นตอนถัดไป
  • การให้คะแนนและจัดอันดับ ประเมินเอกสาร ผู้สมัคร หรือข้อความที่ค้นพบตามเกณฑ์ของคุณ แล้วตัดสินใจในโค้ดว่าจะส่งอะไรไปยังขั้นตอนถัดไป
  • ใช้แทนคำสั่ง “ส่งกลับเป็น JSON” ที่เปราะบาง การเรียกที่รับประกันว่าจะส่งกลับค่าแบบมีชนิดข้อมูลตั้งแต่ต้น แทนข้อความที่ต้องนำมาแยกวิเคราะห์เอง

กรณีที่ไม่เหมาะสม

  • แชต การตอบผู้ใช้ และการสร้างข้อความหรือโค้ด Jev ไม่ได้สร้างข้อความ หากต้องการสร้างข้อความ ให้ใช้ โมเดลข้อความ.
  • ใช้เป็นโมเดลสำหรับ Claude Code, Cursor และเอเจนต์อื่น ๆ ไม่สามารถใช้ jev-latest แทนโมเดลของเอเจนต์ได้ เพราะเอเจนต์ต้องการโมเดลที่สร้างข้อความและเรียกใช้เครื่องมือได้ แต่สามารถเรียก Jev จากโค้ดที่เอเจนต์เขียนให้คุณได้
  • เลขคณิต การนับ และการเปรียบเทียบวันที่ ตามข้อมูลของ TypeSafe งานเหล่านี้ทำในโค้ดได้อย่างเชื่อถือได้มากกว่า และควรถามโมเดลเฉพาะส่วนที่ต้องตีความ เช่น ใช้ choice ดึงส่วนต่าง ๆ ของวันที่
  • รูปภาพ เสียง และวิดีโอ โมเดลรับเฉพาะข้อความ จึงต้องแปลงข้อมูลเหล่านี้เป็นข้อความไว้ก่อน

ราคา

คิดค่าบริการเฉพาะโทเคนขาเข้า — ฟิลด์ usage.input_tokens ในคำตอบ: $0.084 ต่อ 1 ล้าน. โทเคนขาออกไม่มีค่าใช้จ่าย

คำขอในตัวอย่างบนหน้านี้ (296 โทเคนขาเข้า) มีค่าใช้จ่ายน้อยกว่า $0.0001

ก่อนส่งคำขอ Ailoot จะกันเงินจากยอดคงเหลือไว้ และหลังได้รับคำตอบจะหักเงินเพียงครั้งเดียวตามการใช้งานจริง — วิธีการทำงาน.

ขีดจำกัด

หัวข้อขีดจำกัด
คำขอทั้งหมด: state และคำถามทั้งหมด64K โทเคน
state รวมกับคำถามที่ยาวที่สุด32K โทเคน
จำนวนตัวเลือกใน choice เดียวไม่เกิน 255
จำนวนระดับใน score เดียวตั้งแต่ 2 ถึง 10
อินพุตข้อความเท่านั้น: สตริง ออบเจ็กต์ JSON หรืออาร์เรย์ของข้อความ

ขีดจำกัดของโมเดลอ้างอิงข้อมูลจาก TypeSafe ข้อจำกัดของคีย์และยอดคงเหลือของคุณมีผลเช่นเดียวกับโมเดลอื่น ๆ ใน Ailoot: ข้อผิดพลาดและขีดจำกัด.

ข้อผิดพลาด

ข้อผิดพลาดส่งกลับในรูปแบบมาตรฐานของ Ailoot API: รหัส ข้อความที่เข้าใจได้ และ Request ID ข้อผิดพลาดที่พบบ่อยสำหรับเมธอดนี้ ได้แก่:

รหัสเมื่อใดสิ่งที่ต้องทำ
400 invalid_requestเนื้อหาคำขอไม่ผ่านการตรวจ⁠สอบ: ไม่มี state, model หรือ questions, มี type ที่ไม่รู้จัก, choice มีตัวเลือกมากกว่า 255 หรือ score มีมากกว่า 10 ระดับแก้ไขคำขอตามข้อความข้อผิดพลาด หากไม่แก้ไข คำขอจะไม่ผ่านการตรวจ⁠สอบอีก
400 context_length_exceededstate และคำถามรวมกันยาวเกินขีดจำกัดของโมเดลกรอง state ในโค้ดให้เหลือเฉพาะข้อมูลที่จำเป็นสำหรับคำถาม
401 invalid_api_keyไม่มีคีย์หรือคีย์ไม่ถูกต้องส่งคีย์ในเฮดเดอร์ Authorization
402 insufficient_balanceยอดคงเหลือที่ใช้ได้ไม่เพียงพอสำหรับกันเงินเติมเงินเข้ายอดคงเหลือ
404 model_not_found, unsupported_endpointID ไม่ถูกต้อง หรือเรียกโมเดลด้วยเมธอดที่ไม่ตรง เช่น ผ่าน /v1/chat/completionsเรียก jev-latest ผ่าน POST /v1/systemone เท่านั้น
429 rate_limit_exceededมีคำขอมากเกินไปรอตามจำนวนวินาทีที่ระบุในเฮดเดอร์ Retry-After แล้วลองใหม่
503 model_overloaded, model_unavailableโมเดลมีภาระงานสูงเกินไปหรือไม่พร้อมใช้งานชั่วคราวหาก X-Should-Retry: true ให้ลองใหม่หลังจากผ่านไปตามจำนวนวินาทีใน Retry-After หากเป็น false ให้ตรวจ⁠สอบ Request ID ในประวัติก่อน
504 model_timeoutโมเดลไม่ตอบกลับภายในเวลาที่กำหนดอย่าส่งคำขอซ้ำจนกว่าจะตรวจ⁠สอบ Request ID ในประวัติแล้ว

ดูรายการรหัสทั้งหมดได้ที่หน้า ข้อผิดพลาดและขีดจำกัด.

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