Məzmuna keç
SDK-lar

SDK-lar

İstənilən OpenAI və ya Anthropic SDK-sı birbaşa işləyir.

Shannon həm OpenAI, həm də Anthropic wire formatlarında danışır, ona görə hər ikisinin rəsmi SDK-larından olduğu kimi istifadə edirsiniz. Klientdə üç dəyəri dəyişirsiniz: əsas URL, API açarı və model id-si. Kodunuzun qalanı eyni qalır.

Nəyi təyin etməli

Parametr OpenAI SDK-ları Anthropic SDK-ları
Əsas URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API açarı Shannon açarınız. SDK onu Authorization: Bearer kimi göndərir. Shannon açarınız. SDK onu x-api-key kimi göndərir.
Model Dərc edilmiş model id-si, məsələn shannon-3. Dərc edilmiş model id-si, məsələn shannon-1.6-lite.
Çıxış verdiyi endpoint-lər /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Mühit dəyişənləri OPENAI_API_KEY və OPENAI_BASE_URL, dəyər ötürmədikdə Python və JavaScript SDK-ları tərəfindən oxunur. ANTHROPIC_API_KEY və ANTHROPIC_BASE_URL, dəyər ötürmədikdə Python və TypeScript SDK-ları tərəfindən oxunur.

İki əsas URL /v1 ilə fərqlənir: OpenAI SDK əsas URL-ə /chat/completions əlavə edir, Anthropic SDK isə /v1/messages. Shannon-un dərc etmədiyi model adı 400 və unknown model ilə cavablandırılır. Modellər və qiymətlər

Açarınız Keys & usage səhifəsindədir. Keys & usage

OpenAI SDK-ları

Rəsmi OpenAI SDK-ları POST /v1/chat/completions və POST /v1/responses çağırır. Hər nümunə bir user mesajı göndərir və cavabı çap edir.

# 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)
Dil Quraşdırma Əsas URL seçimi Mənbə
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

İki endpoint-in hər sahəsi onların öz səhifələrində təsvir olunub. Chat Completions Responses API

Anthropic SDK-ları

Rəsmi Anthropic SDK-ları POST /v1/messages çağırır. Onlar hər çağırışda max_tokens tələb edir, ona görə nümunələr onu tətbiq edən shannon-1.6-lite istifadə edir. Hər nümunə cavabın mətn bloklarını çap edir.

# 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)
Dil Quraşdırma Əsas URL seçimi Mənbə
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 formatı və fərqləri Anthropic uyğunluğu səhifəsindədir. Anthropic

SDK-ların güvənə biləcəyi şeylər

  • API-nin istifadə etmədiyi sorğu sahəsi qəbul edilir. API-nin tanıdığı sahə yanlış tiplə göndərildikdə 422 ilə cavablandırılır.
  • SDK-ların əlavə etdiyi versiya və beta başlıqları (anthropic-version, anthropic-beta, openai-beta) qəbul edilir. Heç biri məcburi deyil.
  • Cavabın model-i dərc edilmiş id-dir, ona görə onu olduğu kimi geri göndərə bilərsiniz.
  • /v1/messages-də cavab thinking bloku ilə başlaya bilər. İlk bloku götürmək əvəzinə text tipli blokları oxuyun.
  • Streaming SDK-nın öz stream köməkçiləri ilə işləyir. Usage hər axının sonunda gəlir.
  • Hər cavab x-request-id başlığı daşıyır. Öz x-request-id-nizi göndərin və eyni dəyər geri qayıdır.

İcma SDK-ları

Digər müəlliflərin OpenAI API üçün yazdığı klientlər eyni cür işləyir: klientə /v1 ilə əsas URL-i, açarınızı və Shannon model id-sini verin. Bunları Shannon yox, müəllifləri saxlayır.

Dil Quraşdırma Klient
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 olmadan

SDK-ya ehtiyacınız yoxdur. JSON göndərə bilən istənilən HTTP klienti işləyir:

  • JSON gövdəsi və Content-Type: application/json başlığı ilə POST. Onsuz sorğu 415 ilə cavablandırılır.
  • Açarınız Authorization: Bearer <key> və ya x-api-key: <key> içində. Hər ikisi hər endpoint-də işləyir.
  • 32 MiB-a qədər gövdə.
  • "stream": true ilə cavab server-sent event axınıdır (text/event-stream). Onu sətir-sətir oxuyun və buferləməyin.
  • Xəta HTTP statusunun yanında error.type və error.message olan JSON gövdəsidir.
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!"}]
  }'

Axın hadisələri və xəta tipləri üçün bunlara baxın: Axın Xəta idarəetməsi