مواد پر جائیں
SDKs

SDKs

کوئی بھی OpenAI یا Anthropic SDK فوراً کام کرتا ہے۔

Shannon OpenAI اور Anthropic دونوں کے وائر فارمیٹس بولتا ہے، اس لیے آپ دونوں کے سرکاری SDKs جوں کے توں استعمال کرتے ہیں۔ آپ کلائنٹ میں تین قدریں بدلتے ہیں: بیس URL، API کلید اور ماڈل id۔ باقی کوڈ ویسا ہی رہتا ہے۔

کیا سیٹ کرنا ہے

سیٹنگ OpenAI SDKs Anthropic SDKs
بیس 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۔
جن endpoints تک پہنچتا ہے /v1/chat/completions، /v1/responses، /v1/models /v1/messages، /v1/messages/count_tokens
Environment variables OPENAI_API_KEY اور OPENAI_BASE_URL، جنہیں Python اور JavaScript SDKs تب پڑھتے ہیں جب آپ کوئی قدر نہ دیں۔ ANTHROPIC_API_KEY اور ANTHROPIC_BASE_URL، جنہیں Python اور TypeScript SDKs تب پڑھتے ہیں جب آپ کوئی قدر نہ دیں۔

دونوں بیس URLs میں /v1 کا فرق ہے: OpenAI SDK اپنے بیس URL میں /chat/completions شامل کرتا ہے، Anthropic SDK /v1/messages۔ جس ماڈل نام کو Shannon شائع نہیں کرتا اس کا جواب 400 اور unknown model سے دیا جاتا ہے۔ ماڈلز اور قیمتیں

آپ کی کلید Keys & usage صفحے پر ہے۔ Keys & usage

OpenAI SDKs

سرکاری OpenAI SDKs 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 SDKs

سرکاری Anthropic SDKs 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

SDKs کس پر بھروسا کر سکتے ہیں

  • درخواست کا جو فیلڈ API استعمال نہیں کرتی وہ قبول کیا جاتا ہے۔ جو فیلڈ API جانتی ہے اور غلط قسم کے ساتھ بھیجا جائے اس کا جواب 422 سے دیا جاتا ہے۔
  • SDKs جو ورژن اور بیٹا ہیڈرز شامل کرتے ہیں (anthropic-version، anthropic-beta، openai-beta) وہ قبول کیے جاتے ہیں۔ ان میں سے کوئی بھی لازمی نہیں۔
  • جواب کا model شائع شدہ id ہوتا ہے، اس لیے آپ اسے جوں کا توں واپس بھیج سکتے ہیں۔
  • /v1/messages پر جواب thinking بلاک سے شروع ہو سکتا ہے۔ پہلا بلاک لینے کے بجائے text قسم کے بلاکس پڑھیں۔
  • سٹریمنگ SDK کے اپنے سٹریم ہیلپرز کے ذریعے کام کرتی ہے۔ usage ہر سٹریم کے آخر میں آتا ہے۔
  • ہر جواب میں x-request-id ہیڈر ہوتا ہے۔ اپنا x-request-id بھیجیں تو وہی قدر واپس آتی ہے۔

کمیونٹی SDKs

دوسرے مصنفین کے 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 کی ضرورت نہیں۔ کوئی بھی HTTP کلائنٹ جو JSON بھیج سکے کام کرتا ہے:

  • JSON باڈی اور ہیڈر Content-Type: application/json کے ساتھ POST۔ اس کے بغیر درخواست کا جواب 415 سے دیا جاتا ہے۔
  • آپ کی کلید Authorization: Bearer <key> میں یا x-api-key: <key> میں۔ دونوں ہر endpoint پر کام کرتے ہیں۔
  • 32 MiB تک کی باڈی۔
  • "stream": true کے ساتھ جواب server-sent event سٹریم (text/event-stream) ہے۔ اسے لائن بہ لائن پڑھیں اور بفر نہ کریں۔
  • ایرر ایک JSON باڈی ہے جس میں error.type اور error.message ہوتے ہیں، HTTP اسٹیٹس کے ساتھ۔
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!"}]
  }'

سٹریم کے ایونٹس اور ایرر کی اقسام کے لیے دیکھیں: اسٹریمنگ غلطیاں