Langsung ke konten
SDK

SDK

SDK OpenAI atau Anthropic apa pun langsung berfungsi.

Shannon memakai format wire OpenAI dan Anthropic, jadi Anda memakai SDK resmi keduanya apa adanya. Anda mengubah tiga nilai di klien: base URL, kunci API, dan id model. Sisa kode Anda tetap sama.

Apa yang perlu disetel

Pengaturan SDK OpenAI SDK Anthropic
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
Kunci API Kunci Shannon Anda. SDK mengirimnya sebagai Authorization: Bearer. Kunci Shannon Anda. SDK mengirimnya sebagai x-api-key.
Model Id model yang dipublikasikan, misalnya shannon-3. Id model yang dipublikasikan, misalnya shannon-1.6-lite.
Endpoint yang dijangkau /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Variabel lingkungan OPENAI_API_KEY dan OPENAI_BASE_URL, dibaca oleh SDK Python dan JavaScript ketika Anda tidak memberikan nilai. ANTHROPIC_API_KEY dan ANTHROPIC_BASE_URL, dibaca oleh SDK Python dan TypeScript ketika Anda tidak memberikan nilai.

Kedua base URL berbeda pada /v1: SDK OpenAI menambahkan /chat/completions ke base URL-nya, SDK Anthropic menambahkan /v1/messages. Nama model yang tidak dipublikasikan Shannon dijawab dengan 400 dan unknown model. Model & harga

Kunci Anda ada di halaman Keys & usage. Keys & usage

SDK OpenAI

SDK OpenAI resmi memanggil POST /v1/chat/completions dan POST /v1/responses. Setiap contoh mengirim satu pesan user dan mencetak jawabannya.

# 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)
Bahasa Instal Opsi base URL Sumber
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

Setiap field kedua endpoint dijelaskan di halamannya masing-masing. Chat Completions Responses API

SDK Anthropic

SDK Anthropic resmi memanggil POST /v1/messages. SDK tersebut mewajibkan max_tokens pada setiap panggilan, jadi contoh memakai shannon-1.6-lite, yang menerapkannya. Setiap contoh mencetak blok teks dari jawaban.

# 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)
Bahasa Instal Opsi base URL Sumber
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

Format Messages dan perbedaannya ada di halaman kompatibilitas Anthropic. Format Anthropic

Apa yang dapat diandalkan SDK

  • Field permintaan yang tidak dipakai API diterima. Field yang dikenal API, jika dikirim dengan tipe salah, dijawab dengan 422.
  • Header versi dan beta yang ditambahkan SDK (anthropic-version, anthropic-beta, openai-beta) diterima. Tidak satu pun wajib.
  • model pada balasan adalah id yang dipublikasikan, sehingga Anda dapat mengirimkannya kembali apa adanya.
  • Pada /v1/messages, balasan dapat dimulai dengan blok thinking. Baca blok bertipe text, jangan mengambil blok pertama.
  • Streaming berfungsi melalui helper stream bawaan SDK. Usage datang di akhir setiap stream.
  • Setiap balasan membawa header x-request-id. Kirim x-request-id Anda sendiri dan nilai yang sama akan dikembalikan.

SDK komunitas

Klien yang ditulis untuk API OpenAI oleh penulis lain bekerja dengan cara yang sama: beri klien base URL dengan /v1, kunci Anda, dan id model Shannon. Klien ini dikelola oleh penulisnya, bukan oleh Shannon.

Bahasa Instal Klien
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

Tanpa SDK

Anda tidak memerlukan SDK. Klien HTTP apa pun yang dapat mengirim JSON berfungsi:

  • POST dengan body JSON dan header Content-Type: application/json. Tanpa itu, permintaan dijawab dengan 415.
  • Kunci Anda di Authorization: Bearer <key> atau di x-api-key: <key>. Keduanya berfungsi pada setiap endpoint.
  • Body hingga 32 MiB.
  • Dengan "stream": true, balasan adalah stream server-sent event (text/event-stream). Baca baris demi baris dan jangan di-buffer.
  • Error adalah body JSON dengan error.type dan error.message, di samping status 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!"}]
  }'

Untuk event stream dan tipe error, lihat: Streaming Penanganan kesalahan