உள்ளடக்கத்துக்குச் செல்
கண்ணோட்டம்

கண்ணோட்டம்

API-யின் வரைபடம்: ஒவ்வொரு endpoint, கோரிக்கையும் பிழையும் எப்படி இருக்கும், அழைப்புகளுக்கு எவ்வாறு கட்டணம் செலுத்தப்படுகிறது, மற்றும் OpenAI அல்லது Anthropic SDK-யிலிருந்து வரும்போது அறிய வேண்டியவை.

Endpoint-கள்

ஒவ்வொரு endpoint-ம் ஒரே base URL-க்குக் கீழ் உள்ளது, HTTPS வழியாக வழங்கப்படுகிறது.

Base URL
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 body 400 பெறும்.
  • model என்பது மாடல்கள் & விலை பக்கத்திலுள்ள id-களில் ஒன்று. பெரிய/சிறிய எழுத்து வேறுபாடு பொருட்படுத்தப்படாது.

பதில் JSON ஆக இருக்கும், அல்லது கோரிக்கை stream-ஐ true ஆக அமைத்தால் server-sent events-ன் stream ஆக இருக்கும். ஒவ்வொரு endpoint-ம் தன் சொந்த வடிவத்தில் பதிலளிக்கும். ஒவ்வொரு பதிலிலும் x-request-id header இருக்கும்.

கோரிக்கை கடக்கும் சரிபார்ப்புகள்

மாடல் இயங்கும் முன் கோரிக்கை நிலையான வரிசையில் சரிபார்க்கப்படும். தோல்வியடையும் முதல் சரிபார்ப்பே பதிலளிக்கும், எனவே 401 என்றால் body பற்றி இன்னும் எதுவும் தெரியாது.

பிழையின் வடிவம்

பிழை என்பது type மற்றும் message கொண்ட error உடைய JSON object. /v1/messages அதை Anthropic SDK-கள் எதிர்பார்க்கும் முறையில் உள்ளே வைக்கும்; மற்ற ஒவ்வொரு பாதையும் OpenAI வடிவத்தைப் பயன்படுத்தும்.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • type மற்றும் message-ஐப் படியுங்கள். code மற்றும் param சில பிழைகளில் மட்டுமே இருக்கும்: அவற்றை விருப்பமானவையாகக் கருதுங்கள். param எப்போதும் null.
  • stream தொடங்கிய பிறகு நிலை ஏற்கனவே 200 ஆகிவிட்டது. தோல்வி அப்போது stream-க்குள் ஒரு error frame ஆக வந்து சேரும்.
  • ஒவ்வொரு பிழைப் பதிலிலும் x-request-id header இருக்கும்.
நிலை வகை எப்போது
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

Chat Completions

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 அழைப்பு முழு arguments string கொண்ட ஒரே 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 மாடலின் stream max_tokens உடனும் முடியலாம்.
  • anthropic-version மற்றும் anthropic-beta ஏற்கப்படுகின்றன, எனவே SDK மாற்றமின்றி வேலை செய்யும். கோரிக்கைக்கு அவை தேவையில்லை.
  • /v1/messages-ல் பிழைகள் Anthropic வடிவில் இருக்கும்: {"type": "error", "error": {…}}.

இந்த வடிவங்களில் பேசும் கோடிங் கருவிகள் அதே முறையில் அமைக்கப்படும்: base URL, key, மற்றும் மாடலாக ஒரு Shannon id. CLI குறியீட்டு கருவிகள்