അവലോകനം
API-യുടെ ഭൂപടം: ഓരോ എൻഡ്പോയിന്റും, റിക്വസ്റ്റും പിശകും എങ്ങനെയിരിക്കും, കോളുകൾക്ക് എങ്ങനെ പണം നൽകുന്നു, OpenAI അല്ലെങ്കിൽ Anthropic SDK-യിൽ നിന്ന് വരുമ്പോൾ അറിയേണ്ടത്.
എൻഡ്പോയിന്റുകൾ
എല്ലാ എൻഡ്പോയിന്റുകളും ഒരു ബേസ് URL-ന് കീഴിലാണ്, HTTPS വഴി സേവിക്കുന്നു.
https://api.shannon-ai.com | എൻഡ്പോയിന്റ് | ഫോർമാറ്റ് | എന്തിനുള്ളതാണ് |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | ഒരു സംഭാഷണം അയയ്ക്കുക, അടുത്ത ഉത്തരം നേടുക. സ്ട്രീമിംഗോടെയോ അല്ലാതെയോ. |
POST /v1/messages | Anthropic Messages | ഇതുതന്നെ, Anthropic SDK-കളുടെ റിക്വസ്റ്റ്, മറുപടി രൂപങ്ങളിൽ. |
POST /v1/responses | OpenAI Responses | ഇതുതന്നെ, Responses രൂപങ്ങളിൽ. എൻഡ്പോയിന്റ് സ്റ്റേറ്റ് സൂക്ഷിക്കുന്നില്ല: ഓരോ റിക്വസ്റ്റിലും സംഭാഷണം അയയ്ക്കുക. |
GET /v1/models | OpenAI മോഡൽ ലിസ്റ്റ് | കോൺടെക്സ്റ്റ് വിൻഡോ, വിലകൾ, ശേഷികൾ എന്നിവയോടെ മോഡലുകൾ ലിസ്റ്റ് ചെയ്യുക. കീ ആവശ്യമില്ല. |
POST /v1/tokenize | Shannon API | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലിനായി ഒരു ടെക്സ്റ്റിന്റെയോ ചാറ്റ് റിക്വസ്റ്റിന്റെയോ ടോക്കണുകൾ എണ്ണുക. സൗജന്യം. |
POST /v1/messages/count_tokens | Anthropic ടോക്കൺ എണ്ണൽ | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലിനായി ഒരു Messages റിക്വസ്റ്റിന്റെ ഇൻപുട്ട് ടോക്കണുകൾ എണ്ണുക. സൗജന്യം. |
ടെക്സ്റ്റ് ഉണ്ടാക്കുന്ന മൂന്ന് എൻഡ്പോയിന്റുകളും ഒരേ മോഡലുകളിൽ എത്തുന്നു. നിങ്ങളുടെ കോഡ് ഇതിനകം ഉപയോഗിക്കുന്ന ഫോർമാറ്റുള്ളത് തിരഞ്ഞെടുക്കുക.
റിക്വസ്റ്റ് അടിസ്ഥാനങ്ങൾ
| ഹെഡർ | വിവരണം |
|---|---|
Authorization: Bearer <key> | നിങ്ങളുടെ API കീ. x-api-key അയയ്ക്കുന്നില്ലെങ്കിൽ, GET /v1/models ഒഴികെ എല്ലാ എൻഡ്പോയിന്റിലും നിർബന്ധം. |
x-api-key: <key> | Anthropic SDK-കൾ അയയ്ക്കുന്ന ഹെഡറിൽ അതേ കീ. എല്ലാ എൻഡ്പോയിന്റിലും വായിക്കും. |
Content-Type: application/json | ഓരോ POST-ലും നിർബന്ധം. ഇല്ലെങ്കിൽ മറുപടി 415 ആണ്. |
x-request-id: <your id> | ഓപ്ഷണൽ. റിക്വസ്റ്റിനുള്ള നിങ്ങളുടെ സ്വന്തം ഐഡി; ഇത് മറുപടി ഹെഡർ x-request-id-ൽ തിരികെ വരും. ഇല്ലെങ്കിൽ API 12 ഹെക്സാഡെസിമൽ അക്ഷരങ്ങളുള്ള ഒന്ന് ഉണ്ടാക്കും. |
- ഓരോ
POST-ന്റെയും ബോഡി 32 MiB വരെയുള്ള ഒരു JSON ഒബ്ജക്റ്റ് ആണ്. - API-ക്ക് അറിയാത്ത ഫീൽഡ് പിശകുണ്ടാക്കില്ല, ഫലവുമില്ല. മറ്റൊരു പ്രൊവൈഡർക്കായി എഴുതിയ റിക്വസ്റ്റ് അധിക ഫീൽഡ് കാരണം പരാജയപ്പെടില്ല.
- അറിയാവുന്ന ഫീൽഡിന് തെറ്റായ JSON ടൈപ്പ് ആണെങ്കിലോ ആവശ്യമായ ഫീൽഡ് ഇല്ലെങ്കിലോ
422മറുപടി ലഭിക്കും. സാധുവായ JSON അല്ലാത്ത ബോഡിക്ക്400മറുപടി ലഭിക്കും. modelഎന്നത് Models & pricing-ലെ ഐഡികളിൽ ഒന്നാണ്. വലിയക്ഷരവും ചെറിയക്ഷരവും പ്രശ്നമല്ല.
മറുപടി JSON ആണ്, അല്ലെങ്കിൽ റിക്വസ്റ്റ് stream true ആക്കിയാൽ server-sent events-ന്റെ സ്ട്രീം ആണ്. ഓരോ എൻഡ്പോയിന്റും സ്വന്തം ഫോർമാറ്റിൽ മറുപടി നൽകുന്നു. ഓരോ മറുപടിയിലും x-request-id ഹെഡർ ഉണ്ട്.
ഒരു റിക്വസ്റ്റ് കടന്നുപോകുന്നത്
മോഡൽ പ്രവർത്തിക്കുന്നതിന് മുമ്പ് റിക്വസ്റ്റ് ഒരു നിശ്ചിത ക്രമത്തിൽ പരിശോധിക്കുന്നു. പരാജയപ്പെടുന്ന ആദ്യ പരിശോധന മറുപടി നൽകുന്നു, അതിനാൽ 401 ബോഡിയെക്കുറിച്ച് ഇതുവരെ ഒന്നും പറയുന്നില്ല.
| പരിശോധിക്കുന്നത്, ഈ ക്രമത്തിൽ | പരാജയപ്പെടുമ്പോഴുള്ള സ്റ്റാറ്റസ് |
|---|---|
| API കീ | 401 |
| ബോഡി: വലിപ്പം, കണ്ടന്റ് ടൈപ്പ്, JSON, ഫീൽഡ് ടൈപ്പുകൾ | 413 · 415 · 400 · 422 |
| മോഡൽ ഐഡി | 400 |
| ഫ്ലഡ് പ്രൊട്ടക്ഷൻ: ഓരോ അക്കൗണ്ടിനും മിനിറ്റിൽ 120 റിക്വസ്റ്റുകൾ | 429 |
| ബാലൻസ്: റിക്വസ്റ്റിന്റെ ഔട്ട്പുട്ട് ബജറ്റ് ഒതുങ്ങണം | 429 |
പിശകിന്റെ ഘടന
type-ഉം message-ഉം ഉള്ള error അടങ്ങിയ JSON ഒബ്ജക്റ്റ് ആണ് പിശക്. /v1/messages അതിനെ Anthropic SDK-കൾ പ്രതീക്ഷിക്കുന്ന രീതിയിൽ പൊതിയുന്നു; മറ്റെല്ലാ പാത്തുകളും OpenAI ഘടന ഉപയോഗിക്കുന്നു.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} type-ഉംmessage-ഉം വായിക്കുക.code-ഉംparam-ഉം ചില പിശകുകളിൽ മാത്രമേ ഉണ്ടാകൂ: അവ ഓപ്ഷണൽ ആയി കണക്കാക്കുക.paramഎപ്പോഴുംnullആണ്.- സ്ട്രീം തുടങ്ങിയതിന് ശേഷം സ്റ്റാറ്റസ് ഇതിനകം
200ആണ്. അതിനുശേഷമുള്ള പരാജയം സ്ട്രീമിനുള്ളിൽ ഒരു എറർ ഫ്രെയിമായി എത്തുന്നു. - ഓരോ പിശക് മറുപടിയിലും
x-request-idഹെഡർ ഉണ്ട്.
| സ്റ്റാറ്റസ് | ടൈപ്പ് | എപ്പോൾ |
|---|---|---|
400 | invalid_request_error | ബോഡി സാധുവായ JSON അല്ല, മോഡൽ ഐഡി അജ്ഞാതമാണ്, അല്ലെങ്കിൽ നിങ്ങൾ അയച്ച ഒരു തരം ഇൻപുട്ട് മോഡൽ സ്വീകരിക്കുന്നില്ല. |
401 | authentication_error | കീ ഇല്ല അല്ലെങ്കിൽ സാധുവല്ല. |
404 | not_found_error | പാത്ത് നിലവിലില്ല. |
405 | api_error | പാത്ത് നിലവിലുണ്ട്, മെത്തേഡ് തെറ്റാണ്. |
413 | invalid_request_error | ബോഡി 32 MiB-യേക്കാൾ വലുതാണ്. |
415 | invalid_request_error | Content-Type application/json അല്ല. |
422 | invalid_request_error | ഒരു ഫീൽഡിന് തെറ്റായ JSON ടൈപ്പ് ആണ്, അല്ലെങ്കിൽ ആവശ്യമായ ഫീൽഡ് ഇല്ല. |
429 | rate_limit_error | ബാലൻസ് റിക്വസ്റ്റിന് തികയുന്നില്ല, ഒരു മിനിറ്റിൽ 120-ൽ കൂടുതൽ റിക്വസ്റ്റുകൾ എത്തി, വിൻഡോയിലെ Shannon Coder കോളുകൾ തീർന്നു, അല്ലെങ്കിൽ മോഡൽ തിരക്കിലാണ്. ഏതെന്ന് സന്ദേശം പറയും. |
5xx | api_error | സ്റ്റാറ്റസ് 500, 502, 503 അല്ലെങ്കിൽ 504: റിക്വസ്റ്റ് സാധുവായിരുന്നു, പക്ഷേ ഉത്തരം നൽകാൻ കഴിഞ്ഞില്ല. വീണ്ടും അയയ്ക്കുക. 500-ൽ server_error എന്ന ടൈപ്പ് ഉണ്ടാകാം. |
ബില്ലിംഗും ബാലൻസും
- ഓരോ അക്കൗണ്ടിനും ഒരു ബാലൻസ് ഉണ്ട്, ചാറ്റും API-യും അത് പങ്കിടുന്നു: ആദ്യം ഇന്നത്തെ പ്ലാൻ അലവൻസ്, പിന്നെ വാങ്ങിയ ക്രെഡിറ്റ്. API-ക്ക് സ്വന്തമായ ക്വാട്ടയില്ല.
- റിക്വസ്റ്റ് അതിന്റെ ഔട്ട്പുട്ട് ബജറ്റ് (
max_tokens, ഡിഫോൾട്ട് 4,096) റിസർവ് ചെയ്യുകയും, തുടർന്ന് യഥാർത്ഥത്തിൽ ഉപയോഗിച്ച ടോക്കണുകൾക്ക് മോഡലിന്റെ വിലയിൽ ചാർജ് ചെയ്യപ്പെടുകയും ചെയ്യുന്നു. - ഓരോ മറുപടിയും അതിന്റെ ടോക്കൺ എണ്ണങ്ങൾ
usage-ൽ റിപ്പോർട്ട് ചെയ്യുന്നു. Keys & usage പേജ് ബാലൻസും ഓരോ റിക്വസ്റ്റിന്റെ ചെലവും കാണിക്കുന്നു. - ഓരോ റിക്വസ്റ്റും തുല്യമായി സേവിക്കുന്നു. റിക്വസ്റ്റ് നിരക്കിലെ ഒരേയൊരു പരിധി ഫ്ലഡ് പ്രൊട്ടക്ഷനാണ്: ഓരോ അക്കൗണ്ടിനും മിനിറ്റിൽ 120 റിക്വസ്റ്റുകൾ. സമാന്തരമായി അയയ്ക്കുന്ന റിക്വസ്റ്റുകൾ ക്യൂവിൽ കാത്തിരിക്കുന്നു.
പരിധികളും ബാലൻസും മോഡലുകളും വിലയും കീകളും ഉപയോഗവും
മോഡലിനെ ആശ്രയിക്കുന്ന ഫീൽഡുകൾ
എല്ലാ മോഡലുകളും ഒരേ റിക്വസ്റ്റ് സ്വീകരിക്കുന്നു. ചില ഫീൽഡുകൾ ചില മോഡലുകളിൽ മാത്രമേ ഫലിക്കൂ; പട്ടിക എവിടെയെന്ന് പേരുപറയുന്നു. എൻഡ്പോയിന്റ് പേജുകളിൽ ഓരോ ഫീൽഡും ഉണ്ട്.
| ഫീൽഡ് | വിവരണം | ബാധകമാക്കുന്നത് |
|---|---|---|
system | മോഡലിനുള്ള നിർദ്ദേശങ്ങൾ: Chat Completions-ൽ system മെസേജ്, Messages-ൽ system, Responses-ൽ instructions. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | സാമ്പ്ലിംഗ് ടെമ്പറേച്ചർ. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ, shannon-1.6-*, shannon-coder-1 |
top_p | ന്യൂക്ലിയസ് സാമ്പ്ലിംഗ്. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
seed | സാമ്പ്ലിംഗിനുള്ള സ്ഥിര സീഡ്. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
stop | പരമാവധി 4 സ്റ്റോപ്പ് സീക്വൻസുകൾ. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
reasoning_effort | ഉത്തരം നൽകുന്നതിന് മുമ്പ് മോഡൽ എത്രത്തോളം റീസൺ ചെയ്യണം. Responses-ൽ reasoning.effort, Messages-ൽ thinking. | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ |
web_search | true ആയാൽ ഈ റിക്വസ്റ്റിനായി മോഡലിന് വെബിൽ തിരയാം. ഈ API-യുടെ ഒരു ഫീൽഡ്, Chat Completions-ലും Messages-ലും. | shannon-coder-1 ഒഴികെയുള്ള Shannon മോഡലുകൾ |
max_tokens | ഔട്ട്പുട്ട് ബജറ്റ്. എല്ലാ മോഡലിലും ഇത് നിങ്ങളുടെ ബാലൻസിൽ നിന്ന് റിസർവ് ചെയ്യുന്ന തുക നിശ്ചയിക്കുന്നു. | ഉത്തരത്തിന്റെ ദൈർഘ്യ പരിധിയായി: ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ, shannon-1.6-*, shannon-coder-1 |
OpenAI SDK-യിൽ നിന്ന് വരുമ്പോൾ
- ബേസ് URL
https://api.shannon-ai.com/v1ആയും കീ നിങ്ങളുടെ Shannon കീ ആയും സജ്ജമാക്കുക. അപ്പോൾ Chat Completions, Responses കോളുകൾ SDK-യിൽ അതേപടി പ്രവർത്തിക്കും. modelഒരു Shannon ഐഡി ആയിരിക്കണം.gpt-4oപോലുള്ള മറ്റൊരു പ്രൊവൈഡറുടെ മോഡൽ പേരിന്400,unknown modelഎന്നിവയോടെ മറുപടി ലഭിക്കും.- റീസണിംഗ് സ്വന്തം ഫീൽഡിൽ വരുന്നു: മെസേജിലും സ്ട്രീം ഡെൽറ്റകളിലും
content-ന് അടുത്ത്reasoning_content. - സ്ട്രീം എപ്പോഴും അതിന്റെ അവസാന ചങ്കിൽ
finish_reason-നൊപ്പംusageവഹിക്കുന്നു. - സ്ട്രീമിലെ ടൂൾ കോൾ പൂർണ്ണമായ
argumentsസ്ട്രിംഗോടെ ഒരൊറ്റ ചങ്കായി എത്തുന്നു. - മറുപടിക്ക് ഒരു choice ഉണ്ട്.
- മുകളിലെ പട്ടികയിലില്ലാത്ത OpenAI API പാത്തുകൾക്ക്, ഉദാഹരണത്തിന്
/v1/embeddings,404മറുപടി ലഭിക്കും.
Anthropic SDK-യിൽ നിന്ന് വരുമ്പോൾ
- ബേസ് URL
https://api.shannon-ai.comആയി,/v1ഇല്ലാതെ, സജ്ജമാക്കുക, കീ നിങ്ങളുടെ Shannon കീ ആക്കുക. SDK അത്x-api-keyആയി അയയ്ക്കുന്നു. modelഒരു Shannon ഐഡി ആയിരിക്കണം.- ഈ API-യിൽ
max_tokensഓപ്ഷണൽ ആണ്. ഇതിന്റെ ഡിഫോൾട്ട് 4,096 ആണ്. - മറുപടിയിൽ
thinking,text,tool_useടൈപ്പുകളിലുള്ള കണ്ടന്റ് ബ്ലോക്കുകൾ ഉണ്ട്. ആദ്യ ബ്ലോക്ക് എപ്പോഴും ടെക്സ്റ്റ് ആകണമെന്നില്ല: ബ്ലോക്കുകൾtypeപ്രകാരം തിരഞ്ഞെടുക്കുക. stop_reasonend_turnഅല്ലെങ്കിൽtool_useആണ്. Shannon മോഡലിന്റെ സ്ട്രീംmax_tokensഓടെയും അവസാനിക്കാം.anthropic-version,anthropic-betaഎന്നിവ സ്വീകരിക്കും, അതിനാൽ SDK മാറ്റമില്ലാതെ പ്രവർത്തിക്കുന്നു. റിക്വസ്റ്റിന് അവ ആവശ്യമില്ല./v1/messages-ലെ പിശകുകൾക്ക് Anthropic ഘടനയാണ്:{"type": "error", "error": {…}}.
ഈ ഫോർമാറ്റുകൾ സംസാരിക്കുന്ന കോഡിംഗ് ടൂളുകളും ഇതേ രീതിയിൽ സജ്ജമാക്കുന്നു: ബേസ് URL, കീ, മോഡലായി ഒരു Shannon ഐഡി. CLI കോഡിംഗ് ടൂളുകൾ