Гузариш ба мундариҷа
SDKҳо

SDKҳо

Ҳар SDK-и OpenAI ё Anthropic бетағйир кор мекунад.

Shannon бо форматҳои wire-и OpenAI ва Anthropic кор мекунад, бинобар ин SDK-ҳои расмии ҳардуро бетағйир истифода мебаред. Шумо дар клиент се қиматро иваз мекунед: base URL, калиди API ва id-и модел. Боқимондаи рамзи шумо бетағйир мемонад.

Чӣ бояд танзим кард

Танзим SDK-ҳои OpenAI SDK-ҳои Anthropic
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, ки SDK-ҳои Python ва JavaScript онҳоро мехонанд, вақте ки қимат намедиҳед. ANTHROPIC_API_KEY ва ANTHROPIC_BASE_URL, ки SDK-ҳои Python ва TypeScript онҳоро мехонанд, вақте ки қимат намедиҳед.

Ду base URL бо /v1 фарқ мекунанд: SDK-и OpenAI /chat/completions-ро ба base URL-и худ илова мекунад, SDK-и Anthropic /v1/messages-ро. Номи модели нашрнашудаи Shannon бо 400 ва unknown model ҷавоб дода мешавад. Моделҳо ва нархҳо

Калиди шумо дар саҳифаи Keys & usage аст. Калидҳо ва истифода

SDK-ҳои OpenAI

SDK-ҳои расмии OpenAI 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

SDK-ҳои Anthropic

SDK-ҳои расмии Anthropic 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 ҷавоб дода мешавад.
  • Сарлавҳаҳои version ва beta, ки SDK-ҳо илова мекунанд (anthropic-version, anthropic-beta, openai-beta), қабул карда мешаванд. Ҳеҷ яке аз онҳо ҳатмӣ нест.
  • model-и ҷавоб id-и нашршуда аст, бинобар ин шумо метавонед онро ҳамон тавр бозфиристед.
  • Дар /v1/messages ҷавоб метавонад бо блоки thinking оғоз шавад. Ба ҷои гирифтани блоки аввал, блокҳои навъи text-ро бихонед.
  • Streaming тавассути ёрирасонҳои streaming-и худи SDK кор мекунад. Usage дар охири ҳар ҷараён меояд.
  • Ҳар ҷавоб сарлавҳаи x-request-id дорад. x-request-id-и худатонро фиристед ва ҳамон қимат бармегардад.

SDK-ҳои ҷамоавӣ

Клиентҳое, ки муаллифони дигар барои API-и OpenAI навиштаанд, ба ҳамин тарз кор мекунанд: ба клиент base URL-ро бо /v1, калиди худро ва id-и модели Shannon диҳед. Онҳоро муаллифонашон нигоҳ медоранд, на 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 лозим нест. Ҳар клиенти HTTP, ки JSON фиристода метавонад, кор мекунад:

  • POST бо ҷисми JSON ва сарлавҳаи Content-Type: application/json. Бе он дархост бо 415 ҷавоб дода мешавад.
  • Калиди шумо дар Authorization: Bearer <key> ё дар x-api-key: <key>. Ҳарду дар ҳар endpoint кор мекунанд.
  • Ҷисм то 32 MiB.
  • Бо "stream": true ҷавоб ҷараёни server-sent event (text/event-stream) аст. Онро хат ба хат бихонед ва буфер накунед.
  • Хатогӣ ҷисми JSON бо error.type ва error.message дар паҳлӯи ҳолати HTTP аст.
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!"}]
  }'

Барои рӯйдодҳои ҷараён ва навъҳои хатогӣ инҳоро бинед: Стриминг Идораи хатогиҳо