Мазмунга өтүү
SDKлар

SDKлар

Каалаган OpenAI же Anthropic SDK кошумча жөндөөсүз иштейт.

Shannon OpenAI жана Anthropic wire форматтарында сүйлөйт, ошондуктан экөөнүн расмий SDK'ларын өзгөртүүсүз колдоносуз. Клиентте үч маанини өзгөртөсүз: негизги URL, API ачкыч жана модель id. Кодуңуздун калганы ошол бойдон калат.

Эмнени коюу керек

Жөндөө OpenAI SDK'лары Anthropic SDK'лары
Негизги 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'лары окуйт.

Эки негизги URL /v1 менен айырмаланат: OpenAI SDK өзүнүн негизги URL'ине /chat/completions кошот, Anthropic SDK /v1/messages кошот. Shannon жарыялабаган модель аты 400 жана unknown model менен жооп алат. Моделдер жана баалар

Ачкычыңыз 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)
Тил Орнотуу Негизги 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)
Тил Орнотуу Негизги 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'лар кошкон версия жана beta баштары (anthropic-version, anthropic-beta, openai-beta) кабыл алынат. Алардын бири да талап кылынбайт.
  • Жооптун model'и жарыяланган id, ошондуктан аны өзгөртпөй кайра жөнөтө аласыз.
  • /v1/messages боюнча жооп thinking блогу менен башталышы мүмкүн. Биринчи блокту албастан, text түрүндөгү блокторду окуңуз.
  • Стриминг SDK'нын өз стрим жардамчылары аркылуу иштейт. Usage ар бир стримдин аягында келет.
  • Ар бир жоопто x-request-id башы бар. Өз x-request-id жөнөтсөңүз, ошол эле маани кайтат.

Коомчулуктун SDK'лары

Башка авторлор OpenAI API үчүн жазган клиенттер ошондой иштейт: клиентке /v1 менен негизги 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!"}]
  }'

Стримдин окуялары жана ката түрлөрү үчүн караңыз: Стриминг Ката иштетүү