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) import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com/v1",
});
const response = await client.chat.completions.create({
model: "shannon-3",
messages: [{ role: "user", content: "Say hello in one sentence." }],
});
console.log(response.choices[0].message.content); curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}' ਜਵਾਬ ਇੱਕ JSON object ਹੈ:
{
"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) import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com/v1",
});
const response = await 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",
});
const message = response.choices[0].message;
console.log(message.reasoning_content); // the reasoning
console.log(message.content); // the answer
console.log(response.usage); curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"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"
}' ਜਵਾਬ ਦੀ ਸ਼ਕਲ ਉੱਪਰ ਵਾਲੀ ਹੀ ਹੈ। ਹੋਸਟ ਕੀਤੇ open-weight ਮਾਡਲਾਂ ਉੱਤੇ ਇਸ ਦੀ usage ਦੋ ਵੇਰਵੇ ਹੋਰ ਜੋੜਦੀ ਹੈ: ਕੈਸ਼ ਤੋਂ ਪੜ੍ਹੇ ਪ੍ਰੋਂਪਟ tokens ਅਤੇ ਰੀਜ਼ਨਿੰਗ ਉੱਤੇ ਖਰਚ ਹੋਏ tokens।
{
"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 ਸਭ ਤੋਂ ਵੱਧ ਵਾਰ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਪੂਰੀ ਸੂਚੀ, ਇਸ ਸਮੇਤ ਕਿ ਕੀ ਦੁਬਾਰਾ ਅਜ਼ਮਾਉਣਾ ਹੈ, ਦਾ ਆਪਣਾ ਪੰਨਾ ਹੈ। ਗਲਤੀਆਂ
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | ਸਟੇਟਸ | ਕਿਸਮ | ਸੁਨੇਹਾ | ਕਦੋਂ |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid 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 ਮਾਡਲਾਂ ਉੱਤੇ। |