Мазмунга өтүү
Тез баштоо

Тез баштоо

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

1. Ачкычыңызды алыңыз

Ар бир аккаунтта бир API ачкыч бар. Кириңиз, Keys & usage бетин ачып, аны көчүрүңүз. Ачкыч ар бир endpoint'те жана ар бир модельде иштейт. Ачкычтар жана колдонуу

2. Клиентиңизди API'га багыттаңыз

Бардык endpoint'тер бир негизги URL астында. OpenAI SDK аны аягында /v1 менен алат; Anthropic SDK аны жок алат, анткени /v1/messages'ти өзү кошот.

Клиент Негизги URL
OpenAI SDK'лары жана OpenAI менен шайкеш клиенттер https://api.shannon-ai.com/v1
Anthropic SDK'лары https://api.shannon-ai.com

Үч endpoint текст чыгарат. Алар бир эле моделдерге жетет; кодуңуз буга чейин колдонгон форматтагысын тандаңыз.

Эндпоинт Формат
POST /v1/chat/completions OpenAI Chat Completions
POST /v1/messages Anthropic Messages
POST /v1/responses OpenAI Responses

3. Биринчи сурамды жөнөтүңүз

Chat Completions endpoint'инде shannon-3 моделине бир user билдирүүсүн жөнөтүңүз. YOUR_API_KEY ордуна ачкычыңызды коюңуз.

POST https://api.shannon-ai.com/v1/chat/completions

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!"}
    ],
    max_tokens=1024
)

print(response.choices[0].message.content)
Талаа Түрү Демейки Сүрөттөмө
model string Жооп берген модельдин id'си. Id'лер Models & pricing бетинде тизмеленген.
messages array Азырынча сүйлөшүү: role жана content бар объекттер. Акыркы user билдирүүсү — промпт. Милдеттүү.
max_tokens integer 4096 Сурамдын чыгыш бюджети, 1ден 65,536га чейин. Сурам бул сумманы балансыңыздан резервдейт жана чындыгында колдонгону үчүн эсептелет.
stream boolean false true жоопту жазылып жатканда бөлүк-бөлүк жөнөтөт.

Сурам денеси — JSON, ал Content-Type: application/json башын талап кылат. Талаалардын толук тизмеси endpoint бетинде. Chat Completions

Жооп

stream жок чалуу жооп толук болгондо бир JSON объектин кайтарат. Төмөнкү тексттер менен сандар — мисалдар.

200 JSON
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! What would you like to work on?",
        "reasoning_content": "A greeting. A short, friendly reply fits."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1386,
    "completion_tokens": 74,
    "total_tokens": 1460
  }
}
Талаа Түрү Сүрөттөмө
id string chatcmpl- жана андан кийин 32 он алтылык белги.
object string Ар дайым chat.completion.
created integer Жооптун убактысы Unix секундаларында.
model string Жооп берген модельдин жарыяланган id'си, алиас же башка жазылышты жөнөткөндө да.
choices array Ар дайым index 0 болгон бир жазуу.
choices[0].message.role string Ар дайым assistant.
choices[0].message.content string | null Жооп. Жоопто tool_calls болгондо ал null болушу мүмкүн.
choices[0].message.reasoning_content string | null Модельдин жообунун алдындагы reasoning'и, же жок болсо null.
choices[0].message.tool_calls array Модель жарыялаган куралдарыңыздын бирин чакырганда гана бар.
choices[0].finish_reason string Жооп үчүн stop, модель куралды чакырганда tool_calls.
usage.prompt_tokens integer Модель бул жооп үчүн окуган токендер. shannon-2-* жана Shannon 3 үй-бүлөсүндө бул сиз жөнөткөн тексттен көп болушу мүмкүн.
usage.completion_tokens integer Модель жазган токендер.
usage.total_tokens integer Жыйынтык. Shannon моделинин эсептөөсү ушул сандан чыгарылат.
  • usage акчаны эмес, токен сандарын камтыйт. Чалуу балансыңыздан эмне алганы Keys & usage бетинде ар бир сурам боюнча көрсөтүлөт; кантип эсептелери Чектөөлөр жана баланс бетинде. Чектөөлөр жана баланс
  • Ар бир жооп, ката жана стрим да, x-request-id башына ээ. Сурамыңызда x-request-id башы болсо, анын мааниси кайтат; болбосо маани 12 он алтылык белги. Аны журналдарыңызда сактаңыз: ал дал ушул бир сурамды атайт.

Ошол эле чалуу стрим катары

Жоопту жазылып жатканда окуу үчүн stream'ди true кылыңыз. Сурамдын калган бардыгы өзгөрүүсүз калат.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

stream = client.chat.completions.create(
    model="shannon-3",
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ],
    max_tokens=1024,
    stream=True
)

for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Стримдин ар бир фрейми data: менен башталган жана JSON объектин камтыган бир сап. Бир фрейм, бир нече сапка басылган:

Бир фрейм
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion.chunk",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "Hello! "
      },
      "finish_reason": null
    }
  ]
}
Фреймдер, тартиби менен delta finish_reason
Модель reasoning жүргүзүп жатканда. Нөл же андан көп фрейм. {"reasoning_content": "…"} null
Жооп, бөлүк-бөлүк. Нөл же андан көп фрейм. {"content": "…"} null
Акыркы JSON фрейм. Ал usage'ти да алып келет; аны суроонун кереги жок. {} "stop"
Стримдин аягы: data: [DONE] сабы.
  • Жоопто 200 статусу жана content-type: text/event-stream бар. Ар бир фрейм — data: <json> сабы жана андан кийинки бош сап.
  • : ping сабы ар 15 секунд сайын келет. Бул байланышты ачык кармаган комментарий; SSE клиенттери аны өткөрүп жиберет.
  • Стрим ачылгандан кийинки ката data: {"error": {…}} фрейми катары келет. Статус 200 бойдон калат, ошондуктан фреймдерди текшериңиз.

Стриминг

Чалуу ишке ашпаса

Ката — type жана message камтыган error бар JSON объекти. Булар биринчи чалуу эң көп кезиктирген жооптор.

Статус Түрү Билдирүү Эмнени билдирет
401 authentication_error Missing authentication API'га эч бир ачкыч жеткен жок. Authorization: Bearer жана ачкычыңызды жөнөтүңүз.
401 authentication_error Invalid API key Ачкыч аккаунттун азыркы ачкычы эмес. Аны Keys & usage бетинен кайра көчүрүңүз.
400 invalid_request_error unknown model: <id> model жарыяланган id эмес. Models & pricing бетиндеги id'ни колдонуңуз.
422 invalid_request_error Failed to deserialize the JSON body into the target type… Талаанын JSON түрү туура эмес, же messages жок.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan Сурамдын чыгыш бюджети балансыңызга батпайт.

Ката иштетүү

Андан ары кайда барса болот

  • Моделдер жана баалар — Модель тандаңыз: id'лер, контекст терезелери жана баалар.
  • Chat Completions — Чакырган endpoint'иңиздин ар бир сурам талаасы, жооп талаасы жана стрим окуясы.
  • Стриминг — Стримдин фреймдери, keep-alive саптары жана стримдин ичиндеги каталар.
  • Функция чакыруу — Модель функцияларыңызды чакырсын.
  • Чектөөлөр жана баланс — Сурам эмнени резервдейт жана канчага турат, жана канча сурам жөнөтө аласыз.
  • API Playground — Сурамдарды ачкычыңыз менен браузерде сынаңыз.