Přeskočit na obsah
SDK

SDK

Funguje jakékoli SDK od OpenAI nebo Anthropic, bez úprav.

Shannon mluví formáty OpenAI i Anthropic, takže oficiální SDK obou používáte tak, jak jsou. V klientovi změníte tři hodnoty: základní URL, klíč API a id modelu. Zbytek vašeho kódu zůstane stejný.

Co nastavit

Nastavení SDK OpenAI SDK Anthropic
Základní URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
Klíč API Váš klíč Shannon. SDK jej posílá jako Authorization: Bearer. Váš klíč Shannon. SDK jej posílá jako x-api-key.
Model Zveřejněné id modelu, například shannon-3. Zveřejněné id modelu, například shannon-1.6-lite.
Endpointy, na které dosáhne /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Proměnné prostředí OPENAI_API_KEY a OPENAI_BASE_URL, čtou je SDK pro Python a JavaScript, když nepředáte žádnou hodnotu. ANTHROPIC_API_KEY a ANTHROPIC_BASE_URL, čtou je SDK pro Python a TypeScript, když nepředáte žádnou hodnotu.

Obě základní URL se liší o /v1: SDK OpenAI přidává ke své základní URL /chat/completions, SDK Anthropic přidává /v1/messages. Na název modelu, který Shannon nezveřejňuje, se odpoví 400 a unknown model. Modely a ceny

Váš klíč je na stránce Klíče a využití. Klíče a využití

SDK OpenAI

Oficiální SDK OpenAI volají POST /v1/chat/completions a POST /v1/responses. Každá ukázka pošle jednu zprávu uživatele a vypíše odpověď.

# 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 Instalace Volba základní 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 obou endpointů je popsáno na jejich vlastních stránkách. Chat Completions Responses API

SDK Anthropic

Oficiální SDK Anthropic volají POST /v1/messages. Vyžadují max_tokens u každého volání, proto ukázky používají shannon-1.6-lite, který jej uplatňuje. Každá ukázka vypíše textové bloky odpovědi.

# 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 Instalace Volba základní 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 odlišnosti jsou na stránce Kompatibilita s Anthropic. Formát Anthropic

Na co se SDK mohou spolehnout

  • Pole požadavku, které API nepoužívá, se přijímá. Pole, které API zná, poslané se špatným typem, dostane odpověď 422.
  • Hlavičky verze a beta, které SDK přidávají (anthropic-version, anthropic-beta, openai-beta), se přijímají. Žádná z nich není povinná.
  • model odpovědi je zveřejněné id, takže jej můžete poslat zpět tak, jak je.
  • Na /v1/messages může odpověď začínat blokem thinking. Čtěte bloky typu text místo toho, abyste brali první blok.
  • Streamování funguje přes vlastní pomocníky SDK pro streamy. Využití (usage) přichází na konci každého streamu.
  • Každá odpověď nese hlavičku x-request-id. Pošlete vlastní x-request-id a vrátí se stejná hodnota.

Komunitní SDK

Klienti napsaní pro API OpenAI jinými autory fungují stejně: dejte klientovi základní URL s /v1, svůj klíč a id modelu Shannon. Udržují je jejich autoři, ne Shannon.

Jazyk Instalace 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 nepotřebujete. Funguje jakýkoli klient HTTP, který umí posílat JSON:

  • POST s tělem JSON a hlavičkou Content-Type: application/json. Bez ní se na požadavek odpoví 415.
  • Váš klíč v Authorization: Bearer <key> nebo v x-api-key: <key>. Obojí funguje na každém endpointu.
  • Tělo do 32 MiB.
  • S "stream": true je odpověď stream server-sent events (text/event-stream). Čtěte jej po řádcích a nebufferujte jej.
  • Chyba je tělo JSON s error.type a error.message, vedle statusu 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!"}]
  }'

K událostem streamu a typům chyb viz: Streamování Zpracování chyb