सामग्रीमा जानुहोस्
SDKहरू

SDKहरू

कुनै पनि 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
इन्भाइरोन्मेन्ट भेरिएबलहरू तपाईंले मान नदिँदा Python र JavaScript SDK हरूले पढ्ने OPENAI_API_KEY र OPENAI_BASE_URL। तपाईंले मान नदिँदा Python र TypeScript SDK हरूले पढ्ने ANTHROPIC_API_KEY र ANTHROPIC_BASE_URL।

दुई बेस 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 सँग जवाफ सर्भर-सेन्ट इभेन्ट स्ट्रिम (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!"}]
  }'

स्ट्रिमका इभेन्ट र त्रुटि प्रकारहरूका लागि हेर्नुहोस्: स्ट्रिमिङ त्रुटि व्यवस्थापन