Мазмұнға өту
SDK-лар

SDK-лар

Кез келген OpenAI немесе Anthropic SDK бірден жұмыс істейді.

Shannon OpenAI және Anthropic желілік форматтарында сөйлейді, сондықтан екеуінің де ресми SDK-ларын өзгеріссіз қолданасыз. Клиентте үш мәнді өзгертесіз: base URL, API кілті және модель id-і. Кодыңыздың қалған бөлігі сол күйінде қалады.

Нені орнату керек

Параметр OpenAI SDK-лары Anthropic SDK-лары
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API кілті Shannon кілтіңіз. SDK оны Authorization: Bearer ретінде жібереді. Shannon кілтіңіз. SDK оны x-api-key ретінде жібереді.
Модель Жарияланған модель id-і, мысалы shannon-3. Жарияланған модель id-і, мысалы shannon-1.6-lite.
Қол жеткізетін endpoint-тер /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Орта айнымалылары OPENAI_API_KEY және OPENAI_BASE_URL, мән бермегенде Python және JavaScript SDK-лары оқиды. ANTHROPIC_API_KEY және ANTHROPIC_BASE_URL, мән бермегенде Python және TypeScript SDK-лары оқиды.

Екі base URL /v1 бойынша ерекшеленеді: OpenAI SDK өз base URL-іне /chat/completions қосады, Anthropic SDK /v1/messages қосады. Shannon жарияламаған модель атына 400 және unknown model жауап беріледі. Модельдер және бағалар

Кілтіңіз «Keys & usage» бетінде. Keys & usage

OpenAI SDK-лары

Ресми OpenAI SDK-лары POST /v1/chat/completions және POST /v1/responses шақырады. Әр мысал бір пайдаланушы хабарламасын жібереді және жауапты басып шығарады.

# 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)
Тіл Орнату Base URL опциясы Дереккөз
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

Екі endpoint-тің әр өрісі өз беттерінде сипатталған. Chat Completions Responses API

Anthropic SDK-лары

Ресми Anthropic SDK-лары POST /v1/messages шақырады. Олар әр шақыруда max_tokens талап етеді, сондықтан мысалдарда оны қолданатын shannon-1.6-lite пайдаланылады. Әр мысал жауаптың мәтін блоктарын басып шығарады.

# 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)
Тіл Орнату Base URL опциясы Дереккөз
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 форматы және оның айырмашылықтары Anthropic үйлесімділігі бетінде. Anthropic форматы

SDK-лар неге сене алады

  • API қолданбайтын сұрау өрісі қабылданады. API білетін, бірақ қате түрмен жіберілген өріске 422 жауап беріледі.
  • SDK-лар қосатын нұсқа және бета тақырыптары (anthropic-version, anthropic-beta, openai-beta) қабылданады. Олардың ешқайсысы міндетті емес.
  • Жауаптың model мәні — жарияланған id, сондықтан оны сол күйінде қайта жібере аласыз.
  • /v1/messages бойынша жауап thinking блогынан басталуы мүмкін. Бірінші блокты алудың орнына text түріндегі блоктарды оқыңыз.
  • Streaming SDK-ның өз стрим көмекшілері арқылы жұмыс істейді. Usage әр стримнің соңында келеді.
  • Әр жауап x-request-id тақырыбын алып жүреді. Өз x-request-id мәніңізді жіберсеңіз, сол мән қайтады.

Қауымдастық SDK-лары

OpenAI API үшін басқа авторлар жазған клиенттер де солай жұмыс істейді: клиентке /v1 бар base URL, кілтіңізді және Shannon модель id-ін беріңіз. Оларды Shannon емес, авторлары қолдайды.

Тіл Орнату Клиент
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-сыз

SDK қажет емес. JSON жібере алатын кез келген HTTP клиенті жұмыс істейді:

  • JSON денесі және Content-Type: application/json тақырыбы бар POST. Онсыз сұранысқа 415 жауап беріледі.
  • Кілтіңіз Authorization: Bearer <key> немесе x-api-key: <key> ішінде. Екеуі де әр endpoint-те жұмыс істейді.
  • 32 MiB-қа дейінгі дене.
  • "stream": true болғанда жауап — server-sent event стримі (text/event-stream). Оны жолма-жол оқыңыз және буфердеуге жібермеңіз.
  • Қате — HTTP мәртебесінің қасында error.type және error.message бар JSON денесі.
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!"}]
  }'

Стрим оқиғалары мен қате түрлері үшін мыналарды қараңыз: Стриминг Қателерді өңдеу