models

CodeGeeX-4

Markdown · JSON

CodeGeeX-4

CodeGeeX4 เป็นตระกูลโมเดลเขียนโค้ดหลายภาษาสำหรับสร้าง เติม อธิบาย ซ่อมโค้ด และตอบคำถามรีโพซิทอรี คู่มือดั้งเดิมครอบคลุมพรอมต์เฉพาะงาน การเติมช่องว่างระหว่างโค้ดที่มี และการใช้ไฟล์เกี่ยวข้องเพื่อเตรียมการเปลี่ยนแปลงพร้อมพาธไฟล์ชัดเจน

เกี่ยวกับโมเดล

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

CodeGeeX4 เป็นตระกูลโมเดลเขียนโค้ดหลายภาษาที่เน้นความช่วยเหลือด้านโปรแกรมและงานข้ามไฟล์ต้นฉบับที่เกี่ยวข้อง ผู้สร้างเผยแพร่ CodeGeeX4-ALL-9B เป็นสมาชิกโอเพนซอร์สของชุด โดยพัฒนาผ่านการฝึกต่อจาก GLM-4-9B เอกสารครอบคลุมการสร้างและเติมโค้ด คำถามโปรแกรม การวิเคราะห์รีโพซิทอรี และเวิร์กโฟลว์ที่เชื่อมกับตัวแปลโค้ด การค้นเว็บ หรือการเรียกฟังก์ชัน ผลปกติเป็นข้อความ ได้แก่ โค้ด คำอธิบาย คำตอบ หรือการเปลี่ยนแปลงที่ติดป้ายไฟล์ ตามคำสั่งงาน

เริ่มจากเลือกการดำเนินการและส่งโค้ดที่โมเดลต้องใช้ คู่มือพรอมต์ system ดั้งเดิมมีคำสั่งแยกสำหรับเพิ่มคอมเมนต์ อธิบายโปรแกรม แปลงระหว่างภาษาโปรแกรม ตรวจหรือซ่อมโค้ด สร้างการทดสอบ และตอบคำถามเกี่ยวกับไฟล์ สำหรับการซ่อม ให้แนบโค้ดที่ล้มเหลว พฤติกรรมที่สังเกต และผลที่ตั้งใจ สำหรับการแปลง ให้ระบุภาษาโปรแกรมเป้าหมายและส่งฟังก์ชันที่เกี่ยวข้องครบ สำหรับคอมเมนต์ คำสั่งงานของผู้สร้างคงโค้ดและเพิ่มคอมเมนต์ ส่วนงานสร้างโค้ดหลายแบบขอเฉพาะโค้ด ความต่างเหล่านี้ช่วยให้ผลใช้เป็นชิ้นงานโค้ดหรือคำอธิบายได้ แทนการปล่อยรูปแบบผลโดยไม่ระบุ

คู่มือมีพรอมต์ system ภาษาจีนและอังกฤษ ภาษาคำสั่ง system เพียงอย่างเดียวไม่กำหนดภาษาคำตอบ จึงควรขอภาษาคำตอบชัดเจนเมื่อต้องการคำอธิบาย แนวทางตรวจเฉพาะทางอธิบายผลภาษาจีน ส่วนพรอมต์ผู้ช่วยโปรแกรมทั่วไปให้วิธีแยกเพื่อขอการตรวจเป็นภาษาอื่น เทมเพลตงานบางแบบกำหนดภาษาคอมเมนต์ให้ตรงต้นฉบับและไม่ให้ผสมจีนกับอังกฤษ ในบทสนทนาต่อเนื่อง ให้ย้ำคำสั่งงานที่เกี่ยวข้องเมื่อเปลี่ยนการดำเนินการ เพื่อไม่ให้คำขออธิบายสับสนกับคำขอก่อนหน้าที่ให้ส่งเฉพาะโค้ด

สำหรับเติมโค้ดตามบริบท รูปแบบดั้งเดิมอธิบายไฟล์เป้าหมาย ภาษาโปรแกรม และโค้ดทั้งสองด้านของจุดแทรก ใช้พาธสัมพัทธ์กับ ###PATH: และใส่ ###LANGUAGE:; คู่มืออนุญาตให้ค่าภาษาว่างเมื่อไม่ทราบ ###MODE: เลือก LINE สำหรับเติมบรรทัดเดียวหรือ BLOCK สำหรับหลายบรรทัด โดย BLOCK เป็นค่าเริ่มต้นตามเอกสาร ลำดับ fill-in-the-middle วางส่วนท้ายก่อน แล้วส่วนต้น แล้วส่วนกลางที่ขาด ทำเครื่องหมายด้วย <|code_suffix|>, <|code_prefix|> และ <|code_middle|> เทมเพลต infilling ของผู้สร้างละพรอมต์ system การเก็บส่วนท้ายทำให้โมเดลเห็นการไหลควบคุมรอบข้างและโค้ดที่ต้องอยู่หลังจุดแทรก ผลเป็นโค้ดที่เสนอสำหรับส่วนขาด ซึ่งนำไปตรวจในตำแหน่งเดิมได้

การเติมข้ามไฟล์เพิ่มส่วนย่อยที่เกี่ยวข้องเป็นเอกสารอ้างอิง แต่ละส่วนขึ้นต้นด้วย ###REFERENCE: และ ###PATH: ของตนเอง แยกอ้างอิงเหล่านี้ออกจากไฟล์เป้าหมายและจุดแทรก เช่น เมื่อเติมฟังก์ชันที่เรียก helper ที่มีอยู่ ให้ส่ง signature และการพัฒนา helper พร้อมส่วนต้นและท้ายของฟังก์ชันเป้าหมาย คู่มือการเติมระดับโครงการขยายแนวทางนี้สู่การสร้างไฟล์ใหม่จากข้อกำหนดโครงการและโค้ดเดิมที่เกี่ยวข้อง พาธชัดเจนและสิ่งที่พึ่งพาซึ่งเลือกมา ช่วยแยกโค้ดที่ให้เป็นหลักฐานออกจากไฟล์ที่ขอให้โมเดลเติม

คำถามรีโพซิทอรีใช้โครงร่างดั้งเดิมอีกแบบ: แสดงแต่ละไฟล์ใต้ ###PATH: ใส่โค้ด แล้วถามคำถาม โจทย์ที่มีประโยชน์อาจถามว่าค่าหนึ่งนิยามที่ใดหรือการเรียกผ่านโมดูลที่ให้ไว้อย่างไร การแก้รีโพซิทอรีใช้คำสั่ง system ของตนเองสำหรับเพิ่ม ลบ หรือแก้ไฟล์ และขอผลเป็น ###PATH: {PATH} ตามด้วยโค้ด เตรียมไฟล์ที่เกี่ยวข้องและอธิบายการเปลี่ยนที่ต้องการ รวมไฟล์ที่ต้องเพิ่มหรือพฤติกรรมที่ต้องรักษา อ่านบล็อกที่ติดป้ายพาธเป็นข้อเสนอการเปลี่ยนแปลง ไม่ใช่หลักฐานว่ารีโพซิทอรีถูกแก้แล้วหรือโค้ดรันแล้ว

สำหรับสมาชิก CodeGeeX4-ALL-9B ที่เผยแพร่ ผู้สร้างระบุบริบท 128K และแนะนำเลือกเนื้อหารีโพซิทอรีที่เกี่ยวข้องเมื่อโครงการเกินหน้าต่างนั้น การค้นคืนส่วนย่อยที่เกี่ยวข้องและตัดข้อมูลนำเข้าที่ใหญ่เกินเป็นขั้นเตรียมในคู่มือรีโพซิทอรี บริบทต้องรองรับคำสั่ง โค้ดที่ส่ง และส่วนต่อที่สร้าง ชุดไฟล์ตรงจุดจึงมักมีประโยชน์กว่าการเททั้งโครงการโดยไม่แยก ตัวอย่างการตั้งค่าสร้างของผู้สร้างควบคุมความยาวรันครั้งเฉพาะ ไม่ได้กำหนดความยาวคำตอบสูงสุดสากลสำหรับ CodeGeeX4 ทุกรุ่น

ชุดนี้ยังอธิบายเวิร์กโฟลว์โปรแกรมที่เชื่อมกับตัวแปล การค้นหา และการเรียกฟังก์ชัน เวิร์กโฟลว์ดังกล่าวต้องให้แอปพลิเคชันรอบนอกจัดเครื่องมือที่ระบุชื่อและส่งผลกลับเข้าสนทนา เมื่อขอโค้ดที่รันได้ ให้ระบุภาษาที่ตั้งใจ สิ่งที่พึ่งพา และพฤติกรรมที่คาดหวัง เมื่อขอการวิเคราะห์ ให้ขออ้างอิงไฟล์หรือฟังก์ชันที่เกี่ยวข้อง คอมไพล์หรือรันการเปลี่ยนที่เสนอในสภาพแวดล้อมเป้าหมาย และตรวจพฤติกรรมกับข้อกำหนดที่ให้ไว้ก่อนนำเข้าโครงการ

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions codegeex-4

codegeex-4

Zhipu /codegeex-4

เริ่มต้น

CodeGeeX4 เป็นตระกูลโมเดลเขียนโค้ดหลายภาษาสำหรับสร้าง เติม อธิบาย ซ่อมโค้ด และตอบคำถามรีโพซิทอรี คู่มือดั้งเดิมครอบคลุมพรอมต์เฉพาะงาน การเติมช่องว่างระหว่างโค้ดที่มี และการใช้ไฟล์เกี่ยวข้องเพื่อเตรียมการเปลี่ยนแปลงพร้อมพาธไฟล์ชัดเจน

อินพุตที่รองรับ
ข้อความ
ผลลัพธ์
ข้อความ

ใช้งานได้ใน Ailoot · อินพุตและเมธอด

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
ขาเข้า
text
ขาออก
text
รูปแบบเอาต์พุต
json หรือ SSE
ฟิลด์ประเภทข้อกำหนดค่าและข้อจำกัดค่าเริ่มต้น
ฟิลด์modelประเภทstringข้อกำหนดจำเป็นค่าและข้อจำกัด
codegeex-4
ค่าเริ่มต้น—
ฟิลด์messagesประเภทmessage[]ข้อกำหนดจำเป็นค่าและข้อจำกัด
จำนวนรายการขั้นต่ำ: 1
ค่าเริ่มต้น—
ฟิลด์messages[].roleประเภทstringข้อกำหนดจำเป็นค่าและข้อจำกัด
ขึ้นอยู่กับโมเดล
ค่าเริ่มต้น—
ฟิลด์messages[].contentประเภทstringข้อกำหนดไม่บังคับค่าและข้อจำกัด
ใช้เมื่อ: บทสนทนาข้อความ
ค่าเริ่มต้น—
ฟิลด์streamประเภทbooleanข้อกำหนดไม่บังคับค่าและข้อจำกัดค่าเริ่มต้นfalse
ชุดผสมของสื่ออินพุต

ข้อความ · ข้อความ UTF8

messages[].content

พารามิเตอร์และวงจรการทำงานของเมธอด
พารามิเตอร์ข้อกำหนด
พารามิเตอร์content_typeข้อกำหนดapplication/json
พารามิเตอร์requiredข้อกำหนดmodel, messages
พารามิเตอร์material_typesข้อกำหนดtext
พารามิเตอร์messagesข้อกำหนดอาร์เรย์ข้อความที่มีโครงสร้าง role/content
พารามิเตอร์file_materialข้อกำหนดแทรกเอกสาร UTF-8 จริงเป็นข้อความตามต้นฉบับ โดยไม่อนุมาน ID ไฟล์
พารามิเตอร์optional_controlsข้อกำหนดstream
พารามิเตอร์control_scopeข้อกำหนดบทสนทนาข้อความ โดย stream เป็นบูลีนและมีค่าเริ่มต้น false
พารามิเตอร์output_modalitiesข้อกำหนดtext
พารามิเตอร์hosted_operationsข้อกำหนดfalse
พารามิเตอร์multimodal_input_bindingข้อกำหนดnull

ชื่ออื่นของเมธอด: /chat/completions

วงจรการทำงาน: synchronous_or_streamed

ส่ง ID โมเดลที่ตรงทุกตัวพร้อม messages

ความยาวบริบทไม่ใช่เพดานผลลัพธ์

ไฟล์ข้อความให้ข้อความตามต้นฉบับได้ ส่วนข้อมูลเข้าภาพ/เสียง/ออบเจ็กต์ไฟล์ต้องมีการผูกที่ตรงตามจริง

ราคา

ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก

โหมดรวดเร็ว
ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
โหมดยืดหยุ่น
ไม่ได้ระบุ เมื่อเลือกโหมด flex
ระดับการใช้เหตุผลสูงสุด
ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด

อัตราค่าบริการ Ailoot

ราคาตามการตั้งค่า

การตั้งค่าตารางอัตราค่าบริการค่าบริการ
การตั้งค่าอัตราราคาพื้นฐานของโทเคนตารางอัตราค่าบริการอัตราพื้นฐานค่าบริการ
ขาเข้า · โทเค็นอินพุต $0.028 / 1K โทเค็น
ขาออก · โทเค็นเอาต์พุต $0.028 / 1K โทเค็น
ขาเข้า · การอ่านแคช $0 / 1K โทเค็น
ขาเข้า · การเขียนแคช $0 / 1K โทเค็น
ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น

Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →

ตัวอย่างคำขอ

Ailoot Ultra · OpenAI Chat

curlPython SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"codegeex-4","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="codegeex-4", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))

รับและบันทึกผลลัพธ์

Ailoot Ultra · OpenAI Chat

json หรือ SSE

เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด

เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน

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

เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ

เก็บ ID และส่วนหัวของคำขอ/คำตอบ ไม่มี URL ทั่วไปสำหรับดึงงานข้อความให้ใช้

ฟิลด์การตอบกลับ
ฟิลด์ประเภท
ฟิลด์choices[].indexประเภทinteger
ฟิลด์choices[].message.contentประเภทstring|null
ฟิลด์choices[].message.tool_callsประเภทtool_call[]
ฟิลด์choices[].message.reasoning_contentประเภทstring
ฟิลด์choices[].message.reasoning_detailsประเภทobject|array
ฟิลด์choices[].finish_reasonประเภทstring|null
ฟิลด์usageประเภทobject
ข้อผิดพลาดและขั้นตอนถัดไป
การตอบกลับเงื่อนไขขั้นตอนถัดไป
การตอบกลับ400 · invalid_request_errorเงื่อนไขฟิลด์จำเป็น รูปแบบการแทนข้อมูล หรือค่าพารามิเตอร์ไม่ถูกต้องขั้นตอนถัดไปแก้ฟิลด์ที่ระบุก่อนส่งคำขอสร้างครั้งใหม่

ชื่ออื่น

ชื่ออื่นของโมเดล

Ailoot Ultra codegeex-4

ชื่อพาธเมธอดอื่น

/chat/completions

ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล

codegeex-4

Ailoot Ultra · Anthropic Messages POST /v1/messages codegeex-4

codegeex-4

Zhipu /codegeex-4

เริ่มต้น

CodeGeeX4 เป็นตระกูลโมเดลเขียนโค้ดหลายภาษาสำหรับสร้าง เติม อธิบาย ซ่อมโค้ด และตอบคำถามรีโพซิทอรี คู่มือดั้งเดิมครอบคลุมพรอมต์เฉพาะงาน การเติมช่องว่างระหว่างโค้ดที่มี และการใช้ไฟล์เกี่ยวข้องเพื่อเตรียมการเปลี่ยนแปลงพร้อมพาธไฟล์ชัดเจน

อินพุตที่รองรับ
ข้อความ
ผลลัพธ์
json · sse

ใช้งานได้ใน Ailoot · อินพุตและเมธอด

Ailoot Ultra · Anthropic Messages POST /v1/messages
ขาเข้า
text
ขาออก
json, sse
รูปแบบเอาต์พุต
JSON หรือ SSE
ฟิลด์ประเภทข้อกำหนดค่าและข้อจำกัดค่าเริ่มต้น
ฟิลด์modelประเภทstringข้อกำหนดจำเป็นค่าและข้อจำกัด
codegeex-4
ค่าเริ่มต้น—
ฟิลด์messagesประเภทmessage[]ข้อกำหนดจำเป็นค่าและข้อจำกัดค่าเริ่มต้น—
ฟิลด์messages[].roleประเภทstringข้อกำหนดจำเป็นค่าและข้อจำกัด
user, assistant
ค่าเริ่มต้น—
ฟิลด์messages[].contentประเภทstringข้อกำหนดจำเป็นค่าและข้อจำกัดค่าเริ่มต้น—
ฟิลด์max_tokensประเภทintegerข้อกำหนดจำเป็นค่าและข้อจำกัดค่าเริ่มต้น—
ฟิลด์streamประเภทbooleanข้อกำหนดไม่บังคับค่าและข้อจำกัดค่าเริ่มต้นfalse
ชุดผสมของสื่ออินพุต

ข้อความ · ข้อความ UTF-8

สตริง messages[].content

พารามิเตอร์และวงจรการทำงานของเมธอด
พารามิเตอร์ข้อกำหนด
พารามิเตอร์content_typeข้อกำหนดapplication/json
พารามิเตอร์requiredข้อกำหนดmodel, messages, max_tokens
พารามิเตอร์optional_controlsข้อกำหนดstream
พารามิเตอร์material_typesข้อกำหนดtext
พารามิเตอร์text_file_materialข้อกำหนดอ่านเอกสาร UTF-8 จริง แล้วใส่ข้อความใน input หรือสตริงเนื้อหาข้อความที่ระบุ

วงจรการทำงาน: synchronous_or_streamed

ราคา

ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก

โหมดรวดเร็ว
ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
โหมดยืดหยุ่น
ไม่ได้ระบุ เมื่อเลือกโหมด flex
ระดับการใช้เหตุผลสูงสุด
ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด

อัตราค่าบริการ Ailoot

ราคาตามการตั้งค่า

การตั้งค่าตารางอัตราค่าบริการค่าบริการ
การตั้งค่าอัตราราคาพื้นฐานของโทเคนตารางอัตราค่าบริการอัตราพื้นฐานค่าบริการ
ขาเข้า · โทเค็นอินพุต $0.028 / 1K โทเค็น
ขาออก · โทเค็นเอาต์พุต $0.028 / 1K โทเค็น
ขาเข้า · การอ่านแคช $0 / 1K โทเค็น
ขาเข้า · การเขียนแคช $0 / 1K โทเค็น
ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น

Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →

ตัวอย่างคำขอ

Ailoot Ultra · Anthropic Messages

เนื้อหาคำขอ JSON ขั้นต่ำที่ครบถ้วนcurl · ใช้เอกสาร UTF-8 ของคุณPython · บันทึกผลลัพธ์ให้ครบถ้วน
{
  "model": "codegeex-4",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'codegeex-4', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'codegeex-4', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

รับและบันทึกผลลัพธ์

Ailoot Ultra · Anthropic Messages

JSON หรือ SSE

เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด

เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน

เก็บทุกบล็อกเนื้อหา ลายเซ็นการคิด และ ID การใช้เครื่องมือจริง ประกอบส่วนเพิ่มของบล็อก SSE ทั้งหมด บล็อกข้อความแรกไม่ใช่ผลลัพธ์ทั้งหมด

เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ

เก็บ ID และส่วนหัวของคำขอ/คำตอบ ไม่มี URL ทั่วไปสำหรับดึงงานข้อความให้ใช้

ฟิลด์การตอบกลับ
ฟิลด์ประเภท
ฟิลด์idประเภทstring
ฟิลด์modelประเภทstring
ฟิลด์content[]ประเภทtext|thinking|tool_use|other content block
ฟิลด์stop_reasonประเภทstring|null
ฟิลด์usageประเภทobject
ข้อผิดพลาดและขั้นตอนถัดไป
การตอบกลับเงื่อนไขขั้นตอนถัดไป
การตอบกลับ400 · invalid_request_errorเงื่อนไขฟิลด์จำเป็น รูปแบบการแทนข้อมูล หรือค่าพารามิเตอร์ไม่ถูกต้องขั้นตอนถัดไปแก้ฟิลด์ที่ระบุก่อนส่งคำขอสร้างครั้งใหม่

ชื่ออื่น

ชื่ออื่นของโมเดล

Ailoot Ultra codegeex-4

ชื่อพาธเมธอดอื่น

/chat/completions

ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล

codegeex-4

FAQ · CodeGeeX-4
มีอินพุตและผลลัพธ์ใดบ้าง?

POST /v1/chat/completions · codegeex-4: text → text

POST /v1/messages · codegeex-4: text → json, sse

คำขอใช้ฟิลด์ใดบ้าง?

POST /v1/chat/completions · codegeex-4: model, messages, stream

POST /v1/messages · codegeex-4: model, messages, max_tokens, stream

มีข้อจำกัดใดบ้าง?

POST /v1/chat/completions · codegeex-4: messages.min_items: 1

รายละเอียดเพิ่มเติม

เชื่อม Ailoot กับ Claude Code, OpenCode, Hermes หรือแอปของคุณ

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท: ลูกค้าหลายล้านราย; ยอดขายระดับหลายพันล้านต่อเดือน.

ซื้อโทเคนพร้อมส่วนลด

ส่วนลดสมาชิกสำหรับงานประจำ โค้ดโปรโมชั่นลดซื้อโทเคนสูงสุด 50%

สมาชิก
เลือกแพ็กเกจมีส่วนลดสำหรับคำขอประจำ
โค้ดลดสูงสุด 50%
ใส่โค้ดขณะซื้อ ราคาคำนวณใหม่ตามโปรโมชั่นที่ใช้
รายจ่ายในประวัติ
เก็บโมเดล โทเคน และยอดสำหรับทุกคำขอ

เลือกสมาชิก · ดูราคาโมเดล

เชื่อม API กับผลิตภัณฑ์ ที่คุณขาย

SaaS แอป และบอต ตามข้อเสนอและสัญญาอนุญาต Ailoot หากขายต่อให้ขอใบอนุญาตรีเซลเลอร์

แอปเชิงพาณิชย์
ใส่การสร้างข้อความ ภาพ วิดีโอ และเสียงในฟีเจอร์เสียเงินของบริการคุณ
ใบอนุญาตรีเซลเลอร์
ส่งคำอธิบายโครงการและรูปแบบการเข้าถึง ขอเงื่อนไขใช้และขายต่อเป็นลายลักษณ์อักษร
เอกสารบนเว็บไซต์
อ่านข้อเสนอ สัญญาอนุญาต และนโยบายประมวลผลข้อมูลก่อนเชื่อมได้

ขอใบอนุญาตขายต่อ · ข้อเสนอและสัญญาอนุญาต