सामग्रीमा जानुहोस्
सारांश

सारांश

API को नक्सा: हरेक इन्डपोइन्ट, अनुरोध र त्रुटि कस्ता देखिन्छन्, कलहरूको भुक्तानी कसरी हुन्छ, र OpenAI वा Anthropic SDK बाट आउँदा के जान्नुपर्छ।

इन्डपोइन्टहरू

हरेक इन्डपोइन्ट एउटै बेस URL मुनि छ र HTTPS मार्फत सेवा गरिन्छ।

बेस URL
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 होस्ट गरिएको ओपन-वेट मोडलका लागि टेक्स्ट वा च्याट अनुरोधका टोकन गन्नुहोस्। निःशुल्क।
POST /v1/messages/count_tokens Anthropic टोकन गणना होस्ट गरिएको ओपन-वेट मोडलका लागि Messages अनुरोधका इनपुट टोकन गन्नुहोस्। निःशुल्क।

टेक्स्ट उत्पन्न गर्ने तीनवटै इन्डपोइन्टले उही मोडलहरूमा पुग्छन्। तपाईंको कोडले पहिल्यै प्रयोग गरिरहेको ढाँचाको इन्डपोइन्ट छान्नुहोस्।

अनुरोधका आधारभूत कुरा

हेडर विवरण
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 हेक्साडेसिमल अक्षरको एउटा बनाउँछ।
  • हरेक POST को बडी 32 MiB सम्मको एउटा JSON अब्जेक्ट हुन्छ।
  • API ले नचिन्ने फिल्डले कुनै त्रुटि ल्याउँदैन र कुनै प्रभाव पार्दैन। अर्को प्रदायकका लागि लेखिएको अनुरोध अतिरिक्त फिल्डका कारण असफल हुँदैन।
  • गलत JSON प्रकार भएको चिनिएको फिल्ड, वा हराएको आवश्यक फिल्डलाई 422 सहित जवाफ दिइन्छ। मान्य JSON नभएको बडीलाई 400 सहित जवाफ दिइन्छ।
  • model Models & pricing मा भएका id मध्ये एउटा हो। ठूलो र सानो अक्षरले फरक पार्दैन।

जवाफ JSON हुन्छ, वा अनुरोधले stream लाई true सेट गर्दा सर्भर-सेन्ट इभेन्टको स्ट्रिम हुन्छ। हरेक इन्डपोइन्टले आफ्नै ढाँचामा जवाफ दिन्छ। हरेक जवाफमा x-request-id हेडर हुन्छ।

अनुरोधले के पार गर्छ

मोडल चल्नु अघि अनुरोध निश्चित क्रममा जाँचिन्छ। असफल हुने पहिलो जाँचले जवाफ दिन्छ, त्यसैले 401 ले अहिलेसम्म बडीबारे केही बताउँदैन।

त्रुटिको आकार

त्रुटि type र message बोक्ने error भएको JSON अब्जेक्ट हो। /v1/messages ले यसलाई Anthropic SDK ले अपेक्षा गरेजस्तो बेर्छ; अरू हरेक पाथले OpenAI आकार प्रयोग गर्छ।

{
  "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 पेजले ब्यालेन्स र हरेक अनुरोधको लागत देखाउँछ।
  • हरेक अनुरोध बराबर सेवा पाउँछ। अनुरोध दरको एकमात्र सीमा फ्लड प्रोटेक्सन हो: प्रति खाता प्रति मिनेट 120 अनुरोध। समानान्तर पठाइएका अनुरोधहरू लाइनमा पर्खन्छन्।

सीमा र ब्यालेन्स मोडल र मूल्य की र प्रयोग

मोडलमा निर्भर हुने फिल्डहरू

हरेक मोडलले उही अनुरोध लिन्छ। केही फिल्ड केही मोडलमा मात्र प्रभावकारी हुन्छन्; तालिकाले कहाँ भनेर बताउँछ। इन्डपोइन्ट पेजहरूले हरेक फिल्ड सूचीबद्ध गर्छन्।

फिल्ड विवरण लागू गर्ने
system मोडलका लागि निर्देशन: Chat Completions मा system सन्देश, Messages मा system, Responses मा instructions। होस्ट गरिएका ओपन-वेट मोडलहरू, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature स्याम्पलिङ तापक्रम। होस्ट गरिएका ओपन-वेट मोडलहरू, shannon-1.6-*, shannon-coder-1
top_p न्युक्लियस स्याम्पलिङ। होस्ट गरिएका ओपन-वेट मोडलहरू
seed स्याम्पलिङका लागि निश्चित सिड। होस्ट गरिएका ओपन-वेट मोडलहरू
stop 4 वटासम्म स्टप सिक्वेन्स। होस्ट गरिएका ओपन-वेट मोडलहरू
reasoning_effort जवाफ दिनु अघि मोडलले कति रिजनिङ गर्छ। Responses मा reasoning.effort, Messages मा thinking। होस्ट गरिएका ओपन-वेट मोडलहरू
web_search true ले यो अनुरोधका लागि मोडललाई वेबमा खोज्न दिन्छ। Chat Completions र Messages मा यो API को आफ्नै फिल्ड हो। shannon-coder-1 बाहेक Shannon मोडलहरू
max_tokens आउटपुट बजेट। हरेक मोडलमा यसले तपाईंको ब्यालेन्सबाट छुट्याइने रकम तोक्छ। जवाफको लम्बाइको सीमाका रूपमा: होस्ट गरिएका ओपन-वेट मोडलहरू, shannon-1.6-*, shannon-coder-1

Chat Completions

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 बोक्छ।
  • स्ट्रिममा टुल कल पूरा arguments स्ट्रिङ भएको एउटै चङ्कमा आउँछ।
  • जवाफमा एउटा choice हुन्छ।
  • माथिको तालिकामा नभएका OpenAI API का पाथहरू, जस्तै /v1/embeddings, लाई 404 सहित जवाफ दिइन्छ।

Anthropic SDK बाट आउँदा

  • बेस URL https://api.shannon-ai.com मा, /v1 बिना, र की आफ्नो 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 कोडिङ टुलहरू