Slaan oor na inhoud
SDK's

SDK's

Enige OpenAI- of Anthropic-SDK werk reguit uit die boks.

Shannon praat die OpenAI- en die Anthropic-drylformate, so jy gebruik die amptelike SDK's van albei soos hulle is. Jy verander drie waardes in die kliënt: die basis-URL, die API-sleutel en die model-id. Die res van jou kode bly dieselfde.

Wat om te stel

Instelling OpenAI-SDK's Anthropic-SDK's
Basis-URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API-sleutel Jou Shannon-sleutel. Die SDK stuur dit as Authorization: Bearer. Jou Shannon-sleutel. Die SDK stuur dit as x-api-key.
Model 'n Gepubliseerde model-id, byvoorbeeld shannon-3. 'n Gepubliseerde model-id, byvoorbeeld shannon-1.6-lite.
Eindpunte wat dit bereik /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Omgewingsveranderlikes OPENAI_API_KEY en OPENAI_BASE_URL, gelees deur die Python- en JavaScript-SDK's wanneer jy geen waarde deurgee nie. ANTHROPIC_API_KEY en ANTHROPIC_BASE_URL, gelees deur die Python- en TypeScript-SDK's wanneer jy geen waarde deurgee nie.

Die twee basis-URL's verskil met /v1: 'n OpenAI-SDK voeg /chat/completions by sy basis-URL, 'n Anthropic-SDK voeg /v1/messages by. 'n Modelnaam wat Shannon nie publiseer nie, word met 400 en unknown model beantwoord. Modelle en pryse

Jou sleutel is op die bladsy Sleutels en gebruik. Sleutels en gebruik

OpenAI-SDK's

Die amptelike OpenAI-SDK's roep POST /v1/chat/completions en POST /v1/responses op. Elke voorbeeld stuur een gebruikersboodskap en druk die antwoord.

# 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)
Taal Installeer Basis-URL-opsie Bron
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

Elke veld van die twee eindpunte word op hul eie bladsye beskryf. Chat Completions Responses API

Anthropic-SDK's

Die amptelike Anthropic-SDK's roep POST /v1/messages op. Hulle vereis max_tokens by elke oproep, so die voorbeelde gebruik shannon-1.6-lite, wat dit toepas. Elke voorbeeld druk die teksblokke van die antwoord.

# 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)
Taal Installeer Basis-URL-opsie Bron
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

Die Messages-formaat en sy verskille is op die bladsy Anthropic-versoenbaarheid. Anthropic

Waarop die SDK's kan staatmaak

  • 'n Versoekveld wat die API nie gebruik nie, word aanvaar. 'n Veld wat die API ken, met die verkeerde tipe gestuur, word met 422 beantwoord.
  • Die weergawe- en beta-headers wat die SDK's byvoeg (anthropic-version, anthropic-beta, openai-beta) word aanvaar. Geen een daarvan is vereis nie.
  • Die model van 'n antwoord is die gepubliseerde id, so jy kan dit soos dit is terugstuur.
  • Op /v1/messages kan 'n antwoord met 'n thinking-blok begin. Lees die blokke van tipe text in plaas daarvan om die eerste blok te neem.
  • Stroming werk deur die SDK se eie stroomhulpmiddels. Gebruik kom aan die einde van elke stroom aan.
  • Elke antwoord dra 'n x-request-id-header. Stuur jou eie x-request-id en dieselfde waarde kom terug.

Gemeenskaps-SDK's

Kliënte wat deur ander outeurs vir die OpenAI API geskryf is, werk op dieselfde manier: gee die kliënt die basis-URL met /v1, jou sleutel en 'n Shannon-model-id. Hierdie word deur hul outeurs onderhou, nie deur Shannon nie.

Taal Installeer Kliënt
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

Sonder 'n SDK

Jy het nie 'n SDK nodig nie. Enige HTTP-kliënt wat JSON kan stuur, werk:

  • POST met 'n JSON-liggaam en die header Content-Type: application/json. Daarsonder word die versoek met 415 beantwoord.
  • Jou sleutel in Authorization: Bearer <key> of in x-api-key: <key>. Albei werk op elke eindpunt.
  • 'n Liggaam van tot 32 MiB.
  • Met "stream": true is die antwoord 'n stroom bediener-gestuurde gebeure (text/event-stream). Lees dit reël vir reël en moenie dit buffer nie.
  • 'n Fout is 'n JSON-liggaam met error.type en error.message, langs die 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!"}]
  }'

Vir die gebeure van 'n stroom en die foutipes, sien: Stroming Fouthantering