કન્ટેન્ટ પર જાઓ
SDKs

SDKs

કોઈપણ OpenAI અથવા Anthropic SDK સીધો કામ કરે છે.

Shannon OpenAI અને Anthropic બંનેના wire ફોર્મેટ બોલે છે, તેથી તમે બંનેના સત્તાવાર SDKs જેમ છે તેમ વાપરો છો. તમે ક્લાયન્ટમાં ત્રણ કિંમતો બદલો છો: base URL, API કી અને મોડેલ id. તમારો બાકીનો કોડ એ જ રહે છે.

શું સેટ કરવું

સેટિંગ OpenAI SDKs Anthropic SDKs
Base 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
Environment variables OPENAI_API_KEY અને OPENAI_BASE_URL, જે તમે કોઈ કિંમત ન આપો ત્યારે Python અને JavaScript SDKs વાંચે છે. ANTHROPIC_API_KEY અને ANTHROPIC_BASE_URL, જે તમે કોઈ કિંમત ન આપો ત્યારે Python અને TypeScript SDKs વાંચે છે.

બંને base URL માં /v1 નો તફાવત છે: OpenAI SDK તેના base 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)
ભાષા ઇન્સ્ટોલ Base 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 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)
ભાષા ઇન્સ્ટોલ Base 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 જે વર્ઝન અને beta હેડર્સ ઉમેરે છે (anthropic-version, anthropic-beta, openai-beta) તે સ્વીકારાય છે. તેમાંથી કોઈ ફરજિયાત નથી.
  • જવાબનું model પ્રકાશિત id હોય છે, તેથી તમે તેને જેમ છે તેમ પાછું મોકલી શકો.
  • /v1/messages પર જવાબ thinking બ્લોકથી શરૂ થઈ શકે છે. પહેલો બ્લોક લેવાને બદલે text પ્રકારના બ્લોક્સ વાંચો.
  • Streaming SDK ના પોતાના સ્ટ્રીમ હેલ્પર્સ દ્વારા કામ કરે છે. વપરાશ (usage) દરેક સ્ટ્રીમના અંતે આવે છે.
  • દરેક જવાબમાં x-request-id હેડર હોય છે. તમારું પોતાનું x-request-id મોકલો અને એ જ કિંમત પાછી આવે છે.

કમ્યુનિટી SDKs

અન્ય લેખકોએ OpenAI API માટે લખેલા ક્લાયન્ટ્સ એ જ રીતે કામ કરે છે: ક્લાયન્ટને /v1 સાથેનું base 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!"}]
  }'

સ્ટ્રીમની ઇવેન્ટ્સ અને એરર પ્રકારો માટે જુઓ: સ્ટ્રીમિંગ ભૂલ સંભાળ