Kontentga o'tish
SDKlar

SDKlar

Har qanday OpenAI yoki Anthropic SDK darhol ishlaydi.

Shannon OpenAI va Anthropic tarmoq formatlarida gaplashadi, shuning uchun ikkalasining rasmiy SDK'laridan o'z holicha foydalanasiz. Mijozda uchta qiymatni o'zgartirasiz: base URL, API kalit va model id. Kodingizning qolgan qismi o'zgarmaydi.

Nimani o'rnatish kerak

Sozlama OpenAI SDK'lar Anthropic SDK'lar
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API kalit Shannon kalitingiz. SDK uni Authorization: Bearer sifatida yuboradi. Shannon kalitingiz. SDK uni x-api-key sifatida yuboradi.
Model E'lon qilingan model id, masalan shannon-3. E'lon qilingan model id, masalan shannon-1.6-lite.
Yetadigan endpointlar /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Muhit o'zgaruvchilari OPENAI_API_KEY va OPENAI_BASE_URL, qiymat bermasangiz Python va JavaScript SDK'lari o'qiydi. ANTHROPIC_API_KEY va ANTHROPIC_BASE_URL, qiymat bermasangiz Python va TypeScript SDK'lari o'qiydi.

Ikki base URL /v1 bilan farq qiladi: OpenAI SDK o'z base URL'iga /chat/completionsni, Anthropic SDK esa /v1/messagesni qo'shadi. Shannon e'lon qilmagan model nomiga 400 va unknown model bilan javob beriladi. Modellar va narxlar

Kalitingiz Keys & usage sahifasida. Keys & usage

OpenAI SDK'lar

Rasmiy OpenAI SDK'lar POST /v1/chat/completions va POST /v1/responsesni chaqiradi. Har bir namuna bitta foydalanuvchi xabarini yuboradi va javobni chop etadi.

# 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)
Til O'rnatish Base URL parametri Manba
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

Ikki endpointning har bir maydoni o'z sahifalarida tasvirlangan. Chat Completions Responses API

Anthropic SDK'lar

Rasmiy Anthropic SDK'lar POST /v1/messagesni chaqiradi. Ular har bir chaqiruvda max_tokensni talab qiladi, shuning uchun namunalar uni qo'llaydigan shannon-1.6-litedan foydalanadi. Har bir namuna javobning matn bloklarini chop etadi.

# 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)
Til O'rnatish Base URL parametri Manba
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 formati va uning farqlari Anthropic moslik sahifasida. Anthropic formati

SDK'lar nimaga tayanishi mumkin

  • API ishlatmaydigan so'rov maydoni qabul qilinadi. API biladigan, lekin noto'g'ri turda yuborilgan maydonga 422 bilan javob beriladi.
  • SDK'lar qo'shadigan versiya va beta sarlavhalari (anthropic-version, anthropic-beta, openai-beta) qabul qilinadi. Ularning hech biri majburiy emas.
  • Javobning modeli e'lon qilingan id, shuning uchun uni o'z holicha qaytarib yuborishingiz mumkin.
  • /v1/messages da javob thinking bloki bilan boshlanishi mumkin. Birinchi blokni olish o'rniga text turidagi bloklarni o'qing.
  • Streaming SDK'ning o'z stream yordamchilari orqali ishlaydi. Usage har bir oqim oxirida keladi.
  • Har bir javob x-request-id sarlavhasini olib keladi. O'zingizning x-request-idingizni yuboring va xuddi shu qiymat qaytadi.

Hamjamiyat SDK'lari

Boshqa mualliflar OpenAI API uchun yozgan mijozlar ham xuddi shunday ishlaydi: mijozga /v1li base URL, kalitingiz va Shannon model id'sini bering. Ularni Shannon emas, mualliflari qo'llab-quvvatlaydi.

Til O'rnatish Mijoz
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'siz

SDK shart emas. JSON yubora oladigan har qanday HTTP mijoz ishlaydi:

  • JSON tanasi va Content-Type: application/json sarlavhasi bilan POST. Usiz so'rovga 415 bilan javob beriladi.
  • Kalitingiz Authorization: Bearer <key> yoki x-api-key: <key>da. Ikkalasi ham har bir endpointda ishlaydi.
  • 32 MiB gacha tana.
  • "stream": true bilan javob server-sent events oqimi (text/event-stream). Uni satrma-satr o'qing va buferlamang.
  • Xato — HTTP holati yonida error.type va error.messageli JSON tanasi.
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!"}]
  }'

Oqim hodisalari va xato turlari uchun qarang: Oqim Xatolarni boshqarish