අන්තර්ගතයට යන්න
ඉක්මන් ආරම්භය

ඉක්මන් ආරම්භය

පළමු ඉල්ලීම කරන්න: ඔබේ key එක ලබාගෙන, එක පණිවිඩයක් යවා, පිළිතුර කියවන්න. API එක OpenAI සහ Anthropic formats වලින් කථා කරන බැවින්, ඔබ දැනටමත් භාවිතා කරන SDK එක එහි base URL එක සහ key එක වෙනස් කළ පසු ක්‍රියා කරයි.

1. ඔබේ key එක ලබා ගන්න

සෑම ගිණුමකටම එක API key එකක් ඇත. Sign in වී, Keys & usage විවෘත කර එය පිටපත් කරන්න. Key එක සෑම endpoint එකකම සහ සෑම model එකකම ක්‍රියා කරයි. යතුරු සහ භාවිතය

2. ඔබේ client එක API එකට යොමු කරන්න

සියලු endpoints එක base URL එක යටතේ පවතී. OpenAI SDK එකක් එය අවසානයේ /v1 සමඟ ගනී; Anthropic SDK එකක් /v1/messages තනිවම එකතු කරන බැවින් එය නොමැතිව ගනී.

Client Base URL
OpenAI SDKs සහ OpenAI-අනුකූල clients https://api.shannon-ai.com/v1
Anthropic SDKs https://api.shannon-ai.com

පෙළ නිපදවන endpoints තුනකි. ඒවා එකම models වලට ළඟා වේ; ඔබේ code දැනටමත් භාවිතා කරන format එක ඇති එක තෝරන්න.

Endpoint Format
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 ඔබේ 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)
Field වර්ගය පෙරනිමිය විස්තරය
model string පිළිතුරු දෙන model එකේ id එක. ids Models & pricing හි ලැයිස්තුගත කර ඇත.
messages array මෙතෙක් සංවාදය: role සහ content සහිත objects. අවසාන user පණිවිඩය prompt එකයි. අවශ්‍යයි.
max_tokens integer 4096 ඉල්ලීමේ output අයවැය, 1 සිට 65,536 දක්වා. ඉල්ලීම මෙම ප්‍රමාණය ඔබේ ශේෂයෙන් වෙන් කර ගන්නා අතර සැබවින්ම භාවිතා කළ දේ සඳහා අය කෙරේ.
stream boolean false true පිළිතුර ලියවෙන විටම කෑලි වශයෙන් යවයි.

ඉල්ලීමේ body එක JSON වන අතර Content-Type: application/json header එක අවශ්‍ය වේ. Fields වල සම්පූර්ණ ලැයිස්තුව endpoint පිටුවේ ඇත. Chat Completions

පිළිතුර

stream නොමැති call එකක් පිළිතුර සම්පූර්ණ වූ විට එක JSON object එකක් ආපසු දෙයි. පහත පෙළ සහ අංක උදාහරණ වේ.

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
  }
}
Field වර්ගය විස්තරය
id string chatcmpl- ට පසුව hexadecimal අක්ෂර 32ක්.
object string සෑම විටම chat.completion.
created integer පිළිතුරේ වේලාව Unix තත්පරවලින්.
model string පිළිතුරු දුන් model එකේ ප්‍රකාශිත id එක, ඔබ alias එකක් හෝ වෙනත් අකුරු වින්‍යාසයක් යැවූ විටත්.
choices array සෑම විටම එක entry එකක්, index 0 සහිතව.
choices[0].message.role string සෑම විටම assistant.
choices[0].message.content string | null පිළිතුර. පිළිතුරේ tool_calls ඇති විට එය null විය හැක.
choices[0].message.reasoning_content string | null පිළිතුරට පෙර model එකේ තර්කනය, නැතහොත් එකක් නැති විට null.
choices[0].message.tool_calls array Model එක ඔබ ප්‍රකාශ කළ tools වලින් එකක් call කරන විට පමණක් ඇත.
choices[0].finish_reason string පිළිතුරක් සඳහා stop, model එක tool එකක් call කරන විට tool_calls.
usage.prompt_tokens integer Model එක මෙම පිළිතුර සඳහා කියවූ tokens. shannon-2-* සහ Shannon 3 පවුල මත මෙය ඔබ යැවූ පෙළට වඩා වැඩි විය හැක.
usage.completion_tokens integer Model එක විසින් ලියන ලද tokens ගණන.
usage.total_tokens integer එකතුව. Shannon model එකක අය කිරීම ගණනය කරන්නේ මෙම අංකයෙනි.
  • usage හි ඇත්තේ token ගණන් මිස මුදල් නොවේ. Call එක ඔබේ ශේෂයෙන් ගත් දේ Keys & usage හි ඉල්ලීමකට අනුව පෙන්වයි; එය ගණනය කරන ආකාරය Limits and balance හි ඇත. සීමා සහ ශේෂය
  • දෝෂයක් සහ stream එකක් ද ඇතුළුව සෑම පිළිතුරකටම x-request-id header එක ඇත. ඔබේ ඉල්ලීමේ x-request-id header එකක් තිබුණහොත් එහි අගය ආපසු එයි; නැතහොත් අගය hexadecimal අක්ෂර 12කි. එය ඔබේ logs වල තබා ගන්න: එය මෙම එක ඉල්ලීම නම් කරයි.

එම call එකම stream එකක් ලෙස

පිළිතුර ලියවෙන විටම කියවීමට 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)

Stream එකේ සෑම frame එකක්ම data: වලින් ආරම්භ වන සහ JSON object එකක් රඳවන එක පේළියකි. එක frame එකක්, පේළි කිහිපයක මුද්‍රණය කර:

එක frame එකක්
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion.chunk",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "Hello! "
      },
      "finish_reason": null
    }
  ]
}
Frames, පිළිවෙලින් delta finish_reason
Model එක තර්ක කරන අතරතුර. Frames බිංදුවක් හෝ වැඩි ගණනක්. {"reasoning_content": "…"} null
පිළිතුර, කෑලි වශයෙන්. Frames බිංදුවක් හෝ වැඩි ගණනක්. {"content": "…"} null
අවසාන JSON frame එක. එයට usage ද ඇත; ඔබට එය ඉල්ලීමට අවශ්‍ය නැත. {} "stop"
Stream එකේ අවසානය: data: [DONE] පේළිය.
  • පිළිතුරේ status 200 සහ content-type: text/event-stream ඇත. සෑම frame එකක්ම data: <json> පේළියක් වන අතර ඉන්පසු හිස් පේළියක් ඇත.
  • : ping පේළියක් තත්පර 15කට වරක් පැමිණේ. එය සම්බන්ධතාව විවෘතව තබන comment එකකි; SSE clients එය මඟ හරියි.
  • Stream එක විවෘත වූ පසු අසාර්ථකත්වයක් data: {"error": {…}} frame එකක් ලෙස පැමිණේ. Status එක 200 ලෙසම පවතී, එබැවින් frames පරීක්ෂා කරන්න.

ස්ට්‍රීමිං

Call එක අසාර්ථක වුවහොත්

දෝෂයක් යනු type සහ message රඳවන error සහිත JSON object එකකි. පළමු call එකකට බොහෝ විට ලැබෙන පිළිතුරු මේවාය.

තත්ත්වය වර්ගය පණිවිඩය එහි තේරුම
401 authentication_error Missing authentication කිසිදු key එකක් API එකට ළඟා වූයේ නැත. Authorization: Bearer ට පසුව ඔබේ key එක යවන්න.
401 authentication_error Invalid API key Key එක ගිණුමක වත්මන් 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… Field එකක JSON type එක වැරදිය, නැතහොත් messages නැත.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan ඉල්ලීමේ output අයවැය ඔබේ ශේෂයට නොගැළපේ.

දෝෂ

ඊළඟට කුමක් කළ යුතුද

  • Models සහ මිල ගණන් — Model එකක් තෝරන්න: ids, context windows සහ මිල ගණන්.
  • Chat Completions — ඔබ call කළ endpoint එකේ සෑම ඉල්ලීම් field එකක්ම, පිළිතුරු field එකක්ම සහ stream event එකක්ම.
  • ස්ට්‍රීමිං — Stream එකක frames, keep-alive පේළි සහ stream එකක් තුළ දෝෂ.
  • කාර්ය කැඳවීම — Model එකට ඔබේ functions call කිරීමට ඉඩ දෙන්න.
  • සීමා සහ ශේෂය — ඉල්ලීමක් වෙන් කරන්නේ සහ වැය වන්නේ කොපමණද, සහ ඔබට ඉල්ලීම් කොපමණ ගණනක් යැවිය හැකිද.
  • API Playground — ඔබේ key එකෙන් browser එකේ ඉල්ලීම් උත්සාහ කරන්න.