Lumaktaw sa nilalaman
Mga SDK

Mga SDK

Gumagana agad ang anumang OpenAI o Anthropic SDK.

Sinasalita ng Shannon ang mga wire format ng OpenAI at Anthropic, kaya magagamit mo nang buo ang mga opisyal na SDK ng pareho. Tatlong value ang papalitan mo sa client: ang base URL, ang API key at ang model id. Nananatiling pareho ang natitira sa iyong code.

Ano ang ise-set

Setting Mga OpenAI SDK Mga Anthropic SDK
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API key Ang iyong Shannon key. Ipinapadala ito ng SDK bilang Authorization: Bearer. Ang iyong Shannon key. Ipinapadala ito ng SDK bilang x-api-key.
Model Isang inilathalang model id, halimbawa shannon-3. Isang inilathalang model id, halimbawa shannon-1.6-lite.
Mga naaabot na endpoint /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Mga environment variable OPENAI_API_KEY at OPENAI_BASE_URL, binabasa ng mga Python at JavaScript SDK kapag wala kang ipinasang value. ANTHROPIC_API_KEY at ANTHROPIC_BASE_URL, binabasa ng mga Python at TypeScript SDK kapag wala kang ipinasang value.

Magkaiba ng /v1 ang dalawang base URL: nagdaragdag ang OpenAI SDK ng /chat/completions sa base URL nito, ang Anthropic SDK ay /v1/messages. Ang pangalan ng model na hindi inilalathala ng Shannon ay sinasagot ng 400 at unknown model. Mga model at presyo

Nasa pahinang Keys & usage ang iyong key. Keys & usage

Mga OpenAI SDK

Tinatawag ng mga opisyal na OpenAI SDK ang POST /v1/chat/completions at POST /v1/responses. Nagpapadala ang bawat sample ng isang user message at ipinapakita ang sagot.

# 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)
Wika I-install Opsyon ng base URL Source
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

Inilalarawan ang bawat field ng dalawang endpoint sa kanilang sariling mga pahina. Chat Completions Responses API

Mga Anthropic SDK

Tinatawag ng mga opisyal na Anthropic SDK ang POST /v1/messages. Kinakailangan nila ang max_tokens sa bawat call, kaya ginagamit ng mga sample ang shannon-1.6-lite, na ina-apply ito. Ipinapakita ng bawat sample ang mga text block ng sagot.

# 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)
Wika I-install Opsyon ng base URL Source
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

Nasa pahinang Anthropic compatibility ang Messages format at ang mga pagkakaiba nito. Anthropic

Ang maaasahan ng mga SDK

  • Tinatanggap ang request field na hindi ginagamit ng API. Ang field na kilala ng API, na ipinadala na may maling type, ay sinasagot ng 422.
  • Tinatanggap ang mga header ng bersyon at beta na idinaragdag ng mga SDK (anthropic-version, anthropic-beta, openai-beta). Walang kinakailangan sa mga ito.
  • Ang model ng reply ay ang inilathalang id, kaya maaari mo itong ipadala pabalik nang buo.
  • Sa /v1/messages, ang reply ay maaaring magsimula sa thinking block. Basahin ang mga block na type na text sa halip na kunin ang unang block.
  • Gumagana ang streaming sa pamamagitan ng sariling stream helper ng SDK. Dumarating ang usage sa dulo ng bawat stream.
  • Bawat reply ay may dalang header na x-request-id. Magpadala ng sarili mong x-request-id at babalik ang parehong value.

Mga community SDK

Gumagana sa parehong paraan ang mga client na isinulat ng ibang awtor para sa OpenAI API: ibigay sa client ang base URL na may /v1, ang iyong key at isang Shannon model id. Pinapanatili ang mga ito ng kanilang mga awtor, hindi ng Shannon.

Wika I-install 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

Nang walang SDK

Hindi mo kailangan ng SDK. Gumagana ang anumang HTTP client na kayang magpadala ng JSON:

  • POST na may JSON body at ang header na Content-Type: application/json. Kung wala ito, sinasagot ang request ng 415.
  • Ang iyong key sa Authorization: Bearer <key> o sa x-api-key: <key>. Parehong gumagana sa bawat endpoint.
  • Isang body na hanggang 32 MiB.
  • Gamit ang "stream": true, ang reply ay isang server-sent event stream (text/event-stream). Basahin ito linya por linya at huwag i-buffer.
  • Ang error ay isang JSON body na may error.type at error.message, katabi ng 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!"}]
  }'

Para sa mga event ng stream at mga error type, tingnan ang: Pag‑stream Paghawak ng Error