Preskoči na vsebino
SDK-ji

SDK-ji

Vsak SDK za OpenAI ali Anthropic deluje takoj.

Shannon govori formata OpenAI in Anthropic, zato uradna SDK-ja obeh uporabljate takšna, kot sta. V odjemalcu spremenite tri vrednosti: osnovni URL, API ključ in id modela. Preostala koda ostane enaka.

Kaj nastaviti

Nastavitev SDK-ji OpenAI SDK-ji Anthropic
Osnovni URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API ključ Vaš ključ Shannon. SDK ga pošlje kot Authorization: Bearer. Vaš ključ Shannon. SDK ga pošlje kot x-api-key.
Model Objavljeni id modela, na primer shannon-3. Objavljeni id modela, na primer shannon-1.6-lite.
Končne točke, ki jih doseže /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Spremenljivke okolja OPENAI_API_KEY in OPENAI_BASE_URL, ki ju SDK-ja za Python in JavaScript prebereta, kadar ne podate vrednosti. ANTHROPIC_API_KEY in ANTHROPIC_BASE_URL, ki ju SDK-ja za Python in TypeScript prebereta, kadar ne podate vrednosti.

Osnovna URL-ja se razlikujeta za /v1: SDK OpenAI svojemu osnovnemu URL-ju doda /chat/completions, SDK Anthropic doda /v1/messages. Na ime modela, ki ga Shannon ne objavlja, se odgovori z 400 in unknown model. Modeli in cene

Vaš ključ je na strani Ključi in poraba. Ključi in poraba

SDK-ji OpenAI

Uradni SDK-ji OpenAI kličejo POST /v1/chat/completions in POST /v1/responses. Vsak primer pošlje eno sporočilo uporabnika in izpiše 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 Namestitev Možnost osnovnega URL-ja Vir
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

Vsako polje obeh končnih točk je opisano na njunih straneh. Chat Completions API Responses

SDK-ji Anthropic

Uradni SDK-ji Anthropic kličejo POST /v1/messages. Pri vsakem klicu zahtevajo max_tokens, zato primeri uporabljajo shannon-1.6-lite, ki ga upošteva. Vsak primer izpiše besedilne bloke 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 Namestitev Možnost osnovnega URL-ja Vir
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 in njegove razlike so na strani o združljivosti z Anthropic. Format Anthropic

Na kaj se lahko SDK-ji zanesejo

  • Polje zahtevka, ki ga API ne uporablja, je sprejeto. Na polje, ki ga API pozna, poslano z napačnim tipom, se odgovori z 422.
  • Glave za različico in beta, ki jih dodajo SDK-ji (anthropic-version, anthropic-beta, openai-beta), so sprejete. Nobena ni obvezna.
  • model v odgovoru je objavljeni id, zato ga lahko pošljete nazaj takega, kot je.
  • Na /v1/messages se lahko odgovor začne z blokom thinking. Berite bloke tipa text, namesto da vzamete prvi blok.
  • Pretakanje deluje prek SDK-jevih lastnih pomočnikov za tokove. Uporaba (usage) prispe na koncu vsakega toka.
  • Vsak odgovor nosi glavo x-request-id. Pošljite svoj x-request-id in ista vrednost se vrne.

Skupnostni SDK-ji

Odjemalci, ki so jih za API OpenAI napisali drugi avtorji, delujejo enako: odjemalcu dajte osnovni URL s /v1, svoj ključ in id modela Shannon. Te vzdržujejo njihovi avtorji, ne Shannon.

Jezik Namestitev Odjemalec
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

Brez SDK-ja

SDK ne potrebujete. Deluje vsak odjemalec HTTP, ki zna poslati JSON:

  • POST s telesom JSON in glavo Content-Type: application/json. Brez nje se na zahtevek odgovori z 415.
  • Vaš ključ v Authorization: Bearer <key> ali v x-api-key: <key>. Oboje deluje na vsaki končni točki.
  • Telo do 32 MiB.
  • Z "stream": true je odgovor tok dogodkov, ki jih pošilja strežnik (text/event-stream). Berite ga vrstico za vrstico in ga ne medpomnite.
  • Napaka je telo JSON z error.type in error.message, ob 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!"}]
  }'

Za dogodke toka in tipe napak glejte: Pretakanje Obravnava napak