Chat Completions
POST /v1/chat/completions ഒരു സംഭാഷണം സ്വീകരിച്ച് OpenAI Chat Completions ഫോർമാറ്റിൽ മോഡലിന്റെ അടുത്ത മെസേജ് തിരികെ നൽകുന്നു. ഏത് OpenAI SDK-യിൽ നിന്നും അല്ലെങ്കിൽ സാധാരണ HTTP വഴിയും ഇത് ഉപയോഗിക്കാം; ഈ പേജ് ഓരോ ഫീൽഡിന്റെയും റഫറൻസാണ്.
POST https://api.shannon-ai.com/v1/chat/completions
ഏറ്റവും ചെറിയ റിക്വസ്റ്റ് ഒരു മോഡൽ ഐഡിയും ഒരു യൂസർ മെസേജും മാത്രമാണ്.
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 ഒബ്ജക്റ്റ് ആണ്:
{
"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 കീ. എല്ലാ എൻഡ്പോയിന്റുകളിലും ഇതിന് പകരം x-api-key: YOUR_API_KEY സ്വീകരിക്കും. |
Content-Type | application/json | നിർബന്ധം. മറ്റേതൊരു മൂല്യവും 415 നൽകും. |
x-request-id | ഓപ്ഷണൽ. റിക്വസ്റ്റിനായുള്ള നിങ്ങളുടെ സ്വന്തം ഐഡി. ഇത് മാറ്റമില്ലാതെ മറുപടിയിൽ തിരികെ വരും. |
മറുപടി ഹെഡറുകൾ
| ഹെഡർ | വിവരണം |
|---|---|
x-request-id | പിശകുകളും സ്ട്രീമുകളും ഉൾപ്പെടെ എല്ലാ മറുപടിയിലും: നിങ്ങൾ അയച്ച മൂല്യം, അല്ലെങ്കിൽ ഒന്നും അയച്ചില്ലെങ്കിൽ 12 ഹെക്സാഡെസിമൽ അക്ഷരങ്ങൾ. ഒരു പ്രശ്നം റിപ്പോർട്ട് ചെയ്യുമ്പോൾ ഇത് ഉദ്ധരിക്കുക. |
content-type | application/json, അല്ലെങ്കിൽ stream true ആയിരിക്കുമ്പോൾ text/event-stream. |
റിക്വസ്റ്റ് ഫീൽഡുകൾ
messages മാത്രമാണ് നിർബന്ധം. ഒരു ഫീൽഡ് മറുപടിയെ മാറ്റുന്ന മോഡലുകളുടെ പേര് ബാധകമാക്കുന്നത് കോളം നൽകുന്നു. ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ എന്നത് മോഡൽ പട്ടികയിലെ പന്ത്രണ്ട് ഐഡികളാണ്; Shannon 3 കുടുംബം shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro എന്നിവയാണ്. മോഡലുകളും വിലയും
| ഫീൽഡ് | ടൈപ്പ് | ഡിഫോൾട്ട് | വിവരണം | ബാധകമാക്കുന്നത് |
|---|---|---|---|---|
model | string | shannon-1.6-lite | ഉത്തരം നൽകുന്ന മോഡൽ: മോഡൽ ലിസ്റ്റിലെ ഒരു ഐഡി. ഓരോ റിക്വസ്റ്റിലും ഇത് അയയ്ക്കുക. വലിയക്ഷര/ചെറിയക്ഷര വ്യത്യാസം പരിഗണിക്കില്ല. പ്രസിദ്ധീകരിക്കാത്ത ഒരു ഐഡി 400 unknown model നൽകും. | എല്ലാ മോഡലുകളും |
messages | array | നിർബന്ധം. സംഭാഷണം, ഏറ്റവും പഴയ സന്ദേശം ആദ്യം. താഴെ സന്ദേശങ്ങൾ കാണുക. | എല്ലാ മോഡലുകളും | |
stream | boolean | false | true ആയാൽ മറുപടി എഴുതപ്പെടുന്നതിനൊപ്പം server-sent events ആയി അയയ്ക്കും. | എല്ലാ മോഡലുകളും |
max_tokens | integer | 4096 | മറുപടിയുടെ ഉയർന്ന പരിധി, ടോക്കണുകളിൽ. 1 മുതൽ 65,536 വരെയുള്ള പരിധിക്ക് പുറത്തുള്ള മൂല്യം ആ പരിധിയിലേക്ക് മാറ്റപ്പെടുന്നു. റിക്വസ്റ്റ് പ്രവർത്തിക്കുമ്പോൾ നിങ്ങളുടെ ബാലൻസിൽ നിന്ന് മാറ്റിവയ്ക്കുന്ന തുകയും ഇതാണ്. താഴെ ഔട്ട്പുട്ട് ദൈർഘ്യം കാണുക. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
max_completion_tokens | integer | max_tokens-ന് തുല്യം. രണ്ടും അയച്ചാൽ max_tokens ഉപയോഗിക്കും. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
temperature | number | സാമ്പ്ലിംഗ് ടെമ്പറേച്ചർ. ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകളിൽ ഡിഫോൾട്ട് 1 ആണ്, മൂല്യങ്ങൾ 0-നും 2-നും ഇടയിൽ നിലനിർത്തും. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | 0.95 | ന്യൂക്ലിയസ് സാമ്പ്ലിംഗ്. മൂല്യങ്ങൾ 0-നും 1-നും ഇടയിൽ നിലനിർത്തും. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
seed | integer | സാമ്പ്ലറിന്റെ സീഡ്, ഏതെങ്കിലും പൂർണ്ണസംഖ്യ. ഇത് ഇല്ലെങ്കിൽ, മോഡലിൽ നിന്നും സംഭാഷണത്തിൽ നിന്നുമാണ് സീഡ് എടുക്കുന്നത്, അതിനാൽ ഒരേ റിക്വസ്റ്റ് രണ്ടുതവണ അയച്ചാൽ ഒരേ സീഡ് ഉപയോഗിക്കും. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ | |
stop | string | array | ഒരു സ്ട്രിംഗ് അല്ലെങ്കിൽ സ്ട്രിംഗുകളുടെ അറേ. പരമാവധി 4 എണ്ണം ഉപയോഗിക്കും. ആദ്യം പ്രത്യക്ഷപ്പെടുന്നതിന് തൊട്ടുമുമ്പ് ഉത്തരം അവസാനിക്കും; സ്റ്റോപ്പ് ടെക്സ്റ്റ് തന്നെ തിരികെ നൽകില്ല. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ | |
reasoning_effort | string | high | ഉത്തരം നൽകുന്നതിന് മുമ്പ് മോഡൽ എത്രത്തോളം റീസൺ ചെയ്യണം: off, low, medium അല്ലെങ്കിൽ high. none, minimal എന്നിവ off എന്നും, default എന്നത് medium എന്നും, max എന്നത് high എന്നും കണക്കാക്കും. മറ്റേതൊരു മൂല്യവും 400 നൽകും. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
reasoning | object | ഇതേ സെറ്റിംഗ് ഒബ്ജക്റ്റ് രൂപത്തിൽ: {"effort": "low"}. രണ്ടും അയച്ചാൽ reasoning_effort ഉപയോഗിക്കും. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ | |
tools | array | മോഡലിന് വിളിക്കാവുന്ന ഫംഗ്ഷനുകൾ, ഓരോന്നും {"type": "function", "function": {"name", "description", "parameters"}} രൂപത്തിൽ. മോഡലിന്റെ കോളുകൾ tool_calls-ൽ തിരികെ വരും; അവ പ്രവർത്തിപ്പിക്കുന്നത് നിങ്ങളുടെ കോഡാണ്. | എല്ലാ മോഡലുകളും | |
tool_choice | string | object | auto | "auto" മോഡലിനെ തീരുമാനിക്കാൻ അനുവദിക്കുന്നു. "required" ഒരു ടൂൾ വിളിക്കാൻ നിർബന്ധിക്കുന്നു. {"type": "function", "function": {"name": "…"}} ആ ടൂൾ തന്നെ വിളിക്കാൻ നിർബന്ധിക്കുന്നു. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
response_format | object | JSON ഉത്തരത്തിന് {"type": "json_object"}, അല്ലെങ്കിൽ നിങ്ങളുടെ സ്കീമ പിന്തുടരുന്ന ഉത്തരത്തിന് {"type": "json_schema", "json_schema": {…}}. | എല്ലാ Shannon ടിയറുകളും; ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ ഓരോ ഐഡിക്കും പട്ടികപ്പെടുത്തിയ പ്രകാരം | |
web_search | boolean | false | true ആയാൽ ഉത്തരം നൽകുന്നതിന് മുമ്പ് മോഡലിന് വെബിൽ തിരയാം. | shannon-1.6-*, shannon-2-*, Shannon 3 കുടുംബം |
n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store, prompt_cache_key പോലുള്ള മറ്റ് OpenAI ഫീൽഡുകൾ, നിലവിലുള്ള ക്ലയന്റ് കോഡ് മാറ്റമില്ലാതെ പ്രവർത്തിക്കാൻ സ്വീകരിക്കുന്നു. അവ മറുപടിയെ മാറ്റില്ല: എപ്പോഴും ഒരു choice മാത്രമേ ഉണ്ടാകൂ, സ്ട്രീം എപ്പോഴും ഉപയോഗ വിവരത്തോടെ അവസാനിക്കും.
തെറ്റായ JSON ടൈപ്പുള്ള ഫീൽഡ്, ഉദാഹരണത്തിന് "max_tokens": "100", 422 നൽകും. messages ഇല്ലാത്ത റിക്വസ്റ്റും അങ്ങനെ തന്നെ.
ടൂളുകൾ, ഘടനയുള്ള ഔട്ട്പുട്ട്, റീസണിംഗ്, വെബ് സെർച്ച് എന്നിവയ്ക്ക് ഓരോന്നിനും സ്വന്തം പേജ് ഉണ്ട്: ഫംഗ്ഷൻ കോളിംഗ്, ഘടനയുള്ള ഔട്ട്പുട്ടുകൾ, റീസണിംഗ് എഫർട്ട്, വെബ് തിരയൽ.
ഓപ്ഷനുകളുള്ള ഒരു റിക്വസ്റ്റ്
ഈ റിക്വസ്റ്റ് ഒരു സിസ്റ്റം മെസേജും സാമ്പ്ലിംഗ് ഫീൽഡുകളും റീസണിംഗ് എഫർട്ടും സജ്ജമാക്കുന്നു. ഇത് ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡൽ ഉപയോഗിക്കുന്നു, അത് ഇവയെല്ലാം പ്രയോഗിക്കുന്നു.
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"
}' മറുപടിക്ക് മുകളിലുള്ളതിന്റെ അതേ ഘടനയാണ്. ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകളിൽ ഇതിന്റെ usage രണ്ട് വിശദാംശങ്ങൾ കൂടി ചേർക്കുന്നു: കാഷിൽ നിന്ന് വായിച്ച പ്രോംപ്റ്റ് ടോക്കണുകളും റീസണിംഗിനായി ചെലവായ ടോക്കണുകളും.
{
"usage": {
"prompt_tokens": 31,
"completion_tokens": 62,
"total_tokens": 93,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 21
}
}
} ഔട്ട്പുട്ട് ദൈർഘ്യം
max_tokens രണ്ട് കാര്യങ്ങൾ ചെയ്യുന്നു. ഒന്നാമതായി, റിക്വസ്റ്റ് തുടങ്ങുമ്പോൾ നിങ്ങളുടെ ബാലൻസിൽ നിന്ന് മാറ്റിവയ്ക്കുന്ന ടോക്കണുകളുടെ എണ്ണമാണിത്. മറുപടി പൂർത്തിയാകുമ്പോൾ, ആ തുകയ്ക്ക് പകരം റിക്വസ്റ്റ് ഉപയോഗിച്ച ടോക്കണുകൾ കണക്കാക്കും. max_tokens നിങ്ങളുടെ ബാക്കി ബാലൻസിനേക്കാൾ വലുതാണെങ്കിൽ, മറുപടി സ്വയം ഒതുങ്ങുമായിരുന്നെങ്കിലും റിക്വസ്റ്റ് 429 Quota exceeded നൽകും. കുറച്ച് മാറ്റിവയ്ക്കാൻ കുറഞ്ഞ max_tokens അയയ്ക്കുക.
ഈ എൻഡ്പോയിന്റിൽ shannon-coder-1 വ്യത്യസ്തമായാണ് കണക്കാക്കുന്നത്: ഓരോ റിക്വസ്റ്റും നിങ്ങളുടെ പ്ലാനിലെ ഒരു Shannon Coder കോൾ ആണ്, അതിനായി ടോക്കണുകളൊന്നും മാറ്റിവയ്ക്കുന്നില്ല. പരിധികളും ബാലൻസും
രണ്ടാമതായി, ഈ മോഡലുകളിൽ ഇത് മറുപടിയുടെ ദൈർഘ്യം പരിമിതപ്പെടുത്തുന്നു:
| മോഡലുകൾ | max_tokens എന്താണ് ചെയ്യുന്നത് |
|---|---|
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | പരിധിയിൽ എത്തുമ്പോൾ മറുപടി നിൽക്കും. അപ്പോൾ സ്ട്രീം finish_reason length ഓടെ അവസാനിക്കും. |
| ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ | ഉത്തര ടെക്സ്റ്റ് max_tokens-ൽ നിൽക്കും. റീസണിംഗ് ഇതിൽ കണക്കാക്കില്ല. 256-ൽ താഴെയുള്ള മൂല്യങ്ങൾ 256 ആയി പ്രവർത്തിക്കും. |
max_tokens അല്ലെങ്കിൽ max_completion_tokens ഇല്ലെങ്കിൽ മൂല്യം 4,096 ആണ്. shannon-coder-1-ൽ ഇത് 65,536 ആണ്.
മെസേജുകൾ
ഓരോ മെസേജും ഒരു role-ഉം ഒരു content-ഉം ഉള്ള ഒബ്ജക്റ്റ് ആണ്. content ഒരു സ്ട്രിംഗ് ആണ്, അല്ലെങ്കിൽ മെസേജിൽ ടെക്സ്റ്റിന് പുറമെയും ഉള്ളടക്കമുണ്ടെങ്കിൽ ഭാഗങ്ങളുടെ ഒരു അറേ.
| റോൾ | വിവരണം | ബാധകമാക്കുന്നത് |
|---|---|---|
system | മോഡലിനുള്ള നിർദ്ദേശങ്ങൾ. ഇത് ആദ്യം വയ്ക്കുക. Shannon ടിയറുകളിൽ ആദ്യത്തെ system മെസേജ് ആണ് ഉപയോഗിക്കുന്നത്. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
developer | system ആയി വായിക്കും. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
user | നിങ്ങൾ ചോദിക്കുന്നത്. Shannon ടിയറുകളിൽ അവസാനത്തെ user മെസേജ് ആണ് പ്രോംപ്റ്റ്, അതിന് മുമ്പുള്ള മെസേജുകൾ ഹിസ്റ്ററിയാണ്. | എല്ലാ മോഡലുകളും |
assistant | മോഡലിന്റെ മുൻ മറുപടികൾ. അതിന് ശേഷം ഒരു ടൂൾ ഫലം അയയ്ക്കുമ്പോൾ അതിന്റെ tool_calls നിലനിർത്തുക. | എല്ലാ മോഡലുകളും |
tool | ഒരു ടൂൾ കോളിന്റെ ഫലം: tool_call_id-ൽ കോളിന്റെ ഐഡിയും content-ൽ ഫലം ഒരു സ്ട്രിംഗായും ഉണ്ടായിരിക്കും. | എല്ലാ മോഡലുകളും |
Shannon 3 കുടുംബത്തിലെ ഐഡി ഉപയോഗിക്കുമ്പോൾ, നിർബന്ധമായും പാലിക്കേണ്ട നിർദ്ദേശങ്ങൾ user മെസേജിൽ വയ്ക്കുക.
Shannon ടിയറുകളിൽ, യൂസർ ടെക്സ്റ്റും tools-ഉം ഇല്ലാത്ത റിക്വസ്റ്റ് 400 No user message provided നൽകും.
കണ്ടന്റ് ഭാഗങ്ങൾ
| ഭാഗം | വിവരണം | ലഭ്യമായത് |
|---|---|---|
{"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, ചിത്രം ഇൻപുട്ടായി പട്ടികപ്പെടുത്തിയ ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | ഒരു ഡോക്യുമെന്റ് (PDF, Word, PowerPoint അല്ലെങ്കിൽ Excel), base64 ആയോ URL വഴിയോ. | Shannon 3 കുടുംബം |
വലിപ്പങ്ങൾ, പരിധികൾ, എല്ലാ രൂപങ്ങളുടെയും പൂർണ്ണ ലിസ്റ്റ് എന്നിവയ്ക്ക് സ്വന്തം പേജ് ഉണ്ട്. ചിത്രങ്ങളും ഫയലുകളും
മറുപടി ഒബ്ജക്റ്റ്
| ഫീൽഡ് | ടൈപ്പ് | വിവരണം |
|---|---|---|
id | string | chatcmpl- എന്നതിന് ശേഷം 32 ഹെക്സാഡെസിമൽ അക്ഷരങ്ങൾ. |
object | string | എപ്പോഴും chat.completion. |
created | integer | മറുപടിയുടെ സമയം, Unix സെക്കൻഡിൽ. |
model | string | ഉത്തരം നൽകിയ മോഡലിന്റെ കാനോനിക്കൽ ഐഡി. നിങ്ങൾ അയച്ച ഐഡിയിൽ നിന്ന് അക്ഷരവിന്യാസത്തിൽ ഇത് വ്യത്യാസപ്പെടാം. |
choices | array | എപ്പോഴും കൃത്യമായി ഒരു choice മാത്രം, index 0 ആയി. |
choices[0].message.role | string | എപ്പോഴും assistant. |
choices[0].message.content | string | null | ഉത്തര ടെക്സ്റ്റ്. tool_calls ഉള്ളപ്പോൾ Shannon ടിയറുകളിൽ ഇത് null ആണ്; ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ കോളുകൾക്കൊപ്പം ടെക്സ്റ്റും അയയ്ക്കാം. |
choices[0].message.reasoning_content | string | null | ഉത്തരത്തിന് മുമ്പ് മോഡൽ എഴുതിയ റീസണിംഗ്, ഒന്നുമില്ലെങ്കിൽ null. |
choices[0].message.tool_calls | array | മോഡൽ ടൂളുകൾ വിളിക്കുമ്പോൾ മാത്രം ഉണ്ടാകും. ഓരോ എൻട്രിയിലും id, type function, കൂടാതെ name-ഉം JSON സ്ട്രിംഗായ arguments-ഉം ഉള്ള function ഉണ്ട്. |
choices[0].message.annotations | array | സെർച്ച് എന്തെങ്കിലും കണ്ടെത്തിയ, web_search: true ഉള്ള റിക്വസ്റ്റിൽ മാത്രം. content-ലെ ഒരു മാർക്കർ പേരെടുത്തു പറയുന്ന ഓരോ സോഴ്സിനും ഒരു url_citation, url, title, start_index, end_index എന്നിവയോടെ (മാർക്കറിന്റെ സ്ഥാനം, അക്ഷരങ്ങളുടെ എണ്ണത്തിൽ കണക്കാക്കിയത്, അവസാനം ഉൾപ്പെടുന്നില്ല). |
choices[0].finish_reason | string | മറുപടി അവസാനിച്ചത് എന്തുകൊണ്ട്. അവസാനിപ്പിക്കാനുള്ള കാരണങ്ങൾ കാണുക. |
usage | object | റിക്വസ്റ്റിന്റെ ടോക്കണുകൾ. ഉപയോഗം കാണുക. |
sources | array | സെർച്ച് എന്തെങ്കിലും കണ്ടെത്തിയ, web_search: true ഉള്ള റിക്വസ്റ്റിൽ മാത്രം: മോഡലിന് നൽകിയ ഫലങ്ങൾ, ഓരോന്നിനും index, title, url എന്നിവയോടെ. ഉത്തരത്തിലെ [1] എന്നത് index 1 ആയ എൻട്രിയാണ്. |
അവസാനിപ്പിക്കാനുള്ള കാരണങ്ങൾ
| finish_reason | വിവരണം |
|---|---|
stop | മോഡൽ ഉത്തരം പൂർത്തിയാക്കി, അല്ലെങ്കിൽ ഒരു stop സ്ട്രിംഗ് പ്രത്യക്ഷപ്പെട്ടു. |
tool_calls | മോഡൽ ഒന്നോ അതിലധികമോ ടൂളുകൾ വിളിക്കുന്നു. അവ പ്രവർത്തിപ്പിച്ച് ഫലങ്ങൾ tool മെസേജുകളിൽ അയയ്ക്കുക. |
length | ഔട്ട്പുട്ട് പരിധിയിൽ മറുപടി മുറിഞ്ഞു. shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1, Shannon 3 കുടുംബം എന്നിവയുടെ സ്ട്രീമുകളിൽ ഇത് റിപ്പോർട്ട് ചെയ്യും. |
സ്ട്രീം ചെയ്യാത്ത മറുപടി stop അല്ലെങ്കിൽ tool_calls റിപ്പോർട്ട് ചെയ്യും.
ഉപയോഗം
| ഫീൽഡ് | ടൈപ്പ് | വിവരണം | ലഭ്യമായത് |
|---|---|---|---|
usage.prompt_tokens | integer | ഇൻപുട്ട് ടോക്കണുകൾ. | എല്ലാ മോഡലുകളും |
usage.completion_tokens | integer | ഔട്ട്പുട്ട് ടോക്കണുകൾ: റീസണിംഗ്, ഉത്തരം, ടൂൾ കോളുകൾ എല്ലാം ചേർന്നത്. | എല്ലാ മോഡലുകളും |
usage.total_tokens | integer | prompt_tokens കൂടാതെ completion_tokens. | എല്ലാ മോഡലുകളും |
usage.prompt_tokens_details.cached_tokens | integer | prompt_tokens-ൽ പ്രോംപ്റ്റ് കാഷിൽ നിന്ന് വായിച്ച ഭാഗം. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
usage.completion_tokens_details.reasoning_tokens | integer | completion_tokens-ൽ റീസണിംഗിനായി ചെലവായ ഭാഗം. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകളിൽ, prompt_tokens എന്നത് നിങ്ങളുടെ മെസേജുകളും ടൂൾ നിർവചനങ്ങളും മോഡലിന്റെ സ്വന്തം ടോക്കണൈസർ ഉപയോഗിച്ച് എണ്ണിയതും, ചിത്രങ്ങളുടെ ടോക്കണുകളും ചേർന്നതാണ്. ടോക്കൺ എണ്ണൽ എൻഡ്പോയിന്റുകൾ അയയ്ക്കുന്നതിന് മുമ്പ് ഇതേ സംഖ്യ തിരികെ നൽകും. ടോക്കൺ എണ്ണൽ
Shannon ടിയറുകളിൽ, മറുപടി എഴുതാൻ മോഡൽ വായിച്ചതെല്ലാം prompt_tokens എണ്ണുന്നു, അതിനാൽ ഇത് നിങ്ങളുടെ മെസേജുകളുടെ ടെക്സ്റ്റിനേക്കാൾ വലുതാണ്.
സ്ട്രീമിംഗ്
stream true ആക്കിയാൽ മറുപടി chat.completion.chunk ഇവന്റുകളായി വരികയും data: [DONE] ഓടെ അവസാനിക്കുകയും ചെയ്യും. അതിന് തൊട്ടുമുമ്പുള്ള അവസാന ചങ്കിൽ finish_reason-ഉം usage-ഉം ഉണ്ടാകും; stream_options ആവശ്യമില്ല. ചങ്കുകളുടെ ഘടന, കീപ്-എലൈവ് വരികൾ, സ്ട്രീമിനുള്ളിലെ പിശകുകൾ എന്നിവയ്ക്ക് സ്വന്തം പേജ് ഉണ്ട്. സ്റ്റ്രീമിംഗ്
പിശകുകൾ
എറർ എന്നത് error അംഗമുള്ള ഒരു JSON ഒബ്ജക്റ്റാണ്. പരിശോധനകൾ ഈ ക്രമത്തിൽ നടക്കുന്നു: API കീ, റിക്വസ്റ്റ് ബോഡി, മോഡൽ ഐഡി, പിന്നെ ബാലൻസ്. ഈ എൻഡ്പോയിന്റ് ഏറ്റവും കൂടുതൽ തിരികെ നൽകുന്നവ പട്ടികയിലുണ്ട്. എന്തെല്ലാം വീണ്ടും ശ്രമിക്കണം എന്നതുൾപ്പെടെയുള്ള പൂർണ്ണ പട്ടികയ്ക്ക് സ്വന്തം പേജ് ഉണ്ട്. എറർ ഹാൻഡ്ലിംഗ്
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | സ്റ്റാറ്റസ് | ടൈപ്പ് | സന്ദേശം | എപ്പോൾ |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid API key | API കീ അയച്ചിട്ടില്ല, അല്ലെങ്കിൽ കീ അജ്ഞാതമോ റദ്ദാക്കിയതോ ആണ്. |
400 | invalid_request_error | unknown model: <id> | model പ്രസിദ്ധീകരിച്ച ഐഡി അല്ല. |
400 | invalid_request_error | No user message provided | Shannon ടിയറുകൾ: റിക്വസ്റ്റിൽ ഉപയോക്തൃ ടെക്സ്റ്റും tools-ഉം ഇല്ല. |
400 | invalid_request_error | <id> does not accept image input | ചിത്രം ഇൻപുട്ട് ഇല്ലാത്ത ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലിലേക്ക് ഒരു ചിത്രഭാഗം അയച്ചു. |
400 | invalid_request_error | <id> does not accept response_format | സ്ട്രക്ചർഡ് ഔട്ട്പുട്ട് ഇല്ലാത്ത ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലിലേക്ക് 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 കുടുംബത്തിലും ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകളിലും. |