Preskočiť na obsah
SDK

SDK

Funguje akékoľvek SDK od OpenAI alebo Anthropic.

Shannon hovorí formátmi OpenAI aj Anthropic, takže oficiálne SDK oboch používate tak, ako sú. V klientovi zmeníte tri hodnoty: základnú URL, API kľúč a id modelu. Zvyšok vášho kódu zostáva rovnaký.

Čo nastaviť

Nastavenie SDK OpenAI SDK Anthropic
Základná URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API kľúč Váš kľúč Shannon. SDK ho posiela ako Authorization: Bearer. Váš kľúč Shannon. SDK ho posiela ako x-api-key.
Model Zverejnené id modelu, napríklad shannon-3. Zverejnené id modelu, napríklad shannon-1.6-lite.
Endpointy, ktoré dosiahne /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Premenné prostredia OPENAI_API_KEY a OPENAI_BASE_URL, ktoré SDK pre Python a JavaScript čítajú, keď nezadáte hodnotu. ANTHROPIC_API_KEY a ANTHROPIC_BASE_URL, ktoré SDK pre Python a TypeScript čítajú, keď nezadáte hodnotu.

Obe základné URL sa líšia o /v1: SDK OpenAI pridáva k svojej základnej URL /chat/completions, SDK Anthropic pridáva /v1/messages. Na názov modelu, ktorý Shannon nezverejňuje, sa odpovie 400 a unknown model. Modely a ceny

Váš kľúč je na stránke Kľúče a využitie. Kľúče a využitie

SDK OpenAI

Oficiálne SDK OpenAI volajú POST /v1/chat/completions a POST /v1/responses. Každá ukážka pošle jednu správu používateľa a vypíše odpoveď.

# 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)
Jazyk Inštalácia Voľba základnej URL Zdroj
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

Každé pole oboch endpointov je popísané na ich vlastných stránkach. Chat Completions Responses API

SDK Anthropic

Oficiálne SDK Anthropic volajú POST /v1/messages. Vyžadujú max_tokens pri každom volaní, preto ukážky používajú shannon-1.6-lite, ktorý ho uplatňuje. Každá ukážka vypíše textové bloky odpovede.

# 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)
Jazyk Inštalácia Voľba základnej URL Zdroj
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

Formát Messages a jeho rozdiely sú na stránke Kompatibilita s Anthropic. Formát Anthropic

Na čo sa môžu SDK spoľahnúť

  • Pole requestu, ktoré API nepoužíva, sa prijme. Pole, ktoré API pozná, poslané s nesprávnym typom, dostane odpoveď 422.
  • Hlavičky verzie a beta, ktoré SDK pridávajú (anthropic-version, anthropic-beta, openai-beta), sa prijímajú. Žiadna z nich nie je povinná.
  • model v odpovedi je zverejnené id, takže ho môžete poslať späť tak, ako je.
  • Na /v1/messages môže odpoveď začínať blokom thinking. Čítajte bloky typu text namiesto toho, aby ste brali prvý blok.
  • Streamovanie funguje cez vlastné stream helpery SDK. Usage prichádza na konci každého streamu.
  • Každá odpoveď nesie hlavičku x-request-id. Pošlite vlastné x-request-id a vráti sa tá istá hodnota.

Komunitné SDK

Klienti napísaní pre API OpenAI inými autormi fungujú rovnako: dajte klientovi základnú URL s /v1, svoj kľúč a id modelu Shannon. Udržiavajú ich ich autori, nie Shannon.

Jazyk Inštalácia 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

Bez SDK

SDK nepotrebujete. Funguje ľubovoľný HTTP klient, ktorý vie poslať JSON:

  • POST s telom JSON a hlavičkou Content-Type: application/json. Bez nej sa na request odpovie 415.
  • Váš kľúč v Authorization: Bearer <key> alebo v x-api-key: <key>. Obe fungujú na každom endpointe.
  • Telo do 32 MiB.
  • S "stream": true je odpoveď prúd server-sent events (text/event-stream). Čítajte ho riadok po riadku a nebuffrujte ho.
  • Chyba je telo JSON s error.type a error.message, popri stave 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!"}]
  }'

Udalosti streamu a typy chýb nájdete tu: Streamovanie Spracovanie chýb