Zum Inhalt sprangen
SDKen

SDKen

All OpenAI- oder Anthropic-SDK funktionéiert direkt.

Shannon schwätzt d'OpenAI- an d'Anthropic-Wire-Formater, sou datt Dir déi offiziell SDKs vu béiden esou benotzt, wéi se sinn. Dir ännert dräi Wäerter am Client: d'Basis-URL, den API-Schlëssel an d'Modell-ID. De Rescht vun Ärem Code bleift datselwecht.

Wat ze setzen ass

Astellung OpenAI-SDKs Anthropic-SDKs
Basis-URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API-Schlëssel Äre Shannon-Schlëssel. D'SDK schéckt en als Authorization: Bearer. Äre Shannon-Schlëssel. D'SDK schéckt en als x-api-key.
Modell Eng publizéiert Modell-ID, zum Beispill shannon-3. Eng publizéiert Modell-ID, zum Beispill shannon-1.6-lite.
Endpoints, déi en erreecht /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Ëmgebungsvariabelen OPENAI_API_KEY an OPENAI_BASE_URL, vun de Python- a JavaScript-SDKs gelies, wann Dir kee Wäert matgitt. ANTHROPIC_API_KEY an ANTHROPIC_BASE_URL, vun de Python- an TypeScript-SDKs gelies, wann Dir kee Wäert matgitt.

Déi zwou Basis-URLe ënnerscheede sech duerch /v1: en OpenAI-SDK hänkt /chat/completions u seng Basis-URL un, en Anthropic-SDK hänkt /v1/messages un. E Modellnumm, deen Shannon net publizéiert, gëtt mat 400 an unknown model beäntwert. Modeller a Präisser

Äre Schlëssel ass op der Säit Schlësselen & Notzung. Schlësselen & Notzung

OpenAI-SDKs

Déi offiziell OpenAI-SDKs ruffen POST /v1/chat/completions an POST /v1/responses. All Beispill schéckt eng Benotzer-Message a dréckt d'Äntwert.

# 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)
Sprooch Installatioun Optioun fir d'Basis-URL Quell
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

All Feld vun deenen zwee Endpoints ass op hire Säite beschriwwen. Chat Completions Responses-API

Anthropic-SDKs

Déi offiziell Anthropic-SDKs ruffen POST /v1/messages. Si verlaangen max_tokens bei all Ruff, dofir benotzen d'Beispiller shannon-1.6-lite, dat et benotzt. All Beispill dréckt d'Text-Blöck vun der Äntwert.

# 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)
Sprooch Installatioun Optioun fir d'Basis-URL Quell
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

D'Messages-Format a seng Ënnerscheeder stinn op der Säit Anthropic-Kompatibilitéit. Anthropic-Format

Op wat d'SDKs sech kënne verloossen

  • E Ufro-Feld, dat d'API net benotzt, gëtt akzeptéiert. E Feld, dat d'API kennt a mam falsche Typ geschéckt gëtt, gëtt mat 422 beäntwert.
  • D'Versioun- a Beta-Header, déi d'SDKs derbäisetzen (anthropic-version, anthropic-beta, openai-beta), ginn akzeptéiert. Kee vun hinne ass erfuerderlech.
  • D'model vun enger Äntwert ass déi publizéiert ID, sou datt Dir se esou zréckschécke kënnt, wéi se ass.
  • Op /v1/messages ka eng Äntwert mat engem thinking-Block ufänken. Liest d'Blöck vum Typ text, amplaz den éischte Block ze huelen.
  • Streaming funktionéiert iwwer d'eege Stream-Helferen vun der SDK. Usage kënnt um Enn vun all Stream.
  • All Äntwert enthält en x-request-id-Header. Schéckt Ären eegenen x-request-id, dee selwechte Wäert kënnt zréck.

Community-SDKs

Clienten, déi vun aneren Auteuren fir d'OpenAI-API geschriwwe goufen, funktionéiere genau sou: gitt dem Client d'Basis-URL mat /v1, Äre Schlëssel an eng Shannon-Modell-ID. Dës gi vun hiren Auteure gepfleegt, net vu Shannon.

Sprooch Installatioun Client
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

Ouni SDK

Dir braucht keng SDK. All HTTP-Client, dee JSON ka schécken, funktionéiert:

  • POST mat engem JSON-Body an dem Header Content-Type: application/json. Ouni en gëtt d'Ufro mat 415 beäntwert.
  • Äre Schlëssel an Authorization: Bearer <key> oder an x-api-key: <key>. Béid funktionéieren op all Endpoint.
  • E Body vu bis zu 32 MiB.
  • Mat "stream": true ass d'Äntwert e Server-sent-Event-Stream (text/event-stream). Liest en Zeil fir Zeil a puffert en net.
  • E Feeler ass e JSON-Body mat error.type an error.message, niewent dem 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!"}]
  }'

Fir d'Events vun engem Stream an d'Feelertypen, kuckt: Streaming Feelerbehandlung