ຂ້າມໄປຫາເນື້ອຫາ
Responses API

Responses API

ໃໝ່

POST /v1/responses ຮັບຄຳແນະນຳ ແລະ ລາຍການ input ແລ້ວສົ່ງ object response ທີ່ປະກອບດ້ວຍລາຍການ output ກັບຄືນ, ໃນຮູບແບບ OpenAI Responses. ໃຊ້ມັນກັບ responses API ຂອງ OpenAI SDK ແລະ ກັບ tool ທີ່ສ້າງເທິງມັນ, ເຊັ່ນ Codex CLI. endpoint ບໍ່ເກັບສະຖານະ: ສົ່ງການສົນທະນາທັງໝົດມາກັບທຸກຄຳຮ້ອງຂໍ.

POST https://api.shannon-ai.com/v1/responses

ຄຳຮ້ອງຂໍທີ່ນ້ອຍທີ່ສຸດແມ່ນ id ຂອງ model ແລະ ຂໍ້ຄວາມ. ຄຳຕອບບໍ່ stream ເວັ້ນແຕ່ທ່ານຂໍ.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1",
)

response = client.responses.create(
    model="shannon-3",
    input="Say hello in one sentence.",
)

print(response.output_text)

ຄຳຕອບແມ່ນ object response. output ຂອງມັນມີ reasoning, ເມື່ອ model ໄດ້ຄິດຫາເຫດຜົນ, ແລະ ຂໍ້ຄວາມ:

200 JSON
{
  "id": "resp_5f0c1e7a9b3d4c62a8e1f07d2b46c9a3",
  "object": "response",
  "created_at": 1791625200,
  "model": "shannon-3",
  "status": "completed",
  "error": null,
  "incomplete_details": null,
  "instructions": null,
  "metadata": {},
  "parallel_tool_calls": true,
  "temperature": null,
  "tool_choice": "auto",
  "tools": [],
  "top_p": null,
  "output": [
    {
      "id": "rs_8a2e6c1f4b7d4e03b9c5a1d70f3e2b64",
      "type": "reasoning",
      "summary": [
        {
          "type": "summary_text",
          "text": "The user wants a greeting in one sentence. Keep it short and friendly."
        }
      ]
    },
    {
      "id": "msg_1c7b9e3a5d2f4a86b0e4c8d19a6f7e25",
      "type": "message",
      "role": "assistant",
      "status": "completed",
      "content": [
        {
          "type": "output_text",
          "text": "Hello, it is good to meet you.",
          "annotations": []
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 1184,
    "output_tokens": 46,
    "total_tokens": 1230
  }
}

ຟີລດ໌ຂອງຄຳຮ້ອງຂໍ

model ແລະ input ແມ່ນສິ່ງທີ່ຄຳຮ້ອງຂໍຕ້ອງການ. ຖັນ Applied by ບອກຊື່ model ທີ່ຟີລດ໌ປ່ຽນຄຳຕອບ. Hosted open-weight models ແມ່ນສິບສອງ id ຂອງລາຍຊື່ model; ຕະກູນ Shannon 3 ແມ່ນ shannon-3, shannon-3-pro, shannon-3.1 ແລະ shannon-3.1-pro. Model ແລະ ລາຄາ

ຟີລດ໌ ປະເພດ ຄ່າເລີ່ມຕົ້ນ ຄຳອະທິບາຍ ນຳໃຊ້ໂດຍ
model string ຈຳເປັນ. id ຈາກລາຍຊື່ model. ການຈັບຄູ່ບໍ່ແຍກຕົວພິມນ້ອຍ-ໃຫຍ່. id ທີ່ຂາດ ຫຼື ບໍ່ໄດ້ເຜີຍແຜ່ຈະສົ່ງ 400 unknown model ກັບຄືນ. ທຸກ model
input string | array string, ເຊິ່ງຖືກອ່ານເປັນຂໍ້ຄວາມ user ໜຶ່ງອັນ, ຫຼື array ຂອງລາຍການ input. ເບິ່ງລາຍການ input ຂ້າງລຸ່ມ. ທຸກ model
instructions string ຄຳແນະນຳສຳລັບ model, system prompt ຂອງຮູບແບບນີ້. Hosted open-weight models, shannon-1.6-*, shannon-2-*, shannon-coder-1
stream boolean false true ສົ່ງຄຳຕອບເປັນ server-sent events. ເບິ່ງ Streaming ຂ້າງລຸ່ມ. ທຸກ model
max_output_tokens integer 4096 ຂີດຈຳກັດສູງສຸດຂອງຄຳຕອບ, ເປັນ tokens. ຄ່າທີ່ຢູ່ນອກ 1 ຫາ 65,536 ຖືກຍ້າຍເຂົ້າຊ່ວງນັ້ນ. ມັນຍັງເປັນຈຳນວນທີ່ກັນໄວ້ຈາກຍອດເງິນຂອງທ່ານໃນຂະນະທີ່ຄຳຮ້ອງຂໍເຮັດວຽກ. ເບິ່ງຂີດຈຳກັດ output ຂ້າງລຸ່ມ. Hosted open-weight models, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature number Sampling temperature. ໃນ hosted open-weight models ຄ່າຖືກຮັກສາໄວ້ລະຫວ່າງ 0 ຫາ 2. Hosted open-weight models; shannon-1.6-*, shannon-2-* ແລະ shannon-coder-1 ໃນຄຳຕອບທີ່ບໍ່ stream
top_p number Nucleus sampling. ຄ່າຖືກຮັກສາໄວ້ລະຫວ່າງ 0 ຫາ 1. Hosted open-weight models
tools array function ທີ່ model ອາດເອີ້ນ, ໃນຮູບແບບແບນຂອງຮູບແບບນີ້: {"type": "function", "name", "description", "parameters"}. ເບິ່ງ Tools ຂ້າງລຸ່ມ. ທຸກ model
tool_choice string | object auto "auto" ໃຫ້ model ຕັດສິນໃຈເອງ. "required" ບັງຄັບໃຫ້ມັນເອີ້ນ tool. {"type": "function", "name": "…"} ບັງຄັບໃຫ້ມັນເອີ້ນ tool ນັ້ນ. Hosted open-weight models
reasoning object {"effort": "…"} ໂດຍມີ off, low, medium ຫຼື high. ຄ່າອື່ນໃດຈະສົ່ງ 400 ກັບຄືນ. Hosted open-weight models
text object {"format": {…}} ຂໍຄຳຕອບແບບ JSON. ເບິ່ງ Structured output ຂ້າງລຸ່ມ. ທຸກລະດັບ Shannon; ສຳລັບ hosted open-weight models ແມ່ນຕາມທີ່ລະບຸໄວ້ຂອງແຕ່ລະ id

previous_response_id, store, metadata, parallel_tool_calls, truncation, include, user ແລະ prompt_cache_key ຖືກຮັບໄວ້ເພື່ອໃຫ້ໂຄ້ດ client ທີ່ມີຢູ່ເຮັດວຽກໂດຍບໍ່ຕ້ອງປ່ຽນ. ພວກມັນບໍ່ປ່ຽນຄຳຕອບ. ເນື່ອງຈາກບໍ່ມີການເກັບການສົນທະນາ, ຄຳຮ້ອງຂໍຕິດຕາມຕ້ອງນຳຮອບກ່ອນໜ້າມາໃນ input.

ລາຍການ input

ລາຍການ input ແມ່ນຂໍ້ຄວາມ, ທີ່ມີ role ແລະ content, ຫຼື ລາຍການທີ່ມີປະເພດທີ່ນຳການເອີ້ນ tool ຫຼື ຜົນລັບຂອງມັນ. content ເປັນ string ຫຼື array ຂອງສ່ວນຕ່າງໆ.

ລາຍການ ຄຳອະທິບາຍ ນຳໃຊ້ໂດຍ
{"role": "user", "content": …} ສິ່ງທີ່ທ່ານຖາມ. content ເປັນ string, ຫຼື ສ່ວນ input_text ແລະ input_image. ທຸກ model
{"role": "assistant", "content": …} ຄຳຕອບກ່ອນໜ້ານີ້ຂອງ model. content ເປັນ string, ຫຼື ສ່ວນ output_text. ທຸກ model
{"role": "system", "content": …}
{"role": "developer", "content": …}
ຄຳແນະນຳພາຍໃນການສົນທະນາ. Hosted open-weight models
{"type": "function_call", "call_id": "…", "name": "…", "arguments": "…"} ການເອີ້ນ tool ທີ່ model ເຮັດໃນຄຳຕອບກ່ອນໜ້າ. arguments ເປັນ string JSON. ທຸກ model
{"type": "function_call_output", "call_id": "…", "output": "…"} ຜົນລັບຂອງການເອີ້ນນັ້ນ. call_id ແມ່ນ id ຂອງການເອີ້ນ ແລະ output ແມ່ນຜົນລັບເປັນ string. ທຸກ model

ໃສ່ຄຳແນະນຳໃນຟີລດ໌ instructions. ກັບ id ໃນຕະກູນ Shannon 3, ໃຫ້ໃສ່ຄຳແນະນຳທີ່ຕ້ອງປະຕິບັດຕາມໄວ້ໃນຂໍ້ຄວາມ user.

ລາຍການຂອງ output ໃນຄຳຕອບສາມາດສົ່ງກັບເຂົ້າ input ຕາມທີ່ມັນເປັນ: ລາຍການ message ແລະ function_call ຖືກອ່ານ, ລາຍການ reasoning ຖືກຂ້າມ.

ສ່ວນຂອງເນື້ອຫາ

ສ່ວນ ຄຳອະທິບາຍ ໃຊ້ໄດ້ກັບ
{"type": "input_text", "text": "…"} ຂໍ້ຄວາມຂອງຂໍ້ຄວາມ user. ທຸກ model
{"type": "output_text", "text": "…"} ຂໍ້ຄວາມຂອງຂໍ້ຄວາມ assistant. ທຸກ model
{"type": "input_image", "image_url": "…"} ຮູບພາບ, ເປັນ data: URL ທີ່ມີເນື້ອຫາ base64 ຫຼື ເປັນ URL http(s). ຕະກູນ Shannon 3, shannon-1.6-lite, shannon-1.6-pro, ແລະ hosted open-weight models ທີ່ລະບຸ input ຮູບພາບ
{"type": "input_file", "file_data": "data:application/pdf;base64,…"} ເອກະສານ (PDF, Word, PowerPoint ຫຼື Excel): file_data ເກັບ data: URL, ຫຼື file_url ເກັບ URL http(s). ຕະກູນ Shannon 3

ໃນລະດັບ Shannon ຮູບພາບ ແລະ ໄຟລ໌ຖືກອ່ານຈາກລາຍການ user ສຸດທ້າຍຂອງ input. ຂະໜາດ ແລະ ຂີດຈຳກັດມີໜ້າຂອງຕົນເອງ. ຮູບພາບ ແລະ ໄຟລ໌

ຄຳຮ້ອງຂໍທີ່ມີ instructions ແລະ options

ຄຳຮ້ອງຂໍນີ້ສົ່ງຄຳແນະນຳ, ການສົນທະນາເປັນລາຍການ input, ຂີດຈຳກັດ output, temperature ແລະ reasoning effort. ມັນໃຊ້ hosted open-weight model ເຊິ່ງນຳໃຊ້ທັງໝົດນີ້.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1",
)

response = client.responses.create(
    model="DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
    instructions="You are a physics teacher. Answer in two sentences.",
    input=[
        {"role": "user", "content": "Why is the sky blue?"},
        {"role": "assistant", "content": "Air scatters blue light more than red light."},
        {"role": "user", "content": "And why are sunsets red?"},
    ],
    max_output_tokens=512,
    temperature=0.3,
    reasoning={"effort": "low"},
)

for item in response.output:
    if item.type == "reasoning":
        print("reasoning:", item.summary[0].text)
    elif item.type == "message":
        print("answer:", item.content[0].text)
print(response.usage)

ຄຳຕອບຂອງ hosted open-weight model ມີ id, object, model, created_at, status, output ແລະ usage. usage ຂອງມັນເພີ່ມ tokens ທີ່ອ່ານຈາກ cache ແລະ tokens ທີ່ໃຊ້ກັບ reasoning:

200 JSON
{
  "usage": {
    "input_tokens": 58,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 67,
    "output_tokens_details": {
      "reasoning_tokens": 19
    },
    "total_tokens": 125
  }
}

object ຂອງ response

id, object, status, output ແລະ usage ມີໃນທຸກຄຳຕອບ. ສ້າງໂຄ້ດຂອງທ່ານເທິງຟີລດ໌ເຫຼົ່ານັ້ນ.

ຟີລດ໌ ປະເພດ ຄຳອະທິບາຍ ສົ່ງໂດຍ
id string resp_ ຕາມດ້ວຍຕົວອັກສອນເລກຖານສິບຫົກ 32 ຕົວ. ທຸກ model
object string ເປັນ response ສະເໝີ. ທຸກ model
status string completed. ໃນ stream ມັນເປັນ in_progress ກ່ອນ, ແລະ failed ໃນ event response.failed. ທຸກ model
output array ລາຍການ output ຕາມລຳດັບທີ່ model ສ້າງ: reasoning, message, function_call. ທຸກ model
usage object input_tokens, output_tokens ແລະ total_tokens. ທຸກ model
usage.input_tokens_details object cached_tokens: ຈຳນວນ input tokens ທີ່ອ່ານມາຈາກ prompt cache. Hosted open-weight models
usage.output_tokens_details object reasoning_tokens: ຈຳນວນ output tokens ທີ່ໃຊ້ໄປກັບການຄິດຫາເຫດຜົນ (reasoning). Hosted open-weight models
model string id ມາດຕະຖານຂອງ model ທີ່ຕອບ. ຕະກູນ Shannon 3 ແລະ model open-weight ທີ່ host ໄວ້
created_at integer ເວລາຂອງຄຳຕອບ, ເປັນວິນາທີ Unix. ຕະກູນ Shannon 3 ແລະ model open-weight ທີ່ host ໄວ້
instructions, tools, temperature, … instructions, tools ແລະ temperature ຊ້ຳຕາມຄຳຮ້ອງຂໍ. error ແລະ incomplete_details ເປັນ null, metadata ເປັນ {}, parallel_tool_calls ເປັນ true, tool_choice ເປັນ auto ແລະ top_p ເປັນ null. ຕະກູນ Shannon 3

ລາຍການ output

ລາຍການ ຄຳອະທິບາຍ
{"id": "rs_…", "type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} reasoning ຂອງ model ເປັນສ່ວນ summary_text ໜຶ່ງອັນ. ມີສະເພາະເມື່ອ model ໄດ້ຄິດຫາເຫດຜົນ.
{"id": "msg_…", "type": "message", "role": "assistant", "content": [{"type": "output_text", "text": "…"}]} ຄຳຕອບ: ສ່ວນ output_text ໜຶ່ງອັນທີ່ມີຂໍ້ຄວາມ.
{"id": "fc_…", "type": "function_call", "call_id": "call_…", "name": "…", "arguments": "…"} ການເອີ້ນ tool. arguments ເປັນ string JSON. ສົ່ງຜົນລັບກັບຄືນດ້ວຍ call_id ດຽວກັນ.

SDK ຂອງ OpenAI ຕໍ່ຂໍ້ຄວາມຂອງຂໍ້ຄວາມໃຫ້ທ່ານໃນ response.output_text.

Streaming

ຕັ້ງ stream ເປັນ true ເພື່ອຮັບ server-sent events. ແຕ່ລະ frame ມີແຖວ event: ທີ່ມີຊື່ຂອງ event ແລະ ແຖວ data: ທີ່ມີ object JSON; object ຊ້ຳຊື່ໃນ type. ຈັບຄູ່ delta ກັບລາຍການຂອງມັນດ້ວຍ output_index.

ກັບ SDK ຂອງ OpenAI, ອ່ານ event ຕາມ type ຂອງມັນ:

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1",
)

stream = client.responses.create(
    model="shannon-3",
    input="Explain server-sent events in three sentences.",
    stream=True,
)

for event in stream:
    kind = getattr(event, "type", "error")     # an event without a type is an error event
    if kind == "response.reasoning_summary_text.delta":
        pass                                   # a piece of reasoning: event.delta
    elif kind == "response.output_text.delta":
        print(event.delta, end="", flush=True)
    elif kind == "response.output_item.done" and event.item.type == "function_call":
        print("\ntool call:", event.item.name, event.item.arguments)
    elif kind == "response.completed":
        print("\n", event.response.usage)
    elif kind in ("response.failed", "error"):
        raise RuntimeError("the stream failed, send the request again")

event ມາຕາມລຳດັບນີ້. ກຸ່ມສຳລັບ reasoning, ຂໍ້ຄວາມ ແລະ ການເອີ້ນ tool ປາກົດສະເພາະເມື່ອຄຳຕອບມີມັນ.

Event Payload ເມື່ອໃດ
response.created response ເປັນອັນທຳອິດສະເໝີ. response.status ແມ່ນ in_progress ແລະ response.output ວ່າງ.
response.in_progress response ເປັນອັນທີສອງສະເໝີ, ດ້ວຍ object ດຽວກັນ.
response.output_item.added output_index, item reasoning ເລີ່ມ: ລາຍການ reasoning ທີ່ມີ summary ວ່າງ.
response.reasoning_summary_text.delta output_index, summary_index, delta ສ່ວນໜຶ່ງຂອງ reasoning.
response.reasoning_summary_text.done output_index, summary_index, text reasoning ສົມບູນ: text ທັງໝົດຂອງມັນ.
response.output_item.done output_index, item ລາຍການ reasoning ທີ່ສຳເລັດແລ້ວ.
response.output_item.added output_index, item ຄຳຕອບເລີ່ມ: ລາຍການ message ທີ່ມີ status in_progress ແລະ ບໍ່ມີເນື້ອຫາ.
response.content_part.added output_index, content_index, part ສ່ວນ output_text ທີ່ວ່າງເປີດຂຶ້ນ.
response.output_text.delta output_index, content_index, delta ສ່ວນໜຶ່ງຂອງຄຳຕອບ.
response.output_text.done output_index, content_index, text ຄຳຕອບສົມບູນ: text ທັງໝົດຂອງມັນ.
response.content_part.done output_index, content_index, part ສ່ວນ output_text ທີ່ສຳເລັດແລ້ວ.
response.output_item.done output_index, item ລາຍການ message ທີ່ສຳເລັດແລ້ວ, ດ້ວຍ status completed.
response.output_item.added output_index, item ການເອີ້ນ tool ເລີ່ມ: ລາຍການ function_call ທີ່ມີ call_id, name ແລະ arguments ວ່າງ.
response.function_call_arguments.delta output_index, delta arguments ຂອງການເອີ້ນ, ຄົບຖ້ວນໃນ delta ດຽວ.
response.function_call_arguments.done output_index, arguments arguments ດຽວກັນ, ເປັນ arguments.
response.output_item.done output_index, item ລາຍການ function_call ທີ່ສຳເລັດແລ້ວ.
response.completed response ເປັນອັນສຸດທ້າຍສະເໝີເມື່ອສຳເລັດ: object response ທັງໝົດພ້ອມ output ແລະ usage.
200 text/event-stream
event: response.created
data: {"type":"response.created","response":{"id":"resp_5f0c…","object":"response","status":"in_progress","output":[], …}}

event: response.in_progress
data: {"type":"response.in_progress","response":{"id":"resp_5f0c…","object":"response","status":"in_progress","output":[], …}}

event: response.output_item.added
data: {"type":"response.output_item.added","output_index":0,"item":{"id":"msg_1c7b…","type":"message","role":"assistant","status":"in_progress","content":[]}}

event: response.content_part.added
data: {"type":"response.content_part.added","output_index":0,"content_index":0,"part":{"type":"output_text","text":""}}

event: response.output_text.delta
data: {"type":"response.output_text.delta","output_index":0,"content_index":0,"delta":"Server-sent"}

event: response.output_text.delta
data: {"type":"response.output_text.delta","output_index":0,"content_index":0,"delta":" events let a server push text over one HTTP reply."}

event: response.output_text.done
data: {"type":"response.output_text.done","output_index":0,"content_index":0,"text":"Server-sent events let a server push text over one HTTP reply."}

event: response.content_part.done
data: {"type":"response.content_part.done","output_index":0,"content_index":0,"part":{"type":"output_text","text":"Server-sent events let a server push text over one HTTP reply."}}

event: response.output_item.done
data: {"type":"response.output_item.done","output_index":0,"item":{"id":"msg_1c7b…","type":"message","role":"assistant","status":"completed","content":[{"type":"output_text","text":"Server-sent events let a server push text over one HTTP reply.","annotations":[]}]}}

event: response.completed
data: {"type":"response.completed","response":{"id":"resp_5f0c…","object":"response","status":"completed","output":[…],"usage":{"input_tokens":1190,"output_tokens":18,"total_tokens":1208}, …}}

stream ທີ່ລົ້ມເຫຼວ

ໃນລະດັບ Shannon ຄຳຕອບທີ່ລົ້ມເຫຼວຈົບດ້ວຍ response.failed ແທນ response.completed. response.status ຂອງມັນເປັນ failed ແລະ response.error ມີ code, rate_limit_exceeded ຫຼື server_error, ແລະ message.

ໃນ hosted open-weight models ຄວາມລົ້ມເຫຼວແມ່ນ event error ທີ່ມີ code api_error ແລະ message. response.completed ຍັງຕາມມາ.

ຖືວ່າ stream ລົ້ມເຫຼວເມື່ອມັນມີ event response.failed ຫຼື error, ແລະ ສົ່ງຄຳຮ້ອງຂໍອີກ.

Tools

tool ແມ່ນ function ທີ່ໂຄ້ດຂອງທ່ານຮັນ. ອະທິບາຍມັນໃນ tools; ເມື່ອ model ຕ້ອງການມັນ, ຄຳຕອບມີລາຍການ function_call ແທນ, ຫຼື ຄຽງຂ້າງ, ຂໍ້ຄວາມ.

ຄຳນິຍາມ tool ໃນ tools:

tools
[
  {
    "type": "function",
    "name": "get_weather",
    "description": "Current weather for a city.",
    "parameters": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string"
        }
      },
      "required": [
        "city"
      ]
    }
  }
]

output ຂອງຄຳຕອບທີ່ເອີ້ນມັນ:

200 output
[
  {
    "id": "call_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
    "type": "function_call",
    "name": "get_weather",
    "call_id": "call_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
    "arguments": "{\"city\":\"Paris\"}"
  }
]

ຮັນ function, ແລ້ວສົ່ງຄຳຮ້ອງຂໍອີກໂດຍເພີ່ມການເອີ້ນ ແລະ ຜົນລັບຂອງມັນເຂົ້າໃນ input:

input
[
  {
    "role": "user",
    "content": "What is the weather in Paris?"
  },
  {
    "type": "function_call",
    "call_id": "call_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
    "name": "get_weather",
    "arguments": "{\"city\":\"Paris\"}"
  },
  {
    "type": "function_call_output",
    "call_id": "call_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
    "output": "{\"temperature_c\": 18, \"sky\": \"cloudy\"}"
  }
]

ອ່ານສະເພາະ tool ປະເພດ function. ໃນ shannon-1.6-*, shannon-2-* ແລະ shannon-coder-1 schema parameters ຖືກຫຼຸດເຫຼືອ keyword ທົ່ວໄປຂອງ JSON Schema: oneOf ຖືກອ່ານເປັນ anyOf, ແລະ keyword ເຊັ່ນ $ref, additionalProperties, const, default ແລະ title ຈະບໍ່ຖືກສົ່ງໃຫ້ model.

ຄ່າ tool_choice required ແລະ function ທີ່ລະບຸຊື່ຖືກນຳໃຊ້ໂດຍ hosted open-weight models.

loop ຂອງ tool ຖືກອະທິບາຍຄົບຖ້ວນໃນໜ້າຂອງຕົນເອງ. ການເອີ້ນຟັງຊັນ

Structured output

ຮູບແບບນີ້ຂຽນ structured output ເປັນ text.format. schema ຢູ່ໂດຍກົງໃນ format, ຂ້າງ name ແລະ strict, ບໍ່ແມ່ນພາຍໃຕ້ສະມາຊິກ json_schema ຄືໃນ Chat Completions.

  • {"type": "json_object"} ຂໍ object JSON ໃດກໍໄດ້.
  • {"type": "json_schema", "name", "schema", "strict"} ຂໍ JSON ທີ່ເປັນໄປຕາມ schema ຂອງທ່ານ. strict ເປັນ true ເມື່ອທ່ານບໍ່ໃສ່.
POST /v1/responses
{
  "model": "shannon-1.6-lite",
  "input": "Extract the city and the date: 'The conference opens in Lisbon on 12 May 2027.'",
  "text": {
    "format": {
      "type": "json_schema",
      "name": "event",
      "strict": true,
      "schema": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "description": "ISO 8601 date"
          }
        },
        "required": [
          "city",
          "date"
        ]
      }
    }
  }
}

JSON ມາເປັນຂໍ້ຄວາມໃນສ່ວນ output_text ຂອງຂໍ້ຄວາມ; ແຕກ (parse) ມັນເອງ. hosted open-weight model ທີ່ບໍ່ມີ structured output ສົ່ງ 400 ກັບຄືນ.

output_text
{"city": "Lisbon", "date": "2027-05-12"}

model ໃດຮັບຮູບແບບໃດຖືກລາຍຊື່ໄວ້ໃນໜ້າຂອງຕົນເອງ. ຜົນອອກມີໂຄງສ້າງ

Reasoning

model ທີ່ຄິດຫາເຫດຜົນສົ່ງ reasoning ຂອງມັນເປັນລາຍການ output ປະເພດ reasoning, ກ່ອນຂໍ້ຄວາມ. ໃນ stream ມັນມາເປັນ event response.reasoning_summary_text.delta.

Hosted open-weight models ນຳໃຊ້ reasoning.effort: off, low, medium ຫຼື high, ແລະ ເປັນ high ເມື່ອທ່ານບໍ່ສົ່ງຫຍັງ. off ບໍ່ສົ່ງລາຍການ reasoning. ສົ່ງມັນເປັນ object; string ເປົ່າບໍ່ຖືກອ່ານໃນ endpoint ນີ້.

ແຕ່ລະ effort ຖືກອະທິບາຍໄວ້ໃນໜ້າຂອງຕົນເອງ. Reasoning effort

ຂີດຈຳກັດ output

max_output_tokens ແມ່ນ 4,096 ເມື່ອທ່ານບໍ່ສົ່ງມັນ. ມັນແມ່ນຈຳນວນ tokens ທີ່ກັນໄວ້ຈາກຍອດເງິນຂອງທ່ານເມື່ອຄຳຮ້ອງຂໍເລີ່ມ; ເມື່ອຄຳຕອບສົມບູນ, ຈຳນວນນັ້ນຖືກແທນທີ່ດ້ວຍສິ່ງທີ່ຄຳຮ້ອງຂໍໃຊ້. ຄ່າທີ່ບໍ່ພໍດີກັບຍອດເງິນທີ່ເຫຼືອຈະສົ່ງ 429 Quota exceeded ກັບຄືນ.

ມັນຈຳກັດຄວາມຍາວຂອງຄຳຕອບໃນ shannon-1.6-*, shannon-2-* ແລະ shannon-coder-1, ແລະ ຄວາມຍາວຂອງຂໍ້ຄວາມຄຳຕອບໃນ hosted open-weight models.

ໃນ endpoint ນີ້ shannon-coder-1 ຖືກຄິດເງິນເປັນ tokens ຈາກຍອດເງິນຂອງທ່ານ, ຄືກັບ model ອື່ນທັງໝົດ.

body ຂອງຄຳຮ້ອງຂໍໃຫຍ່ໄດ້ເຖິງ 32 MiB. ຂີດຈຳກັດ ແລະ ຍອດເງິນ

ຂໍ້ຜິດພາດ

ຂໍ້ຜິດພາດໃຊ້ body ຂໍ້ຜິດພາດຂອງ OpenAI: object error ທີ່ມີ type ແລະ message; ບາງອັນມີ code ແລະ param ທີ່ມີຄ່າ null ນຳ. ຕາຕະລາງລາຍຊື່ສິ່ງທີ່ endpoint ນີ້ສົ່ງກັບເລື້ອຍທີ່ສຸດ. ລາຍຊື່ເຕັມ, ພ້ອມສິ່ງທີ່ຄວນລອງໃໝ່, ມີໜ້າຂອງຕົນເອງ. ການຈັດການຂໍ້ຜິດພາດ

Status ປະເພດ ຂໍ້ຄວາມ ເມື່ອໃດ
401 authentication_error Missing authentication
Invalid API key
ບໍ່ໄດ້ສົ່ງ API key, ຫຼື key ບໍ່ຮູ້ຈັກ ຫຼື ຖືກຖອນແລ້ວ.
400 invalid_request_error unknown model: <id> ຂາດ model ຫຼື ບໍ່ແມ່ນ id ທີ່ເຜີຍແຜ່.
400 invalid_request_error No user message provided. ລະດັບ Shannon: input ບໍ່ມີຂໍ້ຄວາມຂອງ user.
400 invalid_request_error <id> does not accept image input ສົ່ງຮູບພາບໄປຫາ hosted open-weight model ທີ່ບໍ່ຮັບ input ຮູບພາບ.
400 invalid_request_error <id> does not accept response_format ສົ່ງ text.format ໄປຫາ hosted open-weight model ທີ່ບໍ່ຮອງຮັບ structured output (ຜົນລັບແບບມີໂຄງສ້າງ).
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high reasoning.effort ມີຄ່າທີ່ຢູ່ນອກລາຍຊື່.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … body ເປັນ JSON ທີ່ຖືກຕ້ອງ ແຕ່ຟີລດ໌ມີປະເພດຜິດ.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan max_output_tokens ໃຫຍ່ກວ່າສິ່ງທີ່ເຫຼືອຢູ່ໃນຍອດເງິນຂອງທ່ານ.
429 rate_limit_error Too many requests. Retry in <n>s. Flood protection: ເກີນ 120 ຄຳຮ້ອງຂໍໃນໜຶ່ງນາທີຕໍ່ບັນຊີຂອງທ່ານ.
500 api_error The model backend failed to answer. Please retry. model ບໍ່ໄດ້ສ້າງຄຳຕອບ. ສົ່ງຄຳຮ້ອງຂໍອີກ.
502 api_error The model backend failed to answer. Please retry. ເຊັ່ນດຽວກັນ, ສຳລັບ model open-weight ທີ່ host ໄວ້.
504 api_error upstream timed out hosted open-weight model ໃຊ້ເວລາດົນກວ່າຂີດຈຳກັດເວລາຂອງຄຳຕອບທີ່ບໍ່ stream. ສົ່ງມັນດ້ວຍ stream ທີ່ຕັ້ງເປັນ true.