સારાંશ
API નો નકશો: દરેક એન્ડપોઇન્ટ, રિક્વેસ્ટ અને એરર કેવા દેખાય છે, કોલ્સ માટે ચુકવણી કેવી રીતે થાય છે, અને OpenAI અથવા Anthropic SDK માંથી આવતા હોવ ત્યારે શું જાણવું.
એન્ડપોઇન્ટ્સ
દરેક એન્ડપોઇન્ટ એક base URL હેઠળ છે અને HTTPS પર પીરસાય છે.
https://api.shannon-ai.com | એન્ડપોઇન્ટ | ફોર્મેટ | તે શેના માટે છે |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | વાતચીત મોકલો, આગલો જવાબ મેળવો. streaming સાથે અથવા વિના. |
POST /v1/messages | Anthropic Messages | એ જ, Anthropic SDK ની રિક્વેસ્ટ અને જવાબના આકારોમાં. |
POST /v1/responses | OpenAI Responses | એ જ, Responses ના આકારોમાં. એન્ડપોઇન્ટ કોઈ સ્ટેટ રાખતું નથી: દરેક રિક્વેસ્ટ સાથે વાતચીત મોકલો. |
GET /v1/models | OpenAI મોડેલ યાદી | કોન્ટેક્સ્ટ વિન્ડો, કિંમતો અને ક્ષમતાઓ સાથે મોડેલ્સની યાદી. કી જોઈતી નથી. |
POST /v1/tokenize | Shannon API | હોસ્ટેડ open-weight મોડેલ માટે ટેક્સ્ટ અથવા chat રિક્વેસ્ટના ટોકન્સ ગણો. મફત. |
POST /v1/messages/count_tokens | Anthropic ટોકન ગણતરી | હોસ્ટેડ open-weight મોડેલ માટે Messages રિક્વેસ્ટના ઇનપુટ ટોકન્સ ગણો. મફત. |
ટેક્સ્ટ બનાવતા ત્રણ એન્ડપોઇન્ટ્સ સમાન મોડેલ્સ સુધી પહોંચે છે. જેનું ફોર્મેટ તમારો કોડ પહેલેથી વાપરે છે તે પસંદ કરો.
રિક્વેસ્ટની મૂળભૂત બાબતો
| હેડર | વર્ણન |
|---|---|
Authorization: Bearer <key> | તમારી API કી. GET /v1/models સિવાય દરેક એન્ડપોઇન્ટ પર જરૂરી, સિવાય કે તમે x-api-key મોકલો. |
x-api-key: <key> | Anthropic SDK જે હેડરમાં મોકલે છે તેમાં એ જ કી. દરેક એન્ડપોઇન્ટ પર વંચાય છે. |
Content-Type: application/json | દરેક POST પર જરૂરી. તેના વિના જવાબ 415 છે. |
x-request-id: <your id> | વૈકલ્પિક. રિક્વેસ્ટ માટે તમારું પોતાનું id; તે જવાબ હેડર x-request-id માં પાછું આવે છે. તેના વિના API 12 હેક્સાડેસિમલ અક્ષરોનું એક બનાવે છે. |
- દરેક
POSTનો બોડી એક JSON ઓબ્જેક્ટ છે, 32 MiB સુધી. - API જે ફીલ્ડ જાણતું નથી તેનાથી કોઈ એરર થતી નથી અને તેની કોઈ અસર નથી. બીજા પ્રદાતા માટે લખેલી રિક્વેસ્ટ વધારાના ફીલ્ડને કારણે નિષ્ફળ જતી નથી.
- ખોટા JSON પ્રકારવાળા જાણીતા ફીલ્ડનો, અથવા ખૂટતા જરૂરી ફીલ્ડનો જવાબ
422થી અપાય છે. માન્ય JSON ન હોય તેવા બોડીનો જવાબ400થી અપાય છે. modelએ Models & pricing પરના id માંનો એક છે. મોટા અને નાના અક્ષરો મહત્વના નથી.
જવાબ JSON હોય છે, અથવા રિક્વેસ્ટ stream ને true સેટ કરે ત્યારે server-sent events નો સ્ટ્રીમ. દરેક એન્ડપોઇન્ટ પોતાના ફોર્મેટમાં જવાબ આપે છે. દરેક જવાબમાં x-request-id હેડર હોય છે.
રિક્વેસ્ટ શું પસાર કરે છે
મોડેલ ચાલે તે પહેલાં રિક્વેસ્ટ નિશ્ચિત ક્રમમાં તપાસાય છે. જે પહેલી તપાસ નિષ્ફળ જાય તે જવાબ આપે છે, તેથી 401 હજી બોડી વિશે કંઈ જણાવતું નથી.
| આ ક્રમમાં તપાસાય છે | નિષ્ફળ જાય ત્યારે સ્ટેટસ |
|---|---|
| API કી | 401 |
| બોડી: કદ, કન્ટેન્ટ પ્રકાર, JSON, ફીલ્ડ પ્રકારો | 413 · 415 · 400 · 422 |
| મોડેલ id | 400 |
| Flood protection: એકાઉન્ટ દીઠ પ્રતિ મિનિટ 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 નથી, મોડેલ id અજાણ્યો છે, અથવા તમે મોકલેલા પ્રકારનું ઇનપુટ મોડેલ લેતું નથી. |
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 પેજ બેલેન્સ અને દરેક રિક્વેસ્ટનો ખર્ચ બતાવે છે. - દરેક રિક્વેસ્ટ સમાન રીતે પીરસાય છે. રિક્વેસ્ટ દર પરની એકમાત્ર મર્યાદા flood protection છે: એકાઉન્ટ દીઠ પ્રતિ મિનિટ 120 રિક્વેસ્ટ. સમાંતર મોકલેલી રિક્વેસ્ટ્સ કતારમાં રાહ જુએ છે.
મર્યાદાઓ અને બેલેન્સ મોડેલ્સ અને કિંમત Keys & usage
મોડેલ પર આધારિત ફીલ્ડ્સ
દરેક મોડેલ સમાન રિક્વેસ્ટ લે છે. થોડા ફીલ્ડ્સ માત્ર અમુક મોડેલ્સ પર અસર કરે છે; ટેબલ જણાવે છે ક્યાં. એન્ડપોઇન્ટ પેજ દરેક ફીલ્ડ યાદી કરે છે.
| ફીલ્ડ | વર્ણન | કોણ લાગુ કરે છે |
|---|---|---|
system | મોડેલ માટે સૂચનાઓ: Chat Completions પર system મેસેજ, Messages પર system, Responses પર instructions. | હોસ્ટેડ open-weight મોડેલ્સ, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | સેમ્પલિંગ temperature. | હોસ્ટેડ open-weight મોડેલ્સ, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus સેમ્પલિંગ. | હોસ્ટેડ open-weight મોડેલ્સ |
seed | સેમ્પલિંગ માટે નિશ્ચિત seed. | હોસ્ટેડ open-weight મોડેલ્સ |
stop | વધુમાં વધુ 4 સ્ટોપ સિક્વન્સ. | હોસ્ટેડ open-weight મોડેલ્સ |
reasoning_effort | જવાબ આપતા પહેલાં મોડેલ કેટલું reasoning કરે. Responses પર reasoning.effort, Messages પર thinking. | હોસ્ટેડ open-weight મોડેલ્સ |
web_search | true આ રિક્વેસ્ટ માટે મોડેલને વેબ પર શોધવા દે છે. આ API નું ફીલ્ડ, Chat Completions અને Messages પર. | shannon-coder-1 સિવાયના Shannon મોડેલ્સ |
max_tokens | આઉટપુટ બજેટ. દરેક મોડેલ પર તે તમારા બેલેન્સમાંથી અલગ રખાતી રકમ નક્કી કરે છે. | જવાબની લંબાઈની મર્યાદા તરીકે: હોસ્ટેડ open-weight મોડેલ્સ, shannon-1.6-*, shannon-coder-1 |
OpenAI SDK માંથી આવતા હોવ તો
- base URL ને
https://api.shannon-ai.com/v1અને કીને તમારી Shannon કી સેટ કરો. Chat Completions અને Responses કોલ્સ પછી SDK સાથે જેમ છે તેમ કામ કરે છે. modelShannon id હોવું જોઈએ.gpt-4oજેવા બીજા પ્રદાતાના મોડેલ નામનો જવાબ400અનેunknown modelથી અપાય છે.- Reasoning પોતાના ફીલ્ડમાં આવે છે:
contentની બાજુમાંreasoning_content, મેસેજમાં અને સ્ટ્રીમ deltas માં. - સ્ટ્રીમ હંમેશા તેના છેલ્લા chunk માં
finish_reasonસાથેusageલઈ જાય છે. - સ્ટ્રીમમાં ટૂલ કોલ સંપૂર્ણ
argumentsસ્ટ્રિંગ સાથે એક chunk તરીકે આવે છે. - જવાબમાં એક choice હોય છે.
- ઉપરના ટેબલમાં ન હોય તેવા OpenAI API ના પાથ, જેમ કે
/v1/embeddings, નો જવાબ404થી અપાય છે.
Anthropic SDK માંથી આવતા હોવ તો
- base URL ને
https://api.shannon-ai.com,/v1વિના, અને કીને તમારી Shannon કી સેટ કરો. SDK તેનેx-api-keyતરીકે મોકલે છે. modelShannon id હોવું જોઈએ.- આ 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": {…}}.
આ ફોર્મેટ બોલતા કોડિંગ ટૂલ્સ એ જ રીતે સેટ થાય છે: base URL, કી, અને મોડેલ તરીકે Shannon id. CLI કોડિંગ ટૂલ્સ