मजकुराकडे जा
SDKs

SDKs

कोणताही OpenAI किंवा Anthropic SDK तसाच चालतो.

Shannon OpenAI आणि Anthropic दोन्ही वायर फॉरमॅट बोलते, त्यामुळे तुम्ही दोन्हींचे अधिकृत SDK जसेच्या तसे वापरता. तुम्ही क्लायंटमध्ये तीन मूल्ये बदलता: बेस URL, API की आणि मॉडेल id. तुमचा बाकीचा कोड तसाच राहतो.

काय सेट करायचे

सेटिंग OpenAI SDK Anthropic SDK
बेस URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API की तुमची Shannon की. SDK ती Authorization: Bearer म्हणून पाठवतो. तुमची Shannon की. SDK ती x-api-key म्हणून पाठवतो.
मॉडेल प्रकाशित मॉडेल id, उदाहरणार्थ shannon-3. प्रकाशित मॉडेल id, उदाहरणार्थ shannon-1.6-lite.
ते पोहोचणारे एंडपॉइंट्स /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 मिळते. मॉडेल्स आणि किंमत

तुमची की Keys & usage पानावर आहे. की आणि वापर

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

दोन्ही एंडपॉइंट्सचे प्रत्येक फील्ड त्यांच्या स्वतःच्या पानांवर वर्णन केले आहे. 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 compatibility पानावर आहेत. 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, तुमची की आणि 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 मिळते.
  • तुमची की Authorization: Bearer <key> मध्ये किंवा x-api-key: <key> मध्ये. दोन्ही प्रत्येक एंडपॉइंटवर चालतात.
  • 32 MiB पर्यंतची बॉडी.
  • "stream": true सह उत्तर server-sent event स्ट्रीम (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!"}]
  }'

स्ट्रीमचे इव्हेंट्स आणि त्रुटी प्रकारांसाठी पाहा: स्ट्रीमिंग त्रुटी हाताळणी