Ugrás a tartalomra
SDK-k

SDK-k

Bármelyik OpenAI vagy Anthropic SDK azonnal működik.

A Shannon az OpenAI és az Anthropic vezetékformátumát is beszéli, így mindkettő hivatalos SDK-ját változtatás nélkül használhatod. A kliensben három értéket kell átállítanod: az alap URL-t, az API-kulcsot és a modellazonosítót. A kódod többi része változatlan marad.

Mit állíts be

Beállítás OpenAI SDK-k Anthropic SDK-k
Alap URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API-kulcs A Shannon-kulcsod. Az SDK Authorization: Bearer fejlécként küldi. A Shannon-kulcsod. Az SDK x-api-key fejlécként küldi.
Modell Közzétett modellazonosító, például shannon-3. Közzétett modellazonosító, például shannon-1.6-lite.
Mely végpontokat éri el /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Környezeti változók OPENAI_API_KEY és OPENAI_BASE_URL, amelyeket a Python és a JavaScript SDK olvas, ha nem adsz meg értéket. ANTHROPIC_API_KEY és ANTHROPIC_BASE_URL, amelyeket a Python és a TypeScript SDK olvas, ha nem adsz meg értéket.

A két alap URL a /v1 résszel különbözik: az OpenAI SDK a /chat/completions részt fűzi az alap URL-jéhez, az Anthropic SDK a /v1/messages részt. A Shannon által nem közzétett modellnévre 400 és unknown model a válasz. Modellek és árak

A kulcsod a Keys & usage oldalon van. Keys & usage

OpenAI SDK-k

A hivatalos OpenAI SDK-k a POST /v1/chat/completions és a POST /v1/responses végpontot hívják. Minden minta egy user üzenetet küld, és kiírja a választ.

# 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)
Nyelv Telepítés Alap URL opció Forrás
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

A két végpont minden mezőjét a saját oldaluk írja le. Chat Completions Responses API

Anthropic SDK-k

A hivatalos Anthropic SDK-k a POST /v1/messages végpontot hívják. Minden híváshoz megkövetelik a max_tokens mezőt, ezért a minták a shannon-1.6-lite modellt használják, amely érvényesíti. Minden minta kiírja a válasz szövegblokkjait.

# 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)
Nyelv Telepítés Alap URL opció Forrás
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

A Messages formátum és eltérései az Anthropic-kompatibilitási oldalon vannak. Anthropic formátum

Mire támaszkodhatnak az SDK-k

  • Az API által nem használt kérésmezőt elfogadja. Az API által ismert, hibás típussal küldött mezőre 422 a válasz.
  • Az SDK-k által hozzáadott verzió- és bétafejléceket (anthropic-version, anthropic-beta, openai-beta) elfogadja. Egyik sem kötelező.
  • A válasz model mezője a közzétett azonosító, így változtatás nélkül visszaküldheted.
  • A /v1/messages végponton a válasz thinking blokkal kezdődhet. Az első blokk helyett a text típusú blokkokat olvasd.
  • A streaming az SDK saját stream-segédfüggvényein keresztül működik. A használati adatok minden stream végén megérkeznek.
  • Minden válasz hordoz egy x-request-id fejlécet. Küldd a saját x-request-id értékedet, és ugyanaz az érték jön vissza.

Közösségi SDK-k

Más szerzők által az OpenAI API-hoz írt kliensek ugyanígy működnek: add meg a kliensnek az alap URL-t /v1 résszel, a kulcsodat és egy Shannon modellazonosítót. Ezeket a szerzőik tartják karban, nem a Shannon.

Nyelv Telepítés Kliens
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

SDK nélkül

Nincs szükséged SDK-ra. Bármelyik HTTP-kliens működik, amely JSON-t tud küldeni:

  • POST JSON-törzzsel és a Content-Type: application/json fejléccel. Nélküle a kérésre 415 a válasz.
  • A kulcsod az Authorization: Bearer <key> vagy az x-api-key: <key> fejlécben. Mindkettő működik minden végponton.
  • Legfeljebb 32 MiB-os törzs.
  • A "stream": true esetén a válasz server-sent event stream (text/event-stream). Sorról sorra olvasd, és ne puffereld.
  • A hiba egy JSON-törzs error.type és error.message mezővel, a HTTP-státusz mellett.
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!"}]
  }'

A stream eseményeiről és a hibatípusokról lásd: Streaming Hibakezelés