ਸਮੱਗਰੀ ਤੇ ਜਾਓ
Chat Completions

Chat Completions

POST /v1/chat/completions ਇੱਕ ਗੱਲਬਾਤ ਲੈਂਦਾ ਹੈ ਅਤੇ OpenAI Chat Completions ਫਾਰਮੈਟ ਵਿੱਚ ਮਾਡਲ ਦਾ ਅਗਲਾ message ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਸ ਨੂੰ ਕਿਸੇ ਵੀ OpenAI SDK ਤੋਂ ਜਾਂ ਸਾਦੇ HTTP ਉੱਤੇ ਵਰਤੋ; ਇਹ ਪੰਨਾ ਫੀਲਡ-ਦਰ-ਫੀਲਡ ਹਵਾਲਾ ਹੈ।

POST https://api.shannon-ai.com/v1/chat/completions

ਸਭ ਤੋਂ ਛੋਟੀ ਰਿਕੁਐਸਟ ਵਿੱਚ ਇੱਕ ਮਾਡਲ id ਅਤੇ ਇੱਕ user message ਹੁੰਦਾ ਹੈ।

from openai import OpenAI

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

response = client.chat.completions.create(
    model="shannon-3",
    messages=[{"role": "user", "content": "Say hello in one sentence."}],
)

print(response.choices[0].message.content)

ਜਵਾਬ ਇੱਕ JSON object ਹੈ:

200 JSON
{
  "id": "chatcmpl-5f0c1e7a9b3d4c62a8e1f07d2b46c9a3",
  "object": "chat.completion",
  "created": 1791625200,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello, it is good to meet you.",
        "reasoning_content": "The user wants a greeting in one sentence. Keep it short and friendly."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1184,
    "completion_tokens": 46,
    "total_tokens": 1230
  }
}

ਹੈਡਰ

ਰਿਕੁਐਸਟ ਹੈਡਰ

ਹੈਡਰ ਮੁੱਲ ਵੇਰਵਾ
Authorization Bearer YOUR_API_KEY ਤੁਹਾਡੀ API key। ਹਰ endpoint ਉੱਤੇ ਇਸ ਦੀ ਥਾਂ x-api-key: YOUR_API_KEY ਸਵੀਕਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
Content-Type application/json ਲਾਜ਼ਮੀ। ਕੋਈ ਵੀ ਹੋਰ ਮੁੱਲ 415 ਵਾਪਸ ਕਰਦਾ ਹੈ।
x-request-id ਵਿਕਲਪਿਕ। ਰਿਕੁਐਸਟ ਲਈ ਤੁਹਾਡੀ ਆਪਣੀ id। ਇਹ ਜਵਾਬ ਉੱਤੇ ਬਿਨਾਂ ਬਦਲਾਅ ਦੇ ਵਾਪਸ ਆਉਂਦੀ ਹੈ।

ਜਵਾਬ ਹੈਡਰ

ਹੈਡਰ ਵੇਰਵਾ
x-request-id ਹਰ ਜਵਾਬ ਉੱਤੇ, ਗਲਤੀਆਂ ਅਤੇ streams ਸਮੇਤ: ਉਹ ਮੁੱਲ ਜੋ ਤੁਸੀਂ ਭੇਜਿਆ, ਜਾਂ ਕੁਝ ਨਾ ਭੇਜਣ ਉੱਤੇ 12 ਹੈਕਸਾਡੈਸੀਮਲ ਅੱਖਰ। ਸਮੱਸਿਆ ਦੀ ਰਿਪੋਰਟ ਕਰਦੇ ਸਮੇਂ ਇਸ ਦਾ ਹਵਾਲਾ ਦਿਓ।
content-type application/json, ਜਾਂ ਜਦੋਂ stream true ਹੋਵੇ ਤਾਂ text/event-stream।

ਰਿਕੁਐਸਟ ਫੀਲਡ

ਸਿਰਫ਼ messages ਲਾਜ਼ਮੀ ਹੈ। Applied by ਕਾਲਮ ਉਹ ਮਾਡਲ ਦੱਸਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਉੱਤੇ ਕੋਈ ਫੀਲਡ ਜਵਾਬ ਬਦਲਦਾ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ ਮਾਡਲ ਸੂਚੀ ਦੀਆਂ ਬਾਰਾਂ ids ਹਨ; Shannon 3 ਪਰਿਵਾਰ shannon-3, shannon-3-pro, shannon-3.1 ਅਤੇ shannon-3.1-pro ਹੈ। ਮਾਡਲ ਅਤੇ ਕੀਮਤਾਂ

ਫੀਲਡ ਕਿਸਮ ਡਿਫੌਲਟ ਵੇਰਵਾ ਕੌਣ ਲਾਗੂ ਕਰਦਾ ਹੈ
model string shannon-1.6-lite ਜਵਾਬ ਦੇਣ ਵਾਲਾ ਮਾਡਲ: ਮਾਡਲ ਸੂਚੀ ਵਿੱਚੋਂ ਇੱਕ id। ਇਸ ਨੂੰ ਹਰ ਰਿਕੁਐਸਟ ਨਾਲ ਭੇਜੋ। ਮਿਲਾਨ ਵਿੱਚ ਛੋਟੇ-ਵੱਡੇ ਅੱਖਰਾਂ ਦਾ ਫ਼ਰਕ ਨਹੀਂ ਪੈਂਦਾ। ਜੋ id ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਹੈ, ਉਹ 400 unknown model ਦਿੰਦੀ ਹੈ। ਸਾਰੇ ਮਾਡਲ
messages array ਲਾਜ਼ਮੀ। ਗੱਲਬਾਤ, ਸਭ ਤੋਂ ਪੁਰਾਣਾ message ਪਹਿਲਾਂ। ਹੇਠਾਂ Messages ਵੇਖੋ। ਸਾਰੇ ਮਾਡਲ
stream boolean false true ਜਵਾਬ ਨੂੰ ਲਿਖੇ ਜਾਣ ਦੌਰਾਨ server-sent events ਵਜੋਂ ਭੇਜਦਾ ਹੈ। ਸਾਰੇ ਮਾਡਲ
max_tokens integer 4096 ਜਵਾਬ ਦੀ ਉੱਪਰਲੀ ਹੱਦ, tokens ਵਿੱਚ। 1 ਤੋਂ 65,536 ਤੋਂ ਬਾਹਰ ਦਾ ਮੁੱਲ ਉਸ ਦਾਇਰੇ ਵਿੱਚ ਲਿਆਂਦਾ ਜਾਂਦਾ ਹੈ। ਰਿਕੁਐਸਟ ਚੱਲਣ ਦੌਰਾਨ ਤੁਹਾਡੇ ਬੈਲੇਂਸ ਵਿੱਚੋਂ ਇਹੀ ਰਕਮ ਵੱਖ ਰੱਖੀ ਜਾਂਦੀ ਹੈ। ਹੇਠਾਂ ਆਉਟਪੁੱਟ ਦੀ ਲੰਬਾਈ ਵੇਖੋ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
max_completion_tokens integer max_tokens ਵਾਂਗ ਹੀ। ਜਦੋਂ ਦੋਵੇਂ ਭੇਜੇ ਜਾਣ, max_tokens ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
temperature number ਸੈਂਪਲਿੰਗ temperature। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲਾਂ ਉੱਤੇ ਡਿਫਾਲਟ 1 ਹੈ ਅਤੇ ਮੁੱਲ 0 ਤੋਂ 2 ਦੇ ਵਿਚਕਾਰ ਰੱਖੇ ਜਾਂਦੇ ਹਨ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
top_p number 0.95 Nucleus ਸੈਂਪਲਿੰਗ। ਮੁੱਲ 0 ਤੋਂ 1 ਦੇ ਵਿਚਕਾਰ ਰੱਖੇ ਜਾਂਦੇ ਹਨ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ
seed integer ਸੈਂਪਲਰ ਦਾ seed, ਕੋਈ ਵੀ ਪੂਰਨ ਅੰਕ। ਇਸ ਤੋਂ ਬਿਨਾਂ seed ਮਾਡਲ ਅਤੇ ਗੱਲਬਾਤ ਤੋਂ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਦੋ ਵਾਰ ਭੇਜੀ ਇੱਕੋ ਰਿਕੁਐਸਟ ਇੱਕੋ seed ਵਰਤਦੀ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ
stop string | array ਇੱਕ string ਜਾਂ strings ਦਾ array। ਵੱਧ ਤੋਂ ਵੱਧ 4 ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ਜਵਾਬ ਪਹਿਲੇ ਆਉਣ ਵਾਲੇ ਤੋਂ ਪਹਿਲਾਂ ਖਤਮ ਹੋ ਜਾਂਦਾ ਹੈ; ਰੁਕਣ ਵਾਲਾ ਟੈਕਸਟ ਆਪ ਵਾਪਸ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ
reasoning_effort string high ਜਵਾਬ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਮਾਡਲ ਕਿੰਨੀ ਰੀਜ਼ਨਿੰਗ ਕਰਦਾ ਹੈ: off, low, medium ਜਾਂ high। none ਅਤੇ minimal ਦਾ ਮਤਲਬ off ਹੈ, default ਦਾ ਮਤਲਬ medium ਹੈ, max ਦਾ ਮਤਲਬ high ਹੈ। ਕੋਈ ਹੋਰ ਮੁੱਲ 400 ਵਾਪਸ ਕਰਦਾ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ
reasoning object ਉਹੀ ਸੈਟਿੰਗ object ਰੂਪ ਵਿੱਚ: {"effort": "low"}। ਜਦੋਂ ਦੋਵੇਂ ਭੇਜੇ ਜਾਣ, reasoning_effort ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ
tools array ਉਹ ਫੰਕਸ਼ਨ ਜੋ ਮਾਡਲ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ, ਹਰ ਇੱਕ {"type": "function", "function": {"name", "description", "parameters"}} ਰੂਪ ਵਿੱਚ। ਮਾਡਲ ਦੀਆਂ ਕਾਲਾਂ tool_calls ਵਿੱਚ ਵਾਪਸ ਆਉਂਦੀਆਂ ਹਨ; ਤੁਹਾਡਾ ਕੋਡ ਉਨ੍ਹਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ। ਸਾਰੇ ਮਾਡਲ
tool_choice string | object auto "auto" ਮਾਡਲ ਨੂੰ ਫੈਸਲਾ ਕਰਨ ਦਿੰਦਾ ਹੈ। "required" ਉਸ ਤੋਂ ਟੂਲ ਕਾਲ ਕਰਵਾਉਂਦਾ ਹੈ। {"type": "function", "function": {"name": "…"}} ਉਸ ਤੋਂ ਉਹੀ ਟੂਲ ਕਾਲ ਕਰਵਾਉਂਦਾ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ
response_format object JSON ਜਵਾਬ ਲਈ {"type": "json_object"}, ਜਾਂ ਤੁਹਾਡੀ schema ਦੀ ਪਾਲਣਾ ਕਰਨ ਵਾਲੇ ਜਵਾਬ ਲਈ {"type": "json_schema", "json_schema": {…}}। ਸਾਰੇ Shannon ਟੀਅਰ; ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ ਜਿਵੇਂ ਹਰ id ਲਈ ਸੂਚੀਬੱਧ ਹੈ
web_search boolean false true ਮਾਡਲ ਨੂੰ ਜਵਾਬ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਵੈੱਬ ਉੱਤੇ ਖੋਜ ਕਰਨ ਦਿੰਦਾ ਹੈ। shannon-1.6-*, shannon-2-*, Shannon 3 ਪਰਿਵਾਰ

OpenAI ਦੇ ਹੋਰ ਫੀਲਡ, ਜਿਵੇਂ n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store ਅਤੇ prompt_cache_key, ਇਸ ਲਈ ਸਵੀਕਾਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਕਿ ਮੌਜੂਦਾ ਕਲਾਇੰਟ ਕੋਡ ਬਿਨਾਂ ਬਦਲਾਅ ਦੇ ਚੱਲੇ। ਉਹ ਜਵਾਬ ਨਹੀਂ ਬਦਲਦੇ: ਹਮੇਸ਼ਾ ਇੱਕ ਹੀ choice ਹੁੰਦੀ ਹੈ, ਅਤੇ stream ਹਮੇਸ਼ਾ usage ਨਾਲ ਖਤਮ ਹੁੰਦੀ ਹੈ।

ਗਲਤ JSON ਕਿਸਮ ਵਾਲਾ ਫੀਲਡ, ਉਦਾਹਰਣ ਵਜੋਂ "max_tokens": "100", 422 ਵਾਪਸ ਕਰਦਾ ਹੈ। messages ਤੋਂ ਬਿਨਾਂ ਰਿਕੁਐਸਟ ਵੀ ਇਹੀ ਕਰਦੀ ਹੈ।

ਟੂਲ, ਸੰਗਠਿਤ ਆਉਟਪੁੱਟ, ਰੀਜ਼ਨਿੰਗ ਅਤੇ ਵੈੱਬ ਸਰਚ ਦਾ ਹਰ ਇੱਕ ਦਾ ਆਪਣਾ ਪੰਨਾ ਹੈ: ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ, ਸਟ੍ਰਕਚਰਡ ਆਉਟਪੁੱਟਸ, ਰੀਜ਼ਨਿੰਗ effort, ਵੈੱਬ ਖੋਜ.

ਵਿਕਲਪਾਂ ਵਾਲੀ ਰਿਕੁਐਸਟ

ਇਹ ਰਿਕੁਐਸਟ ਇੱਕ system message, ਸੈਂਪਲਿੰਗ ਫੀਲਡ ਅਤੇ ਰੀਜ਼ਨਿੰਗ effort ਤੈਅ ਕਰਦੀ ਹੈ। ਇਹ ਹੋਸਟ ਕੀਤਾ open-weight ਮਾਡਲ ਵਰਤਦੀ ਹੈ, ਜੋ ਇਨ੍ਹਾਂ ਸਭ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ।

from openai import OpenAI

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

response = client.chat.completions.create(
    model="DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
    messages=[
        {"role": "system", "content": "You are a physics teacher. Answer in two sentences."},
        {"role": "user", "content": "Why is the sky blue?"},
    ],
    max_tokens=512,
    temperature=0.3,
    top_p=0.9,
    seed=7,
    stop=["\n\n"],
    reasoning_effort="low",
)

message = response.choices[0].message
print(message.reasoning_content)  # the reasoning
print(message.content)            # the answer
print(response.usage)

ਜਵਾਬ ਦੀ ਸ਼ਕਲ ਉੱਪਰ ਵਾਲੀ ਹੀ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲਾਂ ਉੱਤੇ ਇਸ ਦੀ usage ਦੋ ਵੇਰਵੇ ਹੋਰ ਜੋੜਦੀ ਹੈ: ਕੈਸ਼ ਤੋਂ ਪੜ੍ਹੇ ਪ੍ਰੋਂਪਟ tokens ਅਤੇ ਰੀਜ਼ਨਿੰਗ ਉੱਤੇ ਖਰਚ ਹੋਏ tokens।

200 JSON
{
  "usage": {
    "prompt_tokens": 31,
    "completion_tokens": 62,
    "total_tokens": 93,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 21
    }
  }
}

ਆਉਟਪੁੱਟ ਦੀ ਲੰਬਾਈ

max_tokens ਦੋ ਕੰਮ ਕਰਦਾ ਹੈ। ਪਹਿਲਾ, ਇਹ ਉਹ tokens ਦੀ ਗਿਣਤੀ ਹੈ ਜੋ ਰਿਕੁਐਸਟ ਸ਼ੁਰੂ ਹੋਣ ਸਮੇਂ ਤੁਹਾਡੇ ਬੈਲੇਂਸ ਵਿੱਚੋਂ ਵੱਖ ਰੱਖੇ ਜਾਂਦੇ ਹਨ। ਜਵਾਬ ਪੂਰਾ ਹੋਣ ਉੱਤੇ ਉਹ ਰਕਮ ਉਨ੍ਹਾਂ tokens ਨਾਲ ਬਦਲ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਰਿਕੁਐਸਟ ਨੇ ਵਰਤੇ। ਜੇ max_tokens ਤੁਹਾਡੇ ਬੈਲੇਂਸ ਵਿੱਚ ਬਚੀ ਰਕਮ ਤੋਂ ਵੱਡਾ ਹੈ, ਤਾਂ ਰਿਕੁਐਸਟ 429 Quota exceeded ਵਾਪਸ ਕਰਦੀ ਹੈ, ਭਾਵੇਂ ਜਵਾਬ ਆਪ ਸਮਾ ਜਾਂਦਾ। ਘੱਟ ਵੱਖ ਰੱਖਣ ਲਈ ਛੋਟਾ max_tokens ਭੇਜੋ।

ਇਸ endpoint ਉੱਤੇ shannon-coder-1 ਦੀ ਗਿਣਤੀ ਵੱਖਰੇ ਤਰੀਕੇ ਨਾਲ ਹੁੰਦੀ ਹੈ: ਹਰ ਰਿਕੁਐਸਟ ਤੁਹਾਡੇ ਪਲਾਨ ਦੀ ਇੱਕ Shannon Coder ਕਾਲ ਹੈ, ਅਤੇ ਉਸ ਲਈ ਕੋਈ tokens ਵੱਖ ਨਹੀਂ ਰੱਖੇ ਜਾਂਦੇ। ਸੀਮਾਵਾਂ ਅਤੇ ਬੈਲੇਂਸ

ਦੂਜਾ, ਇਹ ਇਨ੍ਹਾਂ ਮਾਡਲਾਂ ਉੱਤੇ ਜਵਾਬ ਦੀ ਲੰਬਾਈ ਸੀਮਤ ਕਰਦਾ ਹੈ:

ਮਾਡਲ max_tokens ਕੀ ਕਰਦਾ ਹੈ
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 ਸੀਮਾ ਤੱਕ ਪਹੁੰਚਣ ਉੱਤੇ ਜਵਾਬ ਰੁਕ ਜਾਂਦਾ ਹੈ। ਫਿਰ stream finish_reason length ਨਾਲ ਖਤਮ ਹੁੰਦੀ ਹੈ।
ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ ਜਵਾਬ ਦਾ ਟੈਕਸਟ max_tokens ਉੱਤੇ ਰੁਕ ਜਾਂਦਾ ਹੈ। ਰੀਜ਼ਨਿੰਗ ਇਸ ਵਿੱਚ ਨਹੀਂ ਗਿਣੀ ਜਾਂਦੀ। 256 ਤੋਂ ਘੱਟ ਮੁੱਲ 256 ਵਾਂਗ ਕੰਮ ਕਰਦੇ ਹਨ।

max_tokens ਜਾਂ max_completion_tokens ਤੋਂ ਬਿਨਾਂ ਮੁੱਲ 4,096 ਹੁੰਦਾ ਹੈ। shannon-coder-1 ਉੱਤੇ ਇਹ 65,536 ਹੈ।

Messages

ਹਰ message ਇੱਕ role ਅਤੇ ਇੱਕ content ਵਾਲਾ object ਹੁੰਦਾ ਹੈ। content ਇੱਕ string ਹੈ, ਜਾਂ parts ਦਾ array ਜਦੋਂ message ਟੈਕਸਟ ਤੋਂ ਵੱਧ ਕੁਝ ਲੈ ਕੇ ਜਾਂਦਾ ਹੈ।

Role ਵੇਰਵਾ ਕੌਣ ਲਾਗੂ ਕਰਦਾ ਹੈ
system ਮਾਡਲ ਲਈ ਹਦਾਇਤਾਂ। ਇਸ ਨੂੰ ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਰੱਖੋ। Shannon ਟੀਅਰਾਂ ਉੱਤੇ ਪਹਿਲਾ system message ਹੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ, shannon-1.6-*, shannon-2-*, shannon-coder-1
developer system ਵਾਂਗ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ
user ਜੋ ਤੁਸੀਂ ਪੁੱਛਦੇ ਹੋ। Shannon ਟੀਅਰਾਂ ਉੱਤੇ ਆਖਰੀ user message ਪ੍ਰੋਂਪਟ ਹੈ ਅਤੇ ਉਸ ਤੋਂ ਪਹਿਲਾਂ ਦੇ messages ਹਿਸਟਰੀ ਹਨ। ਸਾਰੇ ਮਾਡਲ
assistant ਮਾਡਲ ਦੇ ਪਿਛਲੇ ਜਵਾਬ। ਜਦੋਂ ਇਸ ਤੋਂ ਬਾਅਦ ਟੂਲ ਦਾ ਨਤੀਜਾ ਭੇਜੋ, ਤਾਂ ਇਸ ਦੇ tool_calls ਨੂੰ ਰੱਖੋ। ਸਾਰੇ ਮਾਡਲ
tool ਟੂਲ ਕਾਲ ਦਾ ਨਤੀਜਾ: tool_call_id ਵਿੱਚ ਕਾਲ ਦੀ id ਹੁੰਦੀ ਹੈ ਅਤੇ content ਵਿੱਚ ਨਤੀਜਾ string ਵਜੋਂ। ਸਾਰੇ ਮਾਡਲ

Shannon 3 ਪਰਿਵਾਰ ਦੀ id ਨਾਲ, ਜੋ ਹਦਾਇਤਾਂ ਲਾਜ਼ਮੀ ਹਨ ਉਨ੍ਹਾਂ ਨੂੰ user message ਵਿੱਚ ਪਾਓ।

Shannon ਟੀਅਰਾਂ ਉੱਤੇ user ਟੈਕਸਟ ਅਤੇ tools ਤੋਂ ਬਿਨਾਂ ਰਿਕੁਐਸਟ 400 No user message provided ਵਾਪਸ ਕਰਦੀ ਹੈ।

Content parts

ਹਿੱਸਾ ਵੇਰਵਾ ਕਿੱਥੇ ਉਪਲਬਧ
{"type": "text", "text": "…"} ਸਾਦਾ ਟੈਕਸਟ। ਸਾਰੇ ਮਾਡਲ
{"type": "image_url", "image_url": {"url": "…"}} ਇੱਕ ਇਮੇਜ, base64 ਸਮੱਗਰੀ ਵਾਲੇ data: URL ਵਜੋਂ ਜਾਂ http(s) URL ਵਜੋਂ। Shannon 3 ਪਰਿਵਾਰ, shannon-1.6-lite, shannon-1.6-pro, ਅਤੇ ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ ਜੋ ਇਮੇਜ ਇਨਪੁਟ ਸੂਚੀਬੱਧ ਕਰਦੇ ਹਨ
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} ਇੱਕ ਦਸਤਾਵੇਜ਼ (PDF, Word, PowerPoint ਜਾਂ Excel), base64 ਵਜੋਂ ਜਾਂ URL ਰਾਹੀਂ। Shannon 3 ਪਰਿਵਾਰ

ਆਕਾਰ, ਸੀਮਾਵਾਂ ਅਤੇ ਰੂਪਾਂ ਦੀ ਪੂਰੀ ਸੂਚੀ ਦਾ ਆਪਣਾ ਪੰਨਾ ਹੈ। ਇਮੇਜਾਂ ਅਤੇ ਫਾਈਲਾਂ

ਜਵਾਬ ਦਾ object

ਫੀਲਡ ਕਿਸਮ ਵੇਰਵਾ
id string chatcmpl- ਤੋਂ ਬਾਅਦ 32 ਹੈਕਸਾਡੈਸੀਮਲ ਅੱਖਰ।
object string ਹਮੇਸ਼ਾ chat.completion।
created integer ਜਵਾਬ ਦਾ ਸਮਾਂ, Unix ਸਕਿੰਟਾਂ ਵਿੱਚ।
model string ਜਵਾਬ ਦੇਣ ਵਾਲੇ ਮਾਡਲ ਦੀ ਮਿਆਰੀ id। ਇਸ ਦੀ ਸਪੈਲਿੰਗ ਤੁਹਾਡੀ ਭੇਜੀ id ਤੋਂ ਵੱਖਰੀ ਹੋ ਸਕਦੀ ਹੈ।
choices array ਹਮੇਸ਼ਾ ਠੀਕ ਇੱਕ choice, index 0 ਨਾਲ।
choices[0].message.role string ਹਮੇਸ਼ਾ assistant।
choices[0].message.content string | null ਜਵਾਬ ਦਾ ਟੈਕਸਟ। tool_calls ਨਾਲ Shannon ਟੀਅਰਾਂ ਉੱਤੇ ਇਹ null ਹੁੰਦਾ ਹੈ; ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ ਕਾਲਾਂ ਦੇ ਨਾਲ ਟੈਕਸਟ ਵੀ ਭੇਜ ਸਕਦੇ ਹਨ।
choices[0].message.reasoning_content string | null ਜਵਾਬ ਤੋਂ ਪਹਿਲਾਂ ਮਾਡਲ ਦੀ ਲਿਖੀ ਰੀਜ਼ਨਿੰਗ, ਜਾਂ ਕੁਝ ਨਾ ਹੋਣ ਉੱਤੇ null।
choices[0].message.tool_calls array ਸਿਰਫ਼ ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਮਾਡਲ ਟੂਲ ਕਾਲ ਕਰਦਾ ਹੈ। ਹਰ ਐਂਟਰੀ ਵਿੱਚ id, type function, ਅਤੇ function ਹੁੰਦੇ ਹਨ, ਜਿਸ ਵਿੱਚ name ਅਤੇ JSON string ਵਜੋਂ arguments ਹੁੰਦੇ ਹਨ।
choices[0].message.annotations array ਸਿਰਫ਼ ਉਸ ਰਿਕੁਐਸਟ ਉੱਤੇ ਜਿਸ ਵਿੱਚ web_search: true ਹੋਵੇ ਅਤੇ ਜਿਸਦੀ ਖੋਜ ਨੂੰ ਕੁਝ ਮਿਲਿਆ ਹੋਵੇ। content ਵਿੱਚ ਚਿੰਨ੍ਹ ਦੁਆਰਾ ਦੱਸੇ ਹਰ ਸਰੋਤ ਲਈ ਇੱਕ url_citation, ਜਿਸ ਵਿੱਚ url, title, start_index ਅਤੇ end_index ਹੁੰਦੇ ਹਨ (ਚਿੰਨ੍ਹ ਦੀ ਥਾਂ, ਅੱਖਰਾਂ ਵਿੱਚ ਗਿਣੀ ਗਈ, ਅੰਤ ਸ਼ਾਮਲ ਨਹੀਂ)।
choices[0].finish_reason string ਜਵਾਬ ਕਿਉਂ ਖਤਮ ਹੋਇਆ। ਸਮਾਪਤੀ ਦੇ ਕਾਰਨ ਵੇਖੋ।
usage object ਰਿਕੁਐਸਟ ਦੇ tokens। ਵਰਤੋਂ ਵੇਖੋ।
sources array ਸਿਰਫ਼ ਉਸ ਰਿਕੁਐਸਟ ਉੱਤੇ ਜਿਸ ਵਿੱਚ web_search: true ਹੋਵੇ ਅਤੇ ਜਿਸਦੀ ਖੋਜ ਨੂੰ ਕੁਝ ਮਿਲਿਆ ਹੋਵੇ: ਮਾਡਲ ਨੂੰ ਦਿੱਤੇ ਨਤੀਜੇ, ਹਰ ਇੱਕ ਵਿੱਚ index, title ਅਤੇ url। ਜਵਾਬ ਵਿੱਚ [1] ਉਹ ਐਂਟਰੀ ਹੈ ਜਿਸਦਾ index 1 ਹੈ।

ਸਮਾਪਤੀ ਦੇ ਕਾਰਨ

finish_reason ਵੇਰਵਾ
stop ਮਾਡਲ ਨੇ ਆਪਣਾ ਜਵਾਬ ਪੂਰਾ ਕਰ ਲਿਆ, ਜਾਂ ਇੱਕ stop string ਆ ਗਈ।
tool_calls ਮਾਡਲ ਇੱਕ ਜਾਂ ਵੱਧ ਟੂਲ ਕਾਲ ਕਰਦਾ ਹੈ। ਉਨ੍ਹਾਂ ਨੂੰ ਚਲਾਓ ਅਤੇ ਨਤੀਜੇ tool messages ਵਿੱਚ ਭੇਜੋ।
length ਜਵਾਬ ਆਉਟਪੁੱਟ ਦੀ ਸੀਮਾ ਉੱਤੇ ਕੱਟ ਦਿੱਤਾ ਗਿਆ। shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 ਅਤੇ Shannon 3 ਪਰਿਵਾਰ ਦੀਆਂ streams ਵਿੱਚ ਦੱਸਿਆ ਜਾਂਦਾ ਹੈ।

ਜੋ ਜਵਾਬ stream ਨਹੀਂ ਹੁੰਦਾ, ਉਹ stop ਜਾਂ tool_calls ਦੱਸਦਾ ਹੈ।

ਵਰਤੋਂ

ਫੀਲਡ ਕਿਸਮ ਵੇਰਵਾ ਕਿੱਥੇ ਉਪਲਬਧ
usage.prompt_tokens integer ਇਨਪੁਟ tokens। ਸਾਰੇ ਮਾਡਲ
usage.completion_tokens integer ਆਉਟਪੁੱਟ tokens: ਰੀਜ਼ਨਿੰਗ, ਜਵਾਬ ਅਤੇ ਟੂਲ ਕਾਲਾਂ ਇਕੱਠੇ। ਸਾਰੇ ਮਾਡਲ
usage.total_tokens integer prompt_tokens ਜੋੜ completion_tokens। ਸਾਰੇ ਮਾਡਲ
usage.prompt_tokens_details.cached_tokens integer prompt_tokens ਦਾ ਉਹ ਹਿੱਸਾ ਜੋ ਪ੍ਰੋਂਪਟ ਕੈਸ਼ ਤੋਂ ਪੜ੍ਹਿਆ ਗਿਆ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ
usage.completion_tokens_details.reasoning_tokens integer completion_tokens ਦਾ ਉਹ ਹਿੱਸਾ ਜੋ ਰੀਜ਼ਨਿੰਗ ਉੱਤੇ ਖਰਚ ਹੋਇਆ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ

ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲਾਂ ਉੱਤੇ prompt_tokens ਤੁਹਾਡੇ messages ਅਤੇ ਟੂਲ ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ ਮਾਡਲ ਦੇ ਆਪਣੇ tokenizer ਨਾਲ ਗਿਣ ਕੇ, ਨਾਲ ਕਿਸੇ ਵੀ ਇਮੇਜ ਦੇ tokens ਜੋੜ ਕੇ ਬਣਦਾ ਹੈ। token ਗਿਣਤੀ ਵਾਲੇ endpoints ਤੁਹਾਡੇ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹੀ ਸੰਖਿਆ ਵਾਪਸ ਕਰਦੇ ਹਨ। ਟੋਕਨ ਗਿਣਤੀ

Shannon ਟੀਅਰਾਂ ਉੱਤੇ prompt_tokens ਉਹ ਸਭ ਗਿਣਦਾ ਹੈ ਜੋ ਮਾਡਲ ਨੇ ਜਵਾਬ ਲਿਖਣ ਲਈ ਪੜ੍ਹਿਆ, ਇਸ ਲਈ ਇਹ ਸਿਰਫ਼ ਤੁਹਾਡੇ messages ਦੇ ਟੈਕਸਟ ਤੋਂ ਵੱਡਾ ਹੁੰਦਾ ਹੈ।

ਸਟ੍ਰੀਮਿੰਗ

stream ਨੂੰ true ਕਰਨ ਨਾਲ ਜਵਾਬ chat.completion.chunk events ਵਜੋਂ ਪਹੁੰਚਦਾ ਹੈ ਅਤੇ data: [DONE] ਨਾਲ ਖਤਮ ਹੁੰਦਾ ਹੈ। ਉਸ ਤੋਂ ਪਹਿਲਾਂ ਵਾਲੇ ਆਖਰੀ chunk ਵਿੱਚ finish_reason ਅਤੇ usage ਹੁੰਦੇ ਹਨ; ਕਿਸੇ stream_options ਦੀ ਲੋੜ ਨਹੀਂ। chunk ਦੀਆਂ ਸ਼ਕਲਾਂ, keep-alive ਲਾਈਨਾਂ ਅਤੇ stream ਦੇ ਅੰਦਰ ਦੀਆਂ ਗਲਤੀਆਂ ਦਾ ਆਪਣਾ ਪੰਨਾ ਹੈ। ਸਟ੍ਰੀਮਿੰਗ

ਗਲਤੀਆਂ

ਗਲਤੀ error ਮੈਂਬਰ ਵਾਲਾ ਇੱਕ JSON object ਹੁੰਦੀ ਹੈ। ਜਾਂਚਾਂ ਇਸ ਕ੍ਰਮ ਵਿੱਚ ਚੱਲਦੀਆਂ ਹਨ: API key, ਰਿਕੁਐਸਟ body, ਮਾਡਲ id, ਫਿਰ ਬੈਲੇਂਸ। ਟੇਬਲ ਉਹ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ ਜੋ ਇਹ endpoint ਸਭ ਤੋਂ ਵੱਧ ਵਾਰ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਪੂਰੀ ਸੂਚੀ, ਇਸ ਸਮੇਤ ਕਿ ਕੀ ਦੁਬਾਰਾ ਅਜ਼ਮਾਉਣਾ ਹੈ, ਦਾ ਆਪਣਾ ਪੰਨਾ ਹੈ। ਗਲਤੀਆਂ

400 JSON
{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: no-such-model"
  }
}
ਸਟੇਟਸ ਕਿਸਮ ਸੁਨੇਹਾ ਕਦੋਂ
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 ਟੀਅਰ: ਰਿਕੁਐਸਟ ਵਿੱਚ ਨਾ user ਟੈਕਸਟ ਹੈ ਅਤੇ ਨਾ tools।
400 invalid_request_error <id> does not accept image input ਇਮੇਜ ਇਨਪੁਟ ਤੋਂ ਬਿਨਾਂ ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ ਨੂੰ ਇੱਕ ਇਮੇਜ part ਭੇਜਿਆ ਗਿਆ।
400 invalid_request_error <id> does not accept response_format ਸੰਗਠਿਤ ਆਉਟਪੁੱਟ ਤੋਂ ਬਿਨਾਂ ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲ ਨੂੰ response_format ਭੇਜਿਆ ਗਿਆ।
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: … messages ਗੈਰਹਾਜ਼ਰ ਹੈ, ਜਾਂ ਕਿਸੇ ਫੀਲਡ ਦੀ JSON ਕਿਸਮ ਗਲਤ ਹੈ।
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan max_tokens ਤੁਹਾਡੇ ਬੈਲੇਂਸ ਵਿੱਚ ਬਚੀ ਰਕਮ ਤੋਂ ਵੱਡਾ ਹੈ।
429 rate_limit_error Too many requests. Retry in <n>s. ਫਲੱਡ ਪ੍ਰੋਟੈਕਸ਼ਨ: ਤੁਹਾਡੇ ਖਾਤੇ ਉੱਤੇ ਇੱਕ ਮਿੰਟ ਵਿੱਚ 120 ਤੋਂ ਵੱਧ ਰਿਕੁਐਸਟਾਂ।
500 server_error The model backend failed to answer. Please retry. ਮਾਡਲ ਨੇ ਜਵਾਬ ਨਹੀਂ ਬਣਾਇਆ। ਰਿਕੁਐਸਟ ਦੁਬਾਰਾ ਭੇਜੋ।
502 api_error The model backend failed to answer. Please retry. ਉਹੀ, Shannon 3 ਪਰਿਵਾਰ ਅਤੇ ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲਾਂ ਉੱਤੇ।