İçeriğe geç
SDK'lar

SDK'lar

Herhangi bir OpenAI veya Anthropic SDK'sı kutudan çıktığı gibi çalışır.

Shannon hem OpenAI hem Anthropic tel biçimlerini konuşur; bu yüzden ikisinin resmi SDK'larını olduğu gibi kullanırsınız. İstemcide üç değeri değiştirirsiniz: temel URL, API anahtarı ve model kimliği. Kodunuzun geri kalanı aynı kalır.

Ne ayarlanır

Ayar OpenAI SDK'ları Anthropic SDK'ları
Temel URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API anahtarı Shannon anahtarınız. SDK onu Authorization: Bearer olarak gönderir. Shannon anahtarınız. SDK onu x-api-key olarak gönderir.
Model Yayımlanmış bir model kimliği, örneğin shannon-3. Yayımlanmış bir model kimliği, örneğin shannon-1.6-lite.
Ulaştığı uç noktalar /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Ortam değişkenleri OPENAI_API_KEY ve OPENAI_BASE_URL; değer vermediğinizde Python ve JavaScript SDK'ları tarafından okunur. ANTHROPIC_API_KEY ve ANTHROPIC_BASE_URL; değer vermediğinizde Python ve TypeScript SDK'ları tarafından okunur.

İki temel URL /v1 ile ayrılır: bir OpenAI SDK'sı temel URL'sine /chat/completions ekler, bir Anthropic SDK'sı /v1/messages ekler. Shannon'ın yayımlamadığı bir model adı 400 ve unknown model ile yanıtlanır. Modeller ve fiyatlandırma

Anahtarınız Keys & usage sayfasındadır. Keys & usage

OpenAI SDK'ları

Resmi OpenAI SDK'ları POST /v1/chat/completions ve POST /v1/responses çağırır. Her örnek bir kullanıcı mesajı gönderir ve yanıtı yazdırır.

# 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 Kurulum Temel URL seçeneği Kaynak
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 uç noktanın her alanı kendi sayfalarında anlatılır. Chat Completions Responses API

Anthropic SDK'ları

Resmi Anthropic SDK'ları POST /v1/messages çağırır. Her çağrıda max_tokens isterler; bu yüzden örnekler onu uygulayan shannon-1.6-lite modelini kullanır. Her örnek yanıtın metin bloklarını yazdırır.

# 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 Kurulum Temel URL seçeneği Kaynak
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 biçimi ve farkları Anthropic uyumluluğu sayfasındadır. Anthropic Biçimi

SDK'ların güvenebilecekleri

  • API'nin kullanmadığı bir istek alanı kabul edilir. API'nin bildiği bir alan yanlış türle gönderilirse 422 ile yanıtlanır.
  • SDK'ların eklediği sürüm ve beta başlıkları (anthropic-version, anthropic-beta, openai-beta) kabul edilir. Hiçbiri zorunlu değildir.
  • Bir yanıtın model alanı yayımlanmış kimliktir; bu yüzden onu olduğu gibi geri gönderebilirsiniz.
  • /v1/messages üzerinde bir yanıt thinking bloğuyla başlayabilir. İlk bloğu almak yerine text türündeki blokları okuyun.
  • Streaming, SDK'nın kendi stream yardımcıları üzerinden çalışır. Kullanım bilgisi her stream'in sonunda gelir.
  • Her yanıt bir x-request-id başlığı taşır. Kendi x-request-id değerinizi gönderin, aynı değer geri gelir.

Topluluk SDK'ları

Başka yazarlar tarafından OpenAI API'si için yazılmış istemciler de aynı şekilde çalışır: istemciye /v1 ile temel URL'yi, anahtarınızı ve bir Shannon model kimliğini verin. Bunları Shannon değil, yazarları sürdürür.

Dil Kurulum İstemci
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

Bir SDK'ya ihtiyacınız yok. JSON gönderebilen herhangi bir HTTP istemcisi çalışır:

  • JSON gövdesi ve Content-Type: application/json başlığıyla POST. Onsuz istek 415 ile yanıtlanır.
  • Anahtarınız Authorization: Bearer <key> içinde ya da x-api-key: <key> içinde. İkisi de her uç noktada çalışır.
  • En fazla 32 MiB'lık bir gövde.
  • "stream": true ile yanıt bir server-sent event akışıdır (text/event-stream). Satır satır okuyun ve arabelleğe almayın.
  • Hata, HTTP durumunun yanında error.type ve error.message içeren bir JSON gövdesidir.
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!"}]
  }'

Bir stream'in olayları ve hata türleri için bakın: Akış Hata yönetimi