အကြောင်းအရာသို့ ကျော်သွားရန်
SDK များ

SDK များ

OpenAI သို့မဟုတ် Anthropic SDK မည်သည့်ဟာမဆို ချက်ချင်း အလုပ်လုပ်ပါသည်။

Shannon သည် OpenAI နှင့် Anthropic wire format နှစ်ခုလုံးကို ပြောဆိုသဖြင့် နှစ်ခုစလုံး၏ ရုံးသုံး SDK များကို ရှိသည့်အတိုင်း သုံးနိုင်သည်။ client တွင် တန်ဖိုးသုံးခုကို ပြောင်းပါ- base URL၊ API key နှင့် model id။ သင့် code ၏ ကျန်အပိုင်းသည် အတူတူပင်ဖြစ်သည်။

သတ်မှတ်ရမည့်အရာများ

Setting OpenAI SDK များ Anthropic SDK များ
Base URL https://api.shannon-ai.com/v1 https://api.shannon-ai.com
API key သင့် Shannon key။ SDK က ၎င်းကို Authorization: Bearer အဖြစ် ပို့သည်။ သင့် Shannon key။ SDK က ၎င်းကို x-api-key အဖြစ် ပို့သည်။
Model ထုတ်ပြန်ထားသော model id တစ်ခု၊ ဥပမာ shannon-3။ ထုတ်ပြန်ထားသော model id တစ်ခု၊ ဥပမာ shannon-1.6-lite။
ရောက်ရှိနိုင်သော endpoint များ /v1/chat/completions, /v1/responses, /v1/models /v1/messages, /v1/messages/count_tokens
Environment variables တန်ဖိုး မပေးလျှင် Python နှင့် JavaScript SDK များက ဖတ်သော OPENAI_API_KEY နှင့် OPENAI_BASE_URL။ တန်ဖိုး မပေးလျှင် Python နှင့် TypeScript SDK များက ဖတ်သော ANTHROPIC_API_KEY နှင့် ANTHROPIC_BASE_URL။

base URL နှစ်ခုသည် /v1 ဖြင့် ကွာခြားသည်- OpenAI SDK သည် ၎င်း၏ base URL သို့ /chat/completions ကို ထည့်ပြီး Anthropic SDK သည် /v1/messages ကို ထည့်သည်။ Shannon မထုတ်ပြန်ထားသော model အမည်ကို 400 နှင့် unknown model ဖြင့် ဖြေသည်။ Model များနှင့် ဈေးနှုန်း

သင့် key ကို Keys & usage စာမျက်နှာတွင် တွေ့နိုင်သည်။ Keys & usage

OpenAI SDK များ

ရုံးသုံး OpenAI SDK များသည် POST /v1/chat/completions နှင့် POST /v1/responses ကို ခေါ်သည်။ နမူနာတစ်ခုစီသည် user message တစ်ခု ပို့ပြီး အဖြေကို ပုံနှိပ်ပြသည်။

# 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 option 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

endpoint နှစ်ခု၏ field တိုင်းကို ၎င်းတို့၏ ကိုယ်ပိုင်စာမျက်နှာများတွင် ဖော်ပြထားသည်။ Chat Completions Responses API

Anthropic SDK များ

ရုံးသုံး Anthropic SDK များသည် POST /v1/messages ကို ခေါ်သည်။ ၎င်းတို့သည် call တိုင်းတွင် max_tokens ကို လိုအပ်သဖြင့် နမူနာများတွင် ၎င်းကို အသုံးပြုသော shannon-1.6-lite ကို သုံးထားသည်။ နမူနာတစ်ခုစီသည် အဖြေ၏ text block များကို ပုံနှိပ်ပြသည်။

# 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 option 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

Messages format နှင့် ၎င်း၏ ကွဲပြားချက်များကို Anthropic compatibility စာမျက်နှာတွင် ဖော်ပြထားသည်။ Anthropic

SDK များ အားထားနိုင်သည့်အရာများ

  • API မသုံးသော request field ကို လက်ခံသည်။ API သိသော field ကို type မှားပို့လျှင် 422 ဖြင့် ဖြေသည်။
  • SDK များ ထည့်ပေးသော version နှင့် beta header များ (anthropic-version, anthropic-beta, openai-beta) ကို လက်ခံသည်။ ၎င်းတို့အနက် တစ်ခုမျှ မလိုအပ်ပါ။
  • ပြန်ကြားချက်၏ model သည် ထုတ်ပြန်ထားသော id ဖြစ်သဖြင့် ၎င်းကို မပြောင်းဘဲ ပြန်ပို့နိုင်သည်။
  • /v1/messages တွင် ပြန်ကြားချက်သည် thinking block ဖြင့် စတင်နိုင်သည်။ ပထမ block ကို မယူဘဲ type text ရှိ block များကို ဖတ်ပါ။
  • Streaming သည် SDK ၏ ကိုယ်ပိုင် stream helper များမှတစ်ဆင့် အလုပ်လုပ်သည်။ Usage သည် stream တိုင်း၏ အဆုံးတွင် ရောက်လာသည်။
  • ပြန်ကြားချက်တိုင်းတွင် x-request-id header ပါသည်။ သင့်ကိုယ်ပိုင် x-request-id ကို ပို့လျှင် တူညီသောတန်ဖိုး ပြန်လာသည်။

Community SDK များ

အခြားစာရေးသူများက OpenAI API အတွက် ရေးသားထားသော client များလည်း တူညီစွာ အလုပ်လုပ်သည်- client သို့ /v1 ပါသော base URL၊ သင့် key နှင့် Shannon model id ကို ပေးပါ။ ၎င်းတို့ကို Shannon မဟုတ်ဘဲ ၎င်းတို့၏ စာရေးသူများက ထိန်းသိမ်းထားသည်။

ဘာသာစကား ထည့်သွင်းရန် 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

SDK မပါဘဲ

SDK မလိုအပ်ပါ။ JSON ပို့နိုင်သော HTTP client မည်သည့်အရာမဆို အလုပ်လုပ်သည်-

  • JSON body နှင့် header Content-Type: application/json ပါသော POST။ ၎င်းမပါလျှင် request ကို 415 ဖြင့် ဖြေသည်။
  • သင့် key ကို Authorization: Bearer <key> တွင် သို့မဟုတ် x-api-key: <key> တွင်။ နှစ်မျိုးလုံး endpoint တိုင်းတွင် အလုပ်လုပ်သည်။
  • 32 MiB အထိ body။
  • "stream": true ဖြင့် ပြန်ကြားချက်သည် server-sent event stream (text/event-stream) ဖြစ်သည်။ စာကြောင်းတစ်ကြောင်းချင်း ဖတ်ပြီး buffer မလုပ်ပါနှင့်။
  • အမှားသည် HTTP status ဘေးတွင် error.type နှင့် error.message ပါသော JSON body ဖြစ်သည်။
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!"}]
  }'

stream ၏ events များနှင့် error type များအတွက် ကြည့်ရန်- စตรีမင်း အမှားကိုင်တွယ်မှု