అవలోకనం
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 | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్ కోసం ఒక టెక్స్ట్ లేదా చాట్ రిక్వెస్ట్ యొక్క tokens ను లెక్కించండి. ఉచితం. |
POST /v1/messages/count_tokens | Anthropic token count | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్ కోసం Messages రిక్వెస్ట్ ఇన్పుట్ tokens ను లెక్కించండి. ఉచితం. |
టెక్స్ట్ను ఉత్పత్తి చేసే మూడు ఎండ్పాయింట్లు అవే మోడల్స్ను చేరుకుంటాయి. మీ కోడ్ ఇప్పటికే ఉపయోగించే ఫార్మాట్ ఉన్నదాన్ని ఎంచుకోండి.
రిక్వెస్ట్ ప్రాథమికాలు
| హెడర్ | వివరణ |
|---|---|
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> | ఐచ్ఛికం. రిక్వెస్ట్కు మీ సొంత id; అది సమాధాన హెడర్ x-request-id లో తిరిగి వస్తుంది. అది లేకపోతే API 12 హెక్సాడెసిమల్ అక్షరాల idని సృష్టిస్తుంది. |
- ప్రతి
POSTబాడీ ఒక JSON ఆబ్జెక్ట్, 32 MiB వరకు. - APIకి తెలియని ఫీల్డ్ ఎరర్ను కలిగించదు మరియు ప్రభావం చూపదు. మరో ప్రొవైడర్ కోసం రాసిన రిక్వెస్ట్ అదనపు ఫీల్డ్ వల్ల విఫలం కాదు.
- తప్పు JSON రకం ఉన్న తెలిసిన ఫీల్డ్కు, లేదా తప్పనిసరి ఫీల్డ్ లేనప్పుడు
422తో సమాధానం వస్తుంది. చెల్లుబాటు కాని JSON బాడీకి400తో సమాధానం వస్తుంది. modelఅనేది Models & pricing లోని ids లో ఒకటి. పెద్ద మరియు చిన్న అక్షరాలు పట్టింపు కాదు.
సమాధానం 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 లు ఆశించే విధంగా చుడుతుంది; మిగతా ప్రతి 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.- స్ట్రీమ్ ప్రారంభమైన తర్వాత స్టేటస్ ఇప్పటికే
200. వైఫల్యం అప్పుడు స్ట్రీమ్ లోపల ఎరర్ ఫ్రేమ్గా వస్తుంది. - ప్రతి ఎరర్ సమాధానంలో
x-request-idహెడర్ ఉంటుంది.
| స్టేటస్ | రకం | ఎప్పుడు |
|---|---|---|
400 | invalid_request_error | బాడీ చెల్లుబాటు అయ్యే JSON కాదు, మోడల్ id తెలియనిది, లేదా మీరు పంపిన ఇన్పుట్ రకాన్ని మోడల్ తీసుకోదు. |
401 | authentication_error | కీ లేదు లేదా చెల్లదు. |
404 | not_found_error | ఆ path లేదు. |
405 | api_error | path ఉంది, మెథడ్ తప్పు. |
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 లో type server_error ఉండవచ్చు. |
బిల్లింగ్ మరియు బ్యాలెన్స్
- ఒక ఖాతాకు ఒక బ్యాలెన్స్ ఉంటుంది, మరియు చాట్ మరియు API దాన్ని పంచుకుంటాయి: ముందుగా ఈరోజు ప్లాన్ అలౌన్స్, ఆ తర్వాత కొనుగోలు చేసిన క్రెడిట్. APIకి సొంత కోటా లేదు.
- రిక్వెస్ట్ తన అవుట్పుట్ బడ్జెట్ను (
max_tokens, డిఫాల్ట్ 4,096) రిజర్వ్ చేస్తుంది, ఆపై అది నిజంగా ఉపయోగించిన tokens కు మోడల్ ధరతో ఛార్జ్ చేయబడుతుంది. - ప్రతి సమాధానం తన tokens లెక్కలను
usageలో నివేదిస్తుంది. Keys & usage పేజీ బ్యాలెన్స్ను మరియు ప్రతి రిక్వెస్ట్ ఎంత ఖర్చైందో చూపిస్తుంది. - ప్రతి రిక్వెస్ట్కు సమానంగా సేవ అందుతుంది. రిక్వెస్ట్ రేటుపై ఉన్న ఏకైక పరిమితి flood protection: ఖాతాకు నిమిషానికి 120 రిక్వెస్ట్లు. సమాంతరంగా పంపిన రిక్వెస్ట్లు వరుసలో వేచి ఉంటాయి.
పరిమితులు మరియు బ్యాలెన్స్ మోడల్స్ & ధరలు Keys & usage
మోడల్పై ఆధారపడే ఫీల్డ్లు
ప్రతి మోడల్ ఒకే రిక్వెస్ట్ను తీసుకుంటుంది. కొన్ని ఫీల్డ్లు కొన్ని మోడల్స్లో మాత్రమే ప్రభావం చూపుతాయి; పట్టిక ఎక్కడో పేర్కొంటుంది. ఎండ్పాయింట్ పేజీలు ప్రతి ఫీల్డ్ను జాబితా చేస్తాయి.
| ఫీల్డ్ | వివరణ | వర్తింపజేసేవి |
|---|---|---|
system | మోడల్కు సూచనలు: Chat Completions లో system మెసేజ్, Messages లో system, Responses లో instructions. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | శాంప్లింగ్ temperature. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్, shannon-1.6-*, shannon-coder-1 |
top_p | న్యూక్లియస్ శాంప్లింగ్. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ |
seed | శాంప్లింగ్ కోసం స్థిర 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 id అయి ఉండాలి.gpt-4oవంటి మరో ప్రొవైడర్ మోడల్ పేరుకు400మరియుunknown modelతో సమాధానం వస్తుంది.- రీజనింగ్ ప్రత్యేక ఫీల్డ్లో వస్తుంది: మెసేజ్లో మరియు స్ట్రీమ్ డెల్టాలలో
contentపక్కనreasoning_content. - స్ట్రీమ్ ఎల్లప్పుడూ తన చివరి చంక్లో
finish_reasonతో పాటుusageను కలిగి ఉంటుంది. - స్ట్రీమ్లో టూల్ కాల్ పూర్తి
argumentsstring ఉన్న ఒక చంక్గా వస్తుంది. - సమాధానంలో ఒక choice ఉంటుంది.
/v1/embeddingsవంటి పై పట్టికలో లేని OpenAI API path లకు404తో సమాధానం వస్తుంది.
Anthropic SDK నుండి వస్తున్నప్పుడు
- బేస్ URL ను
/v1లేకుండాhttps://api.shannon-ai.comకి, కీని మీ Shannon కీకి సెట్ చేయండి. SDK దాన్నిx-api-keyగా పంపుతుంది. modelతప్పనిసరిగా Shannon id అయి ఉండాలి.- ఈ APIలో
max_tokensఐచ్ఛికం. దాని డిఫాల్ట్ 4,096. - సమాధానంలో
thinking,textమరియుtool_useరకాల కంటెంట్ బ్లాక్లు ఉంటాయి. మొదటి బ్లాక్ ఎల్లప్పుడూ టెక్స్ట్ కాదు: బ్లాక్లనుtypeద్వారా ఎంచుకోండి. stop_reasonఅనేదిend_turnలేదాtool_use. Shannon మోడల్ స్ట్రీమ్max_tokensతో కూడా ముగియవచ్చు.anthropic-versionమరియుanthropic-betaఅంగీకరించబడతాయి, కాబట్టి SDK మార్పు లేకుండా పనిచేస్తుంది. రిక్వెస్ట్కు అవి అవసరం లేదు./v1/messagesలో ఎరర్లకు Anthropic ఆకృతి ఉంటుంది:{"type": "error", "error": {…}}.
ఈ ఫార్మాట్లు మాట్లాడే కోడింగ్ టూల్స్ అదే విధంగా సెటప్ చేయబడతాయి: బేస్ URL, కీ, మరియు మోడల్గా ఒక Shannon id. CLI కోడింగ్ టూల్స్