Siirry sisältöön
SDK:t

SDK:t

Mikä tahansa OpenAI- tai Anthropic-SDK toimii sellaisenaan.

Shannon puhuu OpenAI:n ja Anthropicin siirtomuotoja, joten voit käyttää molempien virallisia SDK:ita sellaisinaan. Vaihdat asiakkaassa kolme arvoa: perus-URL:n, API-avaimen ja mallin id:n. Loppu koodistasi pysyy samana.

Mitä asetetaan

Asetus OpenAI-SDK:t Anthropic-SDK:t
Perus-URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API-avain Shannon-avaimesi. SDK lähettää sen otsakkeena Authorization: Bearer. Shannon-avaimesi. SDK lähettää sen otsakkeena x-api-key.
Malli Julkaistu mallin id, esimerkiksi shannon-3. Julkaistu mallin id, esimerkiksi shannon-1.6-lite.
Päätepisteet, jotka se tavoittaa /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Ympäristömuuttujat OPENAI_API_KEY ja OPENAI_BASE_URL, jotka Python- ja JavaScript-SDK:t lukevat, kun et anna arvoa. ANTHROPIC_API_KEY ja ANTHROPIC_BASE_URL, jotka Python- ja TypeScript-SDK:t lukevat, kun et anna arvoa.

Kaksi perus-URL:ia eroavat /v1-osalla: OpenAI-SDK lisää perus-URL:ään /chat/completions, Anthropic-SDK lisää /v1/messages. Mallin nimeen, jota Shannon ei julkaise, vastataan 400:lla ja viestillä unknown model. Mallit ja hinnoittelu

Avaimesi on Keys & usage -sivulla. Avaimet ja käyttö

OpenAI-SDK:t

Viralliset OpenAI-SDK:t kutsuvat POST /v1/chat/completions ja POST /v1/responses. Jokainen esimerkki lähettää yhden käyttäjän viestin ja tulostaa vastauksen.

# 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)
Kieli Asennus Perus-URL-asetus Lähde
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

Näiden kahden päätepisteen jokainen kenttä on kuvattu niiden omilla sivuilla. Chat Completions Responses API

Anthropic-SDK:t

Viralliset Anthropic-SDK:t kutsuvat POST /v1/messages. Ne vaativat max_tokens-kentän jokaisessa kutsussa, joten esimerkit käyttävät mallia shannon-1.6-lite, joka ottaa sen huomioon. Jokainen esimerkki tulostaa vastauksen tekstilohkot.

# 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)
Kieli Asennus Perus-URL-asetus Lähde
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-muoto ja sen erot ovat Anthropic-yhteensopivuus-sivulla. Antrooppinen muoto

Mihin SDK:t voivat luottaa

  • Pyyntökenttä, jota API ei käytä, hyväksytään. Kenttään, jonka API tuntee ja joka lähetetään väärällä tyypillä, vastataan 422:lla.
  • SDK:iden lisäämät versio- ja beta-otsakkeet (anthropic-version, anthropic-beta, openai-beta) hyväksytään. Mikään niistä ei ole pakollinen.
  • Vastauksen model on julkaistu id, joten voit lähettää sen takaisin sellaisenaan.
  • Päätepisteessä /v1/messages vastaus voi alkaa thinking-lohkolla. Lue tyypin text lohkot sen sijaan, että ottaisit ensimmäisen lohkon.
  • Striimaus toimii SDK:n omilla striimiapufunktioilla. Käyttötiedot (usage) saapuvat jokaisen striimin lopussa.
  • Jokaisessa vastauksessa on x-request-id-otsake. Lähetä oma x-request-id, niin sama arvo palaa.

Yhteisön SDK:t

Muiden tekijöiden OpenAI API:lle kirjoittamat asiakkaat toimivat samalla tavalla: anna asiakkaalle perus-URL /v1-päätteellä, avaimesi ja Shannon-mallin id. Näitä ylläpitävät niiden tekijät, ei Shannon.

Kieli Asennus Asiakas
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

Ilman SDK:ta

SDK:ta ei tarvita. Mikä tahansa HTTP-asiakas, joka osaa lähettää JSONia, toimii:

  • POST JSON-rungolla ja otsakkeella Content-Type: application/json. Ilman sitä pyyntöön vastataan 415:llä.
  • Avaimesi otsakkeessa Authorization: Bearer <key> tai otsakkeessa x-api-key: <key>. Molemmat toimivat jokaisessa päätepisteessä.
  • Runko, jonka koko on enintään 32 MiB.
  • Kun "stream": true, vastaus on server-sent events -striimi (text/event-stream). Lue se rivi riviltä äläkä puskuroi sitä.
  • Virhe on JSON-runko, jossa on error.type ja error.message, HTTP-tilan vieressä.
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!"}]
  }'

Striimin tapahtumat ja virhetyypit löydät täältä: Suoratoisto Virheiden käsittely