Mine sisu juurde
SDK-d

SDK-d

Iga OpenAI või Anthropic SDK töötab kohe karbist välja.

Shannon kõneleb nii OpenAI kui ka Anthropic ühendusformaate, nii et kasutad mõlema ametlikke SDK-sid nii, nagu need on. Sa muudad kliendis kolme väärtust: base URL, API võti ja mudeli id. Ülejäänud kood jääb samaks.

Mida määrata

Säte OpenAI SDK-d Anthropic SDK-d
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API võti Sinu Shannoni võti. SDK saadab selle kui Authorization: Bearer. Sinu Shannoni võti. SDK saadab selle kui x-api-key.
Mudel Avaldatud mudeli id, näiteks shannon-3. Avaldatud mudeli id, näiteks shannon-1.6-lite.
Lõpp-punktid, milleni see jõuab /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Keskkonnamuutujad OPENAI_API_KEY ja OPENAI_BASE_URL, mida Python ja JavaScript SDK-d loevad, kui sa väärtust ei anna. ANTHROPIC_API_KEY ja ANTHROPIC_BASE_URL, mida Python ja TypeScript SDK-d loevad, kui sa väärtust ei anna.

Kaks base URL-i erinevad /v1 poolest: OpenAI SDK lisab oma base URL-ile /chat/completions, Anthropic SDK lisab /v1/messages. Mudeli nimele, mida Shannon ei avalda, vastatakse 400 ja unknown model. Mudelid ja hinnad

Sinu võti on lehel Võtmed ja kasutus. Võtmed ja kasutus

OpenAI SDK-d

Ametlikud OpenAI SDK-d kutsuvad POST /v1/chat/completions ja POST /v1/responses. Iga näide saadab ühe kasutaja sõnumi ja trükib vastuse.

# 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)
Keel Paigaldus Base URL valik Allikas
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

Nende kahe lõpp-punkti iga välja kirjeldatakse nende oma lehtedel. Chat Completions Responses API

Anthropic SDK-d

Ametlikud Anthropic SDK-d kutsuvad POST /v1/messages. Nad nõuavad max_tokens igal kõnel, seega kasutavad näited shannon-1.6-lite, mis seda rakendab. Iga näide trükib vastuse tekstiplokid.

# 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)
Keel Paigaldus Base URL valik Allikas
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

Messages formaat ja selle erinevused on Anthropic ühilduvuse lehel. Anthropic

Mida SDK-d saavad usaldada

  • Päringuväli, mida API ei kasuta, võetakse vastu. Väljale, mida API tunneb ja mis saadeti vale tüübiga, vastatakse 422.
  • Versiooni- ja beetapäised, mida SDK-d lisavad (anthropic-version, anthropic-beta, openai-beta), võetakse vastu. Ükski neist ei ole nõutav.
  • Vastuse model on avaldatud id, nii et saad selle tagasi saata nii, nagu see on.
  • Lõpp-punktis /v1/messages võib vastus algada thinking-plokiga. Loe tüübi text plokke, selle asemel et võtta esimene plokk.
  • Voogedastus töötab SDK enda voohelperite kaudu. Kasutusandmed saabuvad iga voo lõpus.
  • Iga vastus kannab päist x-request-id. Saada oma x-request-id ja sama väärtus tuleb tagasi.

Kogukonna SDK-d

Teiste autorite OpenAI API jaoks kirjutatud kliendid töötavad samamoodi: anna kliendile base URL koos /v1, oma võti ja Shannoni mudeli id. Neid hooldavad nende autorid, mitte Shannon.

Keel Paigaldus 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

Ilma SDK-ta

SDK-d ei ole vaja. Töötab iga HTTP klient, mis oskab saata JSON-i:

  • POST JSON-sisu ja päisega Content-Type: application/json. Ilma selleta vastatakse päringule 415.
  • Sinu võti väljas Authorization: Bearer <key> või x-api-key: <key>. Mõlemad töötavad igas lõpp-punktis.
  • Kuni 32 MiB sisu.
  • Väärtusega "stream": true on vastus server-sent events voog (text/event-stream). Loe seda rida rea haaval ja ära puhverda seda.
  • Viga on JSON-sisu koos error.type ja error.message, HTTP oleku kõrval.
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!"}]
  }'

Voo sündmuste ja vea tüüpide kohta vaata: Voogedastus Vigade käsitlus