கண்ணோட்டம்
API-யின் வரைபடம்: ஒவ்வொரு endpoint, கோரிக்கையும் பிழையும் எப்படி இருக்கும், அழைப்புகளுக்கு எவ்வாறு கட்டணம் செலுத்தப்படுகிறது, மற்றும் OpenAI அல்லது Anthropic SDK-யிலிருந்து வரும்போது அறிய வேண்டியவை.
Endpoint-கள்
ஒவ்வொரு endpoint-ம் ஒரே 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 வடிவங்களில். இந்த endpoint எந்த நிலையையும் வைத்திருப்பதில்லை: ஒவ்வொரு கோரிக்கையுடனும் உரையாடலை அனுப்புங்கள். |
GET /v1/models | OpenAI மாடல் பட்டியல் | மாடல்களை context window, விலைகள் மற்றும் திறன்களுடன் பட்டியலிடுங்கள். key தேவையில்லை. |
POST /v1/tokenize | Shannon API | ஹோஸ்ட் செய்யப்பட்ட open-weight மாடலுக்கு ஒரு உரையின் அல்லது அரட்டைக் கோரிக்கையின் டோக்கன்களை எண்ணுங்கள். இலவசம். |
POST /v1/messages/count_tokens | Anthropic டோக்கன் எண்ணிக்கை | ஹோஸ்ட் செய்யப்பட்ட open-weight மாடலுக்கு ஒரு Messages கோரிக்கையின் உள்ளீட்டு டோக்கன்களை எண்ணுங்கள். இலவசம். |
உரையை உருவாக்கும் மூன்று endpoint-களும் ஒரே மாடல்களை அடைகின்றன. உங்கள் குறியீடு ஏற்கனவே பயன்படுத்தும் வடிவத்துக்கு உரியதைத் தேர்ந்தெடுங்கள்.
கோரிக்கை அடிப்படைகள்
| Header | விளக்கம் |
|---|---|
Authorization: Bearer <key> | உங்கள் API key. x-api-key அனுப்பாவிட்டால், GET /v1/models தவிர ஒவ்வொரு endpoint-லும் கட்டாயம். |
x-api-key: <key> | Anthropic SDK-கள் அனுப்பும் header-ல் அதே key. ஒவ்வொரு endpoint-லும் படிக்கப்படும். |
Content-Type: application/json | ஒவ்வொரு POST-லும் கட்டாயம். இல்லையென்றால் பதில் 415. |
x-request-id: <your id> | விருப்பமானது. கோரிக்கைக்கான உங்கள் சொந்த id; அது பதில் header x-request-id-ல் திரும்பி வரும். அது இல்லையென்றால் API 12 ஹெக்சாடெசிமல் எழுத்துகள் கொண்ட ஒன்றை உருவாக்கும். |
- ஒவ்வொரு
POST-ன் body-யும் 32 MiB வரையிலான ஒரு JSON object. - API-க்குத் தெரியாத புலம் பிழையை ஏற்படுத்தாது, விளைவும் இல்லை. வேறொரு provider-க்காக எழுதப்பட்ட கோரிக்கை கூடுதல் புலத்தால் தோல்வியடையாது.
- தவறான JSON வகை கொண்ட தெரிந்த புலம், அல்லது இல்லாத கட்டாயப் புலம்
422பெறும். செல்லுபடியாகாத JSON body400பெறும். modelஎன்பது மாடல்கள் & விலை பக்கத்திலுள்ள id-களில் ஒன்று. பெரிய/சிறிய எழுத்து வேறுபாடு பொருட்படுத்தப்படாது.
பதில் JSON ஆக இருக்கும், அல்லது கோரிக்கை stream-ஐ true ஆக அமைத்தால் server-sent events-ன் stream ஆக இருக்கும். ஒவ்வொரு endpoint-ம் தன் சொந்த வடிவத்தில் பதிலளிக்கும். ஒவ்வொரு பதிலிலும் x-request-id header இருக்கும்.
கோரிக்கை கடக்கும் சரிபார்ப்புகள்
மாடல் இயங்கும் முன் கோரிக்கை நிலையான வரிசையில் சரிபார்க்கப்படும். தோல்வியடையும் முதல் சரிபார்ப்பே பதிலளிக்கும், எனவே 401 என்றால் body பற்றி இன்னும் எதுவும் தெரியாது.
| சரிபார்க்கப்படுவது, இந்த வரிசையில் | தோல்வியடையும்போது நிலை |
|---|---|
| API key | 401 |
| Body: அளவு, content type, JSON, புல வகைகள் | 413 · 415 · 400 · 422 |
| மாடல் id | 400 |
| ஃப்ளட் பாதுகாப்பு: ஒரு கணக்குக்கு நிமிடத்துக்கு 120 கோரிக்கைகள் | 429 |
| இருப்பு: கோரிக்கையின் வெளியீட்டு அளவு பொருந்த வேண்டும் | 429 |
பிழையின் வடிவம்
பிழை என்பது type மற்றும் message கொண்ட error உடைய JSON object. /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.- stream தொடங்கிய பிறகு நிலை ஏற்கனவே
200ஆகிவிட்டது. தோல்வி அப்போது stream-க்குள் ஒரு error frame ஆக வந்து சேரும். - ஒவ்வொரு பிழைப் பதிலிலும்
x-request-idheader இருக்கும்.
| நிலை | வகை | எப்போது |
|---|---|---|
400 | invalid_request_error | body செல்லுபடியாகும் JSON அல்ல, மாடல் id தெரியாதது, அல்லது நீங்கள் அனுப்பிய ஒரு வகை உள்ளீட்டை மாடல் ஏற்காது. |
401 | authentication_error | key இல்லை அல்லது செல்லாதது. |
404 | not_found_error | அந்தப் பாதை இல்லை. |
405 | api_error | பாதை உள்ளது, முறை தவறு. |
413 | invalid_request_error | body 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 கோரிக்கைகள். இணையாக அனுப்பும் கோரிக்கைகள் வரிசையில் காத்திருக்கும்.
வரம்புகளும் இருப்பும் மாடல்கள் & விலை Keys & usage
மாடலைச் சார்ந்த புலங்கள்
ஒவ்வொரு மாடலும் ஒரே கோரிக்கையை ஏற்கும். சில புலங்கள் சில மாடல்களில் மட்டுமே செயல்படும்; அட்டவணை அவை எங்கே என்பதைக் குறிப்பிடுகிறது. endpoint பக்கங்கள் ஒவ்வொரு புலத்தையும் பட்டியலிடுகின்றன.
| புலம் | விளக்கம் | செயல்படுத்துவது |
|---|---|---|
system | மாடலுக்கான அறிவுறுத்தல்கள்: Chat Completions-ல் system செய்தி, Messages-ல் system, Responses-ல் instructions. | ஹோஸ்ட் செய்யப்பட்ட open-weight மாடல்கள், shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Sampling temperature. | ஹோஸ்ட் செய்யப்பட்ட open-weight மாடல்கள், shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | ஹோஸ்ட் செய்யப்பட்ட open-weight மாடல்கள் |
seed | sampling-க்கான நிலையான 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என, key-ஐ உங்கள் Shannon key என அமையுங்கள். Chat Completions மற்றும் Responses அழைப்புகள் SDK-யுடன் அப்படியே வேலை செய்யும். modelஒரு Shannon id-யாக இருக்க வேண்டும்.gpt-4oபோன்ற வேறொரு provider-ன் மாடல் பெயருக்கு400மற்றும்unknown modelபதில் வரும்.- Reasoning தனிப் புலத்தில் வரும்: செய்தியிலும் stream deltas-லும்
content-க்குப் பக்கத்தில்reasoning_content. - stream எப்போதும் தன் கடைசி chunk-ல்
finish_reason-உடன் சேர்த்துusage-ஐக் கொண்டிருக்கும். - stream-ல் tool அழைப்பு முழு
argumentsstring கொண்ட ஒரே chunk ஆக வந்து சேரும். - பதிலில் ஒரு choice இருக்கும்.
- மேலே உள்ள அட்டவணையில் இல்லாத OpenAI API பாதைகளுக்கு,
/v1/embeddingsபோன்றவற்றுக்கு,404பதில் வரும்.
Anthropic SDK-யிலிருந்து வருபவர்களுக்கு
- base URL-ஐ
https://api.shannon-ai.comஎன,/v1இல்லாமல், key-ஐ உங்கள் Shannon key என அமையுங்கள். SDK அதைx-api-keyஆக அனுப்பும். modelஒரு Shannon id-யாக இருக்க வேண்டும்.- இந்த API-யில்
max_tokensவிருப்பமானது. அதன் இயல்புநிலை 4,096. - பதிலில்
thinking,textமற்றும்tool_useவகை content blocks இருக்கும். முதல் block எப்போதும் உரையாக இருக்காது: blocks-ஐtypeமூலம் தேர்ந்தெடுங்கள். stop_reasonஎன்பதுend_turnஅல்லதுtool_use. Shannon மாடலின் streammax_tokensஉடனும் முடியலாம்.anthropic-versionமற்றும்anthropic-betaஏற்கப்படுகின்றன, எனவே SDK மாற்றமின்றி வேலை செய்யும். கோரிக்கைக்கு அவை தேவையில்லை./v1/messages-ல் பிழைகள் Anthropic வடிவில் இருக்கும்:{"type": "error", "error": {…}}.
இந்த வடிவங்களில் பேசும் கோடிங் கருவிகள் அதே முறையில் அமைக்கப்படும்: base URL, key, மற்றும் மாடலாக ஒரு Shannon id. CLI குறியீட்டு கருவிகள்