ഉള്ളടക്കത്തിലേക്ക് പോകുക
SDKകൾ

SDKകൾ

ഏതൊരു OpenAI അല്ലെങ്കിൽ Anthropic SDK-യും അതേപടി പ്രവർത്തിക്കും.

Shannon OpenAI, Anthropic വയർ ഫോർമാറ്റുകൾ സംസാരിക്കുന്നു, അതിനാൽ രണ്ടിന്റെയും ഔദ്യോഗിക SDK-കൾ അതേപടി ഉപയോഗിക്കാം. ക്ലയന്റിൽ മൂന്ന് മൂല്യങ്ങൾ മാറ്റുക: ബേസ് URL, API കീ, മോഡൽ ഐഡി. നിങ്ങളുടെ ബാക്കി കോഡ് അതേപടി തുടരും.

എന്ത് സജ്ജമാക്കണം

സെറ്റിംഗ് 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 ആയി അയയ്ക്കുന്നു.
മോഡൽ പ്രസിദ്ധീകരിച്ച ഒരു മോഡൽ ഐഡി, ഉദാഹരണത്തിന് shannon-3. പ്രസിദ്ധീകരിച്ച ഒരു മോഡൽ ഐഡി, ഉദാഹരണത്തിന് 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 അനുയോജ്യത പേജിലുണ്ട്. Anthropic

SDK-കൾക്ക് ആശ്രയിക്കാവുന്നത്

  • API ഉപയോഗിക്കാത്ത റിക്വസ്റ്റ് ഫീൽഡ് സ്വീകരിക്കും. API-ക്ക് അറിയാവുന്ന ഫീൽഡ് തെറ്റായ ടൈപ്പിൽ അയച്ചാൽ 422 മറുപടി ലഭിക്കും.
  • SDK-കൾ ചേർക്കുന്ന വേർഷൻ, ബീറ്റ ഹെഡറുകൾ (anthropic-version, anthropic-beta, openai-beta) സ്വീകരിക്കും. അവയൊന്നും നിർബന്ധമല്ല.
  • മറുപടിയുടെ model പ്രസിദ്ധീകരിച്ച ഐഡിയാണ്, അതിനാൽ അത് അതേപടി തിരികെ അയയ്ക്കാം.
  • /v1/messages-ൽ മറുപടി thinking ബ്ലോക്കോടെ തുടങ്ങാം. ആദ്യ ബ്ലോക്ക് എടുക്കുന്നതിന് പകരം text ടൈപ്പിലുള്ള ബ്ലോക്കുകൾ വായിക്കുക.
  • സ്ട്രീമിംഗ് SDK-യുടെ സ്വന്തം സ്ട്രീം ഹെൽപ്പറുകൾ വഴി പ്രവർത്തിക്കുന്നു. ഓരോ സ്ട്രീമിന്റെയും അവസാനം usage എത്തുന്നു.
  • ഓരോ മറുപടിയിലും x-request-id ഹെഡർ ഉണ്ട്. നിങ്ങളുടെ സ്വന്തം x-request-id അയച്ചാൽ അതേ മൂല്യം തിരികെ വരും.

കമ്മ്യൂണിറ്റി SDK-കൾ

മറ്റ് രചയിതാക്കൾ OpenAI API-ക്കായി എഴുതിയ ക്ലയന്റുകളും ഇതേ രീതിയിൽ പ്രവർത്തിക്കുന്നു: ക്ലയന്റിന് /v1 ഉള്ള ബേസ് URL, നിങ്ങളുടെ കീ, ഒരു Shannon മോഡൽ ഐഡി എന്നിവ നൽകുക. ഇവ പരിപാലിക്കുന്നത് അവയുടെ രചയിതാക്കളാണ്, 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!"}]
  }'

സ്ട്രീമിലെ ഇവന്റുകൾക്കും പിശക് തരങ്ങൾക്കും കാണുക: സ്റ്റ്രീമിംഗ് എറർ ഹാൻഡ്ലിംഗ്