Preskoči na sadržaj
SDK

SDK

Svaki OpenAI ili Anthropic SDK radi odmah.

Shannon govori OpenAI i Anthropic formate, pa službene SDK-ove obaju koristite takve kakvi jesu. U klijentu mijenjate tri vrijednosti: base URL, API ključ i id modela. Ostatak vašeg koda ostaje isti.

Što postaviti

Postavka OpenAI SDK-ovi Anthropic SDK-ovi
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API ključ Vaš Shannon ključ. SDK ga šalje kao Authorization: Bearer. Vaš Shannon ključ. SDK ga šalje kao x-api-key.
Model Objavljeni id modela, na primjer shannon-3. Objavljeni id modela, na primjer shannon-1.6-lite.
Endpointi koje dosiže /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Varijable okoline OPENAI_API_KEY i OPENAI_BASE_URL, koje čitaju SDK-ovi za Python i JavaScript kada ne proslijedite vrijednost. ANTHROPIC_API_KEY i ANTHROPIC_BASE_URL, koje čitaju SDK-ovi za Python i TypeScript kada ne proslijedite vrijednost.

Dva base URL-a razlikuju se za /v1: OpenAI SDK svom base URL-u dodaje /chat/completions, Anthropic SDK dodaje /v1/messages. Na naziv modela koji Shannon ne objavljuje odgovara se s 400 i unknown model. Modeli i cijene

Vaš ključ nalazi se na stranici Ključevi i upotreba. Ključevi i upotreba

OpenAI SDK-ovi

Službeni OpenAI SDK-ovi pozivaju POST /v1/chat/completions i POST /v1/responses. Svaki primjer šalje jednu korisničku poruku i ispisuje odgovor.

# 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)
Jezik Instalacija Opcija base URL-a Izvor
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

Svako polje ta dva endpointa opisano je na njihovim stranicama. Chat Completions Responses API

Anthropic SDK-ovi

Službeni Anthropic SDK-ovi pozivaju POST /v1/messages. Zahtijevaju max_tokens u svakom pozivu, pa primjeri koriste shannon-1.6-lite, koji ga primjenjuje. Svaki primjer ispisuje tekstualne blokove odgovora.

# 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)
Jezik Instalacija Opcija base URL-a Izvor
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 i njegove razlike nalaze se na stranici o Anthropic kompatibilnosti. Anthropic format

Na što se SDK-ovi mogu osloniti

  • Polje zahtjeva koje API ne koristi se prihvaća. Polje koje API poznaje, poslano s pogrešnim tipom, dobiva odgovor 422.
  • Zaglavlja verzije i bete koja SDK-ovi dodaju (anthropic-version, anthropic-beta, openai-beta) se prihvaćaju. Nijedno od njih nije obavezno.
  • model odgovora je objavljeni id, pa ga možete poslati natrag takvog kakav jest.
  • Na /v1/messages odgovor može početi blokom thinking. Čitajte blokove tipa text umjesto da uzimate prvi blok.
  • Streaming radi kroz vlastite stream pomoćnike SDK-a. Usage stiže na kraju svakog streama.
  • Svaki odgovor nosi zaglavlje x-request-id. Pošaljite vlastiti x-request-id i ista vrijednost vraća se natrag.

SDK-ovi zajednice

Klijenti koje su drugi autori napisali za OpenAI API rade na isti način: klijentu dajte base URL sa /v1, svoj ključ i Shannon id modela. Njih održavaju njihovi autori, a ne Shannon.

Jezik Instalacija Klijent
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-a

SDK vam nije potreban. Radi svaki HTTP klijent koji može slati JSON:

  • POST s JSON tijelom i zaglavljem Content-Type: application/json. Bez njega se na zahtjev odgovara s 415.
  • Vaš ključ u Authorization: Bearer <key> ili u x-api-key: <key>. Oba rade na svakom endpointu.
  • Tijelo do 32 MiB.
  • S "stream": true odgovor je stream server-sent događaja (text/event-stream). Čitajte ga redak po redak i nemojte ga baferirati.
  • Greška je JSON tijelo s error.type i error.message, uz HTTP status.
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!"}]
  }'

Za događaje streama i tipove grešaka vidi: Streaming Upravljanje greškama