कंटेंट पर जाएँ
SDK

SDK

कोई भी OpenAI या Anthropic SDK सीधे काम करता है।

Shannon OpenAI और Anthropic दोनों वायर फ़ॉर्मेट बोलता है, इसलिए आप दोनों के आधिकारिक SDK जैसे हैं वैसे इस्तेमाल करते हैं। आप क्लाइंट में तीन मान बदलते हैं: बेस URL, API key और मॉडल id। आपका बाकी कोड वैसा ही रहता है।

क्या सेट करें

सेटिंग OpenAI SDK Anthropic SDK
बेस URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API key आपकी Shannon key। SDK इसे Authorization: Bearer के रूप में भेजता है। आपकी Shannon key। SDK इसे x-api-key के रूप में भेजता है।
मॉडल एक प्रकाशित मॉडल id, उदाहरण के लिए shannon-3। एक प्रकाशित मॉडल id, उदाहरण के लिए shannon-1.6-lite।
यह कौन से endpoints तक पहुँचता है /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
एनवायरनमेंट वेरिएबल OPENAI_API_KEY और OPENAI_BASE_URL, जिन्हें Python और JavaScript SDK तब पढ़ते हैं जब आप कोई मान न दें। ANTHROPIC_API_KEY और ANTHROPIC_BASE_URL, जिन्हें Python और TypeScript SDK तब पढ़ते हैं जब आप कोई मान न दें।

दोनों बेस URL में /v1 का अंतर है: OpenAI SDK अपने बेस URL में /chat/completions जोड़ता है, Anthropic SDK /v1/messages जोड़ता है। जो मॉडल नाम Shannon प्रकाशित नहीं करता, उसका उत्तर 400 और unknown model से दिया जाता है। मॉडल और कीमतें

आपकी key Keys & usage पेज पर है। Keys और उपयोग

OpenAI SDK

आधिकारिक OpenAI SDK POST /v1/chat/completions और POST /v1/responses कॉल करते हैं। हर नमूना एक यूज़र संदेश भेजता है और उत्तर छापता है।

# pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1",
)

response = client.chat.completions.create(
    model="shannon-3",
    messages=[{"role": "user", "content": "Hello, Shannon!"}],
)
print(response.choices[0].message.content)
भाषा इंस्टॉल बेस URL विकल्प स्रोत
Python pip install openai base_url openai/openai-python
JavaScript / TypeScript npm install openai baseURL openai/openai-node
Go go get github.com/openai/openai-go/v3 option.WithBaseURL openai/openai-go
Java com.openai:openai-java baseUrl openai/openai-java
.NET dotnet add package OpenAI OpenAIClientOptions.Endpoint openai/openai-dotnet

दोनों endpoints का हर फ़ील्ड उनके अपने पेज पर वर्णित है। Chat Completions Responses API

Anthropic SDK

आधिकारिक Anthropic SDK POST /v1/messages कॉल करते हैं। वे हर कॉल पर max_tokens माँगते हैं, इसलिए नमूने shannon-1.6-lite इस्तेमाल करते हैं, जो इसे लागू करता है। हर नमूना उत्तर के टेक्स्ट ब्लॉक छापता है।

# pip install anthropic
import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com",
)

message = client.messages.create(
    model="shannon-1.6-lite",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Shannon!"}],
)
for block in message.content:
    if block.type == "text":
        print(block.text)
भाषा इंस्टॉल बेस URL विकल्प स्रोत
Python pip install anthropic base_url anthropics/anthropic-sdk-python
TypeScript npm install @anthropic-ai/sdk baseURL anthropics/anthropic-sdk-typescript
Go go get github.com/anthropics/anthropic-sdk-go option.WithBaseURL anthropics/anthropic-sdk-go
Java com.anthropic:anthropic-java baseUrl anthropics/anthropic-sdk-java

Messages फ़ॉर्मेट और उसके अंतर Anthropic संगतता पेज पर हैं। Anthropic फ़ॉर्मेट

SDK किस पर भरोसा कर सकते हैं

  • जो अनुरोध फ़ील्ड API इस्तेमाल नहीं करती वह स्वीकार हो जाता है। API जिस फ़ील्ड को जानती है, उसे गलत प्रकार के साथ भेजने पर उत्तर 422 होता है।
  • SDK जो वर्शन और बीटा हेडर जोड़ते हैं (anthropic-version, anthropic-beta, openai-beta) वे स्वीकार किए जाते हैं। इनमें से कोई ज़रूरी नहीं है।
  • उत्तर का model प्रकाशित id है, इसलिए आप उसे जैसा है वैसा वापस भेज सकते हैं।
  • /v1/messages पर उत्तर thinking ब्लॉक से शुरू हो सकता है। पहला ब्लॉक लेने के बजाय प्रकार text के ब्लॉक पढ़ें।
  • स्ट्रीमिंग SDK के अपने स्ट्रीम हेल्पर से काम करती है। usage हर स्ट्रीम के अंत में आता है।
  • हर उत्तर में x-request-id हेडर होता है। अपना x-request-id भेजें और वही मान लौट आता है।

कम्युनिटी SDK

अन्य लेखकों के OpenAI API के लिए लिखे क्लाइंट इसी तरह काम करते हैं: क्लाइंट को /v1 के साथ बेस URL, अपनी key और एक Shannon मॉडल id दें। इनका रखरखाव इनके लेखक करते हैं, Shannon नहीं।

भाषा इंस्टॉल क्लाइंट
Go go get github.com/sashabaranov/go-openai sashabaranov/go-openai
Ruby gem install ruby-openai alexrudall/ruby-openai
PHP composer require openai-php/client openai-php/client
Rust cargo add async-openai 64bit/async-openai

SDK के बिना

आपको SDK की ज़रूरत नहीं है। JSON भेज सकने वाला कोई भी HTTP क्लाइंट काम करता है:

  • JSON बॉडी और हेडर Content-Type: application/json के साथ POST। इसके बिना अनुरोध का उत्तर 415 से दिया जाता है।
  • आपकी key Authorization: Bearer <key> में या x-api-key: <key> में। दोनों हर endpoint पर काम करते हैं।
  • 32 MiB तक की बॉडी।
  • "stream": true के साथ उत्तर सर्वर-सेंट इवेंट स्ट्रीम (text/event-stream) है। इसे पंक्ति-दर-पंक्ति पढ़ें और बफ़र न करें।
  • एरर HTTP स्टेटस के साथ error.type और error.message वाली JSON बॉडी है।
curl https://api.shannon-ai.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "shannon-3",
    "messages": [{"role": "user", "content": "Hello, Shannon!"}]
  }'

स्ट्रीम के इवेंट और एरर प्रकारों के लिए देखें: स्ट्रीमिंग त्रुटि प्रबंधन