සාරාංශය
API එකේ සිතියම: සෑම endpoint එකක්ම, ඉල්ලීමක් සහ දෝෂයක් පෙනෙන්නේ කෙසේද, calls සඳහා ගෙවන ආකාරය, සහ ඔබ OpenAI හෝ Anthropic SDK එකකින් පැමිණෙන විට දැනගත යුතු දේ.
Endpoints
සෑම endpoint එකක්ම එක base URL එක යටතේ පවතින අතර HTTPS හරහා සේවය කෙරේ.
https://api.shannon-ai.com | Endpoint | Format | එය කුමක් සඳහාද |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | සංවාදයක් යවා ඊළඟ පිළිතුර ලබා ගන්න. Streaming සමඟ හෝ නොමැතිව. |
POST /v1/messages | Anthropic Messages | එයම, Anthropic SDKs වල ඉල්ලීම් සහ පිළිතුරු හැඩතලවලින්. |
POST /v1/responses | OpenAI Responses | එයම, Responses හැඩතලවලින්. Endpoint එක state තබා නොගනී: සෑම ඉල්ලීමක්ම සමඟ සංවාදය යවන්න. |
GET /v1/models | OpenAI model ලැයිස්තුව | Models context window, මිල ගණන් සහ හැකියාවන් සමඟ ලැයිස්තුගත කරන්න. key එකක් අවශ්ය නැත. |
POST /v1/tokenize | Shannon API | අපගේ සේවාදායකවල ධාවනය වන open-weight model එකක් සඳහා පෙළක හෝ chat ඉල්ලීමක tokens ගණන් කරන්න. නොමිලේ. |
POST /v1/messages/count_tokens | Anthropic token ගණන | අපගේ සේවාදායකවල ධාවනය වන open-weight model එකක් සඳහා Messages ඉල්ලීමක input tokens ගණන් කරන්න. නොමිලේ. |
පෙළ නිපදවන endpoints තුනෙන් එකම models වලට ළඟා විය හැක. ඔබේ code දැනටමත් භාවිතා කරන format එක ඇති එක තෝරන්න.
ඉල්ලීම්වල මූලික කරුණු
| Header | විස්තරය |
|---|---|
Authorization: Bearer <key> | ඔබේ API key එක. x-api-key නොයවන්නේ නම් GET /v1/models හැර සෑම endpoint එකකම අවශ්යයි. |
x-api-key: <key> | Anthropic SDKs යවන header එකේ එම key එකම. සෑම endpoint එකකම කියවයි. |
Content-Type: application/json | සෑම POST එකකම අවශ්යයි. එය නොමැතිව පිළිතුර 415 වේ. |
x-request-id: <your id> | විකල්ප. ඉල්ලීම සඳහා ඔබේම id එක; එය පිළිතුරේ x-request-id header එකේ ආපසු එයි. එය නොමැතිව API එක hexadecimal අක්ෂර 12ක id එකක් සාදයි. |
- සෑම
POSTඑකක body එකම එක JSON object එකකි, 32 MiB දක්වා. - API එක නොදන්නා field එකක් දෝෂයක් ඇති නොකරන අතර බලපෑමක් ද නැත. වෙනත් provider කෙනෙකු සඳහා ලියූ ඉල්ලීමක් අමතර field එකක් නිසා අසාර්ථක නොවේ.
- වැරදි JSON type එකක් ඇති දන්නා field එකකට, හෝ අවශ්ය field එකක් නැති විට,
422සමඟ පිළිතුරු ලැබේ. වලංගු JSON නොවන body එකකට400සමඟ පිළිතුරු ලැබේ. modelයනු Models & pricing හි ඇති ids වලින් එකකි. ලොකු අකුරු සහ කුඩා අකුරු වැදගත් නොවේ.
පිළිතුර JSON වේ, නැතහොත් ඉල්ලීම stream true ලෙස සකසන විට server-sent events stream එකක් වේ. සෑම endpoint එකක්ම තමන්ගේම format එකෙන් පිළිතුරු දෙයි. සෑම පිළිතුරකම x-request-id header එක ඇත.
ඉල්ලීමක් පසුකරන දේ
Model එකක් ධාවනය වීමට පෙර ඉල්ලීමක් ස්ථාවර පිළිවෙලකට පරීක්ෂා කෙරේ. අසාර්ථක වන පළමු පරීක්ෂාව පිළිතුරු දෙයි, එබැවින් 401 මගින් body ගැන තවමත් කිසිවක් නොකියයි.
| පරීක්ෂා කරන පිළිවෙල | අසාර්ථක වන විට status එක |
|---|---|
| API key | 401 |
| ඉල්ලීමේ body එක: එහි ප්රමාණය, content type, JSON සහ field types | 413 · 415 · 400 · 422 |
| Model id | 400 |
| Flood protection: ගිණුමකට විනාඩියකට ඉල්ලීම් 120 | 429 |
| ශේෂය: ඉල්ලීමේ output අයවැය ඊට ගැළපිය යුතුය | 429 |
දෝෂයේ හැඩය
දෝෂයක් යනු type සහ message රඳවන error සහිත JSON object එකකි. /v1/messages Anthropic SDKs බලාපොරොත්තු වන ආකාරයට එය ඔතයි; අනෙක් සෑම path එකක්ම 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වේ.- Stream එකක් ආරම්භ වූ පසු, status එක දැනටමත්
200වේ. ඉන්පසු අසාර්ථකත්වයක් stream එක තුළ error frame එකක් ලෙස පැමිණේ. - සෑම දෝෂ පිළිතුරක්ම
x-request-idheader එක රැගෙන යයි.
| තත්ත්වය | වර්ගය | කවදාද |
|---|---|---|
400 | invalid_request_error | Body එක වලංගු JSON නොවේ, model id එක නොදන්නා ය, නැතහොත් ඔබ යැවූ input වර්ගයක් model එක පිළිගන්නේ නැත. |
401 | authentication_error | Key එක නැත, නැතහොත් වලංගු නොවේ. |
404 | not_found_error | Path එක නොපවතී. |
405 | api_error | Path එක පවතී, method එක වැරදිය. |
413 | invalid_request_error | Body එක 32 MiB ට වඩා විශාලය. |
415 | invalid_request_error | Content-Type application/json නොවේ. |
422 | invalid_request_error | Field එකක JSON type එක වැරදිය, නැතහොත් අවශ්ය field එකක් නැත. |
429 | rate_limit_error | ශේෂය ඉල්ලීමට ප්රමාණවත් නොවේ, විනාඩියක් තුළ ඉල්ලීම් 120කට වඩා පැමිණියේය, කවුළුවේ Shannon Coder calls අවසන් වී ඇත, නැතහොත් model එක කාර්යබහුලයි. පණිවිඩය කුමක්දැයි කියයි. |
5xx | api_error | Status 500, 502, 503 හෝ 504: ඉල්ලීම වලංගු වූ නමුත් පිළිතුරු දිය නොහැකි විය. එය නැවත යවන්න. 500 එකකට server_error type එක තිබිය හැක. |
බිල්පත් සහ ශේෂය
- ගිණුමකට එක ශේෂයක් ඇති අතර chat සහ API එය බෙදා ගනී: මුලින් අද දිනයේ සැලසුම් ප්රමාණය, පසුව මිලදී ගත් credit. API එකට තමන්ගේම quota එකක් නැත.
- ඉල්ලීමක් එහි output අයවැය (
max_tokens, පෙරනිමිය 4,096) වෙන් කර ගන්නා අතර, පසුව model එකේ මිලට එය සැබවින්ම භාවිතා කළ tokens සඳහා අය කෙරේ. - සෑම පිළිතුරක්ම එහි token ගණන්
usageහි වාර්තා කරයි. Keys & usage පිටුවේ ශේෂය සහ සෑම ඉල්ලීමකටම වැය වූ දේ පෙන්වයි. - සෑම ඉල්ලීමකටම එක සමානව සේවය කෙරේ. ඉල්ලීම් වේගය පිළිබඳ එකම සීමාව flood protection ය: ගිණුමකට විනාඩියකට ඉල්ලීම් 120. සමාන්තරව යවන ඉල්ලීම් පෝලිමේ රැඳී සිටී.
සීමා සහ ශේෂය Models සහ මිල ගණන් යතුරු සහ භාවිතය
Model එක මත රඳා පවතින fields
සෑම model එකක්ම එකම ඉල්ලීම පිළිගනී. Fields කිහිපයක් බලපාන්නේ සමහර models මත පමණි; වගුවේ කොතැනදැයි නම් කර ඇත. Endpoint පිටුවල සෑම field එකක්ම ලැයිස්තුගත කර ඇත.
| Field | විස්තරය | යොදන්නේ |
|---|---|---|
system | Model එක සඳහා උපදෙස්: Chat Completions හි system පණිවිඩයක්, Messages හි system, Responses හි instructions. | අපගේ සේවාදායකවල ධාවනය වන open-weight models, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Sampling temperature. | අපගේ සේවාදායකවල ධාවනය වන open-weight models, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | අපගේ සේවාදායකවල ධාවනය වන open-weight models |
seed | Sampling සඳහා ස්ථාවර seed එකක්. | අපගේ සේවාදායකවල ධාවනය වන open-weight models |
stop | උපරිම වශයෙන් stop sequences 4ක් දක්වා. | අපගේ සේවාදායකවල ධාවනය වන open-weight models |
reasoning_effort | පිළිතුරු දීමට පෙර model එක කොතරම් තර්ක කරයිද. Responses හි reasoning.effort, Messages හි thinking. | අපගේ සේවාදායකවල ධාවනය වන open-weight models |
web_search | true මගින් මෙම ඉල්ලීම සඳහා model එකට වෙබ් එක සෙවීමට ඉඩ දෙයි. Chat Completions සහ Messages හි මෙම API එකේ field එකකි. | shannon-coder-1 හැර Shannon models |
max_tokens | Output අයවැය. සෑම model එකකම එය ඔබේ ශේෂයෙන් වෙන් කරන ප්රමාණය සකසයි. | පිළිතුරේ දිග පිළිබඳ සීමාව ලෙස: අපගේ සේවාදායකවල ධාවනය වන open-weight models, shannon-1.6-*, shannon-coder-1 |
OpenAI SDK එකකින් පැමිණෙන්නේ නම්
- Base URL එක
https://api.shannon-ai.com/v1ලෙසත්, key එක ඔබේ Shannon key එකටත් සකසන්න. එවිට Chat Completions සහ Responses calls SDK එකත් සමඟ එලෙසම ක්රියා කරයි. modelShannon id එකක් විය යුතුය.gpt-4oවැනි වෙනත් provider කෙනෙකුගේ model නමකට400සහunknown modelසමඟ පිළිතුරු ලැබේ.- තර්කනය ඊටම වූ field එකක පැමිණේ: පණිවිඩයේ සහ stream deltas වල
contentඅසලreasoning_content. - Stream එකක සෑම විටම අවසාන chunk එකේ
finish_reasonසමඟusageඇත. - Stream එකක tool call එකක් සම්පූර්ණ
argumentsstring එක සහිත එක chunk එකක් ලෙස පැමිණේ. - පිළිතුරකට එක choice එකක් ඇත.
/v1/embeddingsවැනි, ඉහත වගුවේ නැති OpenAI API paths වලට404සමඟ පිළිතුරු ලැබේ.
Anthropic SDK එකකින් පැමිණෙන්නේ නම්
- Base URL එක
/v1නොමැතිවhttps://api.shannon-ai.comලෙසත්, key එක ඔබේ Shannon key එකටත් සකසන්න. SDK එක එයx-api-keyලෙස යවයි. modelShannon id එකක් විය යුතුය.- මෙම API එකේ
max_tokensවිකල්පයකි. එහි පෙරනිමිය 4,096. - පිළිතුරක
thinking,textසහtool_useවර්ගවල content blocks ඇත. පළමු block එක සෑම විටම පෙළ නොවේ: blockstypeඅනුව තෝරන්න. stop_reasonend_turnහෝtool_useවේ. Shannon model එකක stream එකක්max_tokensසමඟ ද අවසන් විය හැක.anthropic-versionසහanthropic-betaපිළිගන්නා බැවින් SDK එක වෙනසක් නොමැතිව ක්රියා කරයි. ඉල්ලීමකට ඒවා අවශ්ය නැත./v1/messagesහි දෝෂ Anthropic හැඩය ගනී:{"type": "error", "error": {…}}.
මෙම format වලින් කථා කරන coding මෙවලම් එලෙසම සකසයි: base URL, key, සහ model එක ලෙස Shannon id එකක්. CLI coding මෙවලම්