Qalo e potlakileng
Etsa kopo ea pele: fumana senotlolo sa hau, romela molaetsa o le mong mme u bale karabo. API e bua mebopeho ea OpenAI le Anthropic, kahoo SDK eo u e sebelisang e sebetsa ka mor'a hore u fetole base URL le senotlolo sa eona.
1. Fumana senotlolo sa hau
Akhaonte e 'ngoe le e 'ngoe e na le senotlolo se le seng sa API. Kena, bula Keys & usage mme u se kopitse. Senotlolo se sebetsa ho endpoint e 'ngoe le e 'ngoe le model e 'ngoe le e 'ngoe. Keys & usage
2. Supa client ea hau ho API
Li-endpoint tsohle li ka tlase ho base URL e le 'ngoe. SDK ea OpenAI e e nka e na le /v1 qetellong; SDK ea Anthropic e e nka ntle le eona, hobane e ikentsetsa /v1/messages.
| Client | Base URL |
|---|---|
| Li-SDK tsa OpenAI le li-client tse lumellanang le OpenAI | https://api.shannon-ai.com/v1 |
| Li-SDK tsa Anthropic | https://api.shannon-ai.com |
Li-endpoint tse tharo li hlahisa mongolo. Li fihla ho li-model tse tšoanang; khetha eo sebopeho sa eona se seng se sebelisoang ke code ea hau.
| Endpoint | Sebopeho |
|---|---|
POST /v1/chat/completions | OpenAI Chat Completions |
POST /v1/messages | Anthropic Messages |
POST /v1/responses | OpenAI Responses |
3. Romela kopo ea pele
Romela molaetsa o le mong oa user ho shannon-3 ho endpoint ea Chat Completions. Nkela YOUR_API_KEY sebaka ka senotlolo sa hau.
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) import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
const response = await client.chat.completions.create({
model: 'shannon-3',
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
],
max_tokens: 1024
});
console.log(response.choices[0].message.content); package main
import (
"context"
"fmt"
openai "github.com/sashabaranov/go-openai"
)
func main() {
config := openai.DefaultConfig("YOUR_API_KEY")
config.BaseURL = "https://api.shannon-ai.com/v1"
client := openai.NewClientWithConfig(config)
resp, err := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: "shannon-3",
Messages: []openai.ChatCompletionMessage{
{Role: "user", Content: "Hello, Shannon!"},
},
MaxTokens: 1024,
},
)
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
} curl -X POST "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!"}
],
"max_tokens": 1024
}' | Field | Mofuta | Default | Tlhaloso |
|---|---|---|---|
model | string | Id ea model e arabang. Li-id li thathamisitsoe ho Models & pricing. | |
messages | array | Moqoqo ho fihlela hajoale: lintho tse nang le role le content. Molaetsa oa ho qetela oa user ke prompt. E hlokahala. | |
max_tokens | integer | 4096 | Output budget ea kopo, ho tloha ho 1 ho isa ho 65,536. Kopo e behela palo ena thoko ho balance ea hau mme e lefisoa seo e se sebelisitseng ka 'nete. |
stream | boolean | false | true e romela karabo sekhechana ka sekhechana ha e ntse e ngoloa. |
Body ea kopo ke JSON mme e hloka header Content-Type: application/json. Lenane le felletseng la li-field le leqepheng la endpoint. Chat Completions
Karabo
Kopo e se nang stream e khutlisa ntho e le 'ngoe ea JSON ha karabo e phethahetse. Mengolo le linomoro tse ka tlase ke mehlala.
{
"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 | Mofuta | Tlhaloso |
|---|---|---|
id | string | chatcmpl- e latelwa ke litlhaku tse 32 tsa hexadecimal. |
object | string | Kamehla ke chat.completion. |
created | integer | Nako ea karabo ka metsotsoana ea Unix. |
model | string | Id e phatlalalitsoeng ea model e arabileng, esita le ha u rometse alias kapa mongolo o mong. |
choices | array | Kamehla entry e le 'ngoe, e nang le index 0. |
choices[0].message.role | string | Kamehla ke assistant. |
choices[0].message.content | string | null | Karabo. E ka ba null ha karabo e nka tool_calls. |
choices[0].message.reasoning_content | string | null | Reasoning ea model pele ho karabo ea eona, kapa null ha ho e 'ngoe. |
choices[0].message.tool_calls | array | E teng feela ha model e bitsa e 'ngoe ea lisebelisoa tseo u li phatlalalitseng. |
choices[0].finish_reason | string | stop bakeng sa karabo, tool_calls ha model e bitsa tool. |
usage.prompt_tokens | integer | Tokens tseo model e li balileng bakeng sa karabo ena. Ho shannon-2-* le lelapa la Shannon 3 sena se ka feta mongolo oo u o rometseng. |
usage.completion_tokens | integer | Tokens tseo model e li ngotseng. |
usage.total_tokens | integer | Kakaretso. Tefo ea model ea Shannon e baloa ho tloha palong ena. |
-
usagee na le palo ea tokens, hase chelete. Seo kopo e se nkileng ho balance ea hau se bontšoa ka kopo ho Keys & usage; hore na se baloa joang ho leqepheng la Meeli le balance. Meeli le balance - Karabo e 'ngoe le e 'ngoe, esita le phoso le stream, e na le header
x-request-id. Haeba kopo ea hau e na le header eax-request-id, boleng ba eona bo khutla; ho seng joalo boleng ke litlhaku tse 12 tsa hexadecimal. E boloke ho li-log tsa hau: e reha kopo ena e le 'ngoe.
Kopo e tšoanang e le stream
Beha stream ho true ho bala karabo ha e ntse e ngoloa. Tsohle tse ling kopong li lula li tšoana.
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) import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
const stream = await client.chat.completions.create({
model: 'shannon-3',
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
],
max_tokens: 1024,
stream: true
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
} curl -N -X POST "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!"}
],
"max_tokens": 1024,
"stream": true
}' Frame e 'ngoe le e 'ngoe ea stream ke mohala o le mong o qalang ka data: mme o na le ntho ea JSON. Frame e le 'ngoe, e gatisitsoeng mela e mengata:
{
"id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
"object": "chat.completion.chunk",
"created": 1791590400,
"model": "shannon-3",
"choices": [
{
"index": 0,
"delta": {
"content": "Hello! "
},
"finish_reason": null
}
]
} | Li-frame, ka tatellano | delta | finish_reason |
|---|---|---|
| Ha model e ntse e nahana. Li-frame tse ka bang zero kapa tse ngata. | {"reasoning_content": "…"} | null |
| Karabo, sekhechana ka sekhechana. Li-frame tse ka bang zero kapa tse ngata. | {"content": "…"} | null |
Frame ea ho qetela ea JSON. E boetse e nka usage; ha u hloke ho e kopa. | {} | "stop" |
Qetello ea stream: mohala oa data: [DONE]. |
- Karabo e na le boemo ba
200lecontent-type: text/event-stream. Frame e 'ngoe le e 'ngoe ke mohaladata: <json>o latelwang ke mohala o se nang letho. - Mohala oa
: pingo fihla ka mor'a metsotsoana e 15 e 'ngoe le e 'ngoe. Ke maikutlo a bulang connection; li-client tsa SSE lia o tlola. - Ho hloleha ka mor'a hore stream e bulehe ho fihla e le frame
data: {"error": {…}}. Boemo bo lula bo le200, kahoo hlahloba li-frame.
Haeba kopo e hloleha
Phoso ke ntho ea JSON e nang le error e nang le type le message. Tsena ke likarabo tseo kopo ea pele hangata e kopanang le tsona.
| Boemo | Mofuta | Molaetsa | Seo se se bolelang |
|---|---|---|---|
401 | authentication_error | Missing authentication | Ha ho senotlolo se fihlileng ho API. Romela Authorization: Bearer e latelwang ke senotlolo sa hau. |
401 | authentication_error | Invalid API key | Senotlolo hase senotlolo sa hajoale sa akhaonte. Se kopitse hape ho tsoa Keys & usage. |
400 | invalid_request_error | unknown model: <id> | model hase id e phatlalalitsoeng. Sebelisa id ho tsoa Models & pricing. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type… | Field e na le mofuta o fosahetseng oa JSON, kapa messages ha e eo. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | Output budget ea kopo ha e kene ho balance ea hau. |
Moo u ka yang teng ka mor'a moo
- Li-model le litheko — Khetha model: li-id, context window le litheko.
- Chat Completions — Field e 'ngoe le e 'ngoe ea kopo, field ea karabo le event ea stream ea endpoint eo u e bitsitseng.
- Phallela — Li-frame tsa stream, mela ea keep-alive le liphoso ka hare ho stream.
- Mekhosi ya mesebetsi — Lumella model hore e bitse li-function tsa hau.
- Meeli le balance — Seo kopo e se behelang thoko le seo e se jang, le hore na u ka romela likopo tse kae.
- API Playground — Leka likopo ka browser ka senotlolo sa hau.