Tòiseachadh Luath
Dèan a’ chiad iarrtas: faigh d’ iuchair, cuir aon teachdaireachd agus leugh am freagairt. Tha an API a’ bruidhinn nan cruthan OpenAI agus Anthropic, agus mar sin obraichidh an SDK a tha thu a’ cleachdadh mu thràth às dèidh dhut a base URL agus an iuchair atharrachadh.
1. Faigh d’ iuchair
Tha aon iuchair API aig gach cunntas. Clàraich a-steach, fosgail Keys & usage agus dèan lethbhreac dhith. Obraichidh an iuchair air gach endpoint agus gach modail. Iuchraichean & cleachdadh
2. Seòl do client dhan API
Tha na h-endpoints uile fon aon base URL. Gabhaidh OpenAI SDK e le /v1 aig a’ cheann; gabhaidh Anthropic SDK e às aonais, oir cuiridh e /v1/messages ris fhèin.
| Client | Base URL |
|---|---|
| OpenAI SDKan agus clients co-chòrdail ri OpenAI | https://api.shannon-ai.com/v1 |
| Anthropic SDKan | https://api.shannon-ai.com |
Bidh trì endpoints a’ toirt a-mach teacsa. Ruigidh iad na h-aon mhodailean; tagh am fear aig a bheil cruth a tha do chòd mu thràth a’ cleachdadh.
| Endpoint | Cruth |
|---|---|
POST /v1/chat/completions | OpenAI Chat Completions |
POST /v1/messages | Anthropic Messages |
POST /v1/responses | OpenAI Responses |
3. Cuir a’ chiad iarrtas
Cuir aon teachdaireachd user gu shannon-3 air endpoint Chat Completions. Cuir d’ iuchair an àite 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) 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
}' | Raon | Seòrsa | Bun-roghainn | Tuairisgeul |
|---|---|---|---|
model | string | Id a’ mhodail a fhreagras. Tha na ids air an liostadh air Models & pricing. | |
messages | array | An còmhradh gu ruige seo: nithean le role agus content. Is e an teachdaireachd user mu dheireadh am prompt. Riatanach. | |
max_tokens | integer | 4096 | Buidseat cuir-a-mach an iarrtais, bho 1 gu 65,536. Glèidhidh an t-iarrtas an t-suim seo bho do balance agus thèid cosgais a chuir air na chleachd e da-rìribh. |
stream | boolean | false | Cuiridh true am freagairt pios air phios fhad ’s a thèid a sgrìobhadh. |
Is e JSON a th’ ann am bodhaig an iarrtais agus tha feum air an header Content-Type: application/json. Tha an liosta iomlan de raointean air duilleag an endpoint. Chat Completions
Am freagairt
Tillidh gairm gun stream aon nì JSON nuair a tha am freagairt coileanta. Is e eisimpleirean a th’ anns na teacsaichean agus na h-àireamhan gu h-ìosal.
{
"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
}
} | Raon | Seòrsa | Tuairisgeul |
|---|---|---|
id | string | chatcmpl- agus an uair sin 32 caractar hexadecimal. |
object | string | An-còmhnaidh chat.completion. |
created | integer | Àm an fhreagairt ann an diogan Unix. |
model | string | Id foillsichte a’ mhodail a fhreagair, cuideachd nuair a chuir thu alias no litreachadh eile. |
choices | array | An-còmhnaidh aon inntrigeadh, le index 0. |
choices[0].message.role | string | An-còmhnaidh assistant. |
choices[0].message.content | string | null | Am freagairt. Faodaidh e a bhith null nuair a tha tool_calls anns an fhreagairt. |
choices[0].message.reasoning_content | string | null | Reasoning a’ mhodail ro fhreagairt, no null mura h-eil gin ann. |
choices[0].message.tool_calls | array | Ri fhaighinn dìreach nuair a ghairmeas am modail fear dhe na h-innealan a dh’innis thu. |
choices[0].finish_reason | string | stop airson freagairt, tool_calls nuair a ghairmeas am modail inneal. |
usage.prompt_tokens | integer | Na tokens a leugh am modail airson am freagairt seo. Air shannon-2-* agus teaghlach Shannon 3 faodaidh seo a bhith nas motha na an teacsa a chuir thu. |
usage.completion_tokens | integer | Na tokens a sgrìobh am modail. |
usage.total_tokens | integer | An t-iomlan. Thèid cosgais modail Shannon a thomhas on àireamh seo. |
- Tha cunntasan tokens ann an
usage, chan e airgead. Thèid na thug a’ ghairm bho do balance a shealltainn gach iarrtas air Keys & usage; tha mar a thèid a thomhas air Limits and balance. Crìochan agus balance - Tha an header
x-request-idaig gach freagairt, cuideachd mearachd agus stream. Ma tha headerx-request-idaig d’ iarrtas, thig a luach air ais; ma tha e dhìth, tha an luach 12 caractar hexadecimal. Cùm e anns na logaichean agad: bheir e ainm dhan aon iarrtas seo.
An aon ghairm mar stream
Suidhich stream gu true gus am freagairt a leughadh fhad ’s a thèid a sgrìobhadh. Tha a h-uile càil eile san iarrtas mar a bha.
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
}' Tha gach frèam dhen stream na aon loidhne a thòisicheas le data: agus anns a bheil nì JSON. Aon fhrèam, clò-bhuailte air grunn loidhnichean:
{
"id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
"object": "chat.completion.chunk",
"created": 1791590400,
"model": "shannon-3",
"choices": [
{
"index": 0,
"delta": {
"content": "Hello! "
},
"finish_reason": null
}
]
} | Frèamaichean, nan òrdugh | delta | finish_reason |
|---|---|---|
| Fhad ’s a nì am modail reasoning. Neoni no barrachd frèamaichean. | {"reasoning_content": "…"} | null |
| Am freagairt, pios air phios. Neoni no barrachd frèamaichean. | {"content": "…"} | null |
An frèam JSON mu dheireadh. Tha usage ann cuideachd; chan fheum thu iarraidh. | {} | "stop" |
Deireadh an stream: an loidhne data: [DONE]. |
- Tha staid
200aguscontent-type: text/event-streamaig an fhreagairt. Tha gach frèam na loidhnedata: <json>agus loidhne fhalamh às a dhèidh. - Tha loidhne
: pinga’ ruighinn gach 15 diogan. Is e beachd a th’ ann a chumas an ceangal fosgailte; leumaidh clients SSE thairis air. - Thig fàilligeadh às dèidh fosgladh an stream mar fhrèam
data: {"error": {…}}. Fuirichidh an staid200, agus mar sin sgrùd na frèamaichean.
Ma dh’fhàilligeas a’ ghairm
Is e nì JSON le error a th’ ann am mearachd anns a bheil type agus message. Seo na freagairtean a choinnicheas a’ chiad ghairm as trice.
| Staid | Seòrsa | Teachdaireachd | Dè tha e a’ ciallachadh |
|---|---|---|---|
401 | authentication_error | Missing authentication | Cha do ràinig iuchair an API. Cuir Authorization: Bearer agus an uair sin d’ iuchair. |
401 | authentication_error | Invalid API key | Chan e an iuchair seo an iuchair làithreach aig cunntas. Dèan lethbhreac dhith a-rithist o Keys & usage. |
400 | invalid_request_error | unknown model: <id> | Chan e id foillsichte a th’ ann an model. Cleachd id o Models & pricing. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type… | Tha seòrsa JSON ceàrr air raon, no tha messages a dhìth. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | Chan eil buidseat cuir-a-mach an iarrtais a’ freagairt ri do balance. |
Càit an tèid thu an ath rud
- Modailean & prìsean — Tagh modail: ids, uinneagan co-theacsa agus prìsean.
- Chat Completions — Gach raon iarrtais, raon freagairt agus tachartas stream dhen endpoint a ghairm thu.
- Sruthadh — Frèamaichean stream, loidhnichean keep-alive agus mearachdan am broinn stream.
- Call gnìomh — Leig leis a’ mhodail na gnìomhan agad a ghairm.
- Crìochan agus balance — Dè a tha iarrtas a’ glèidheadh agus a’ cosg, agus cia mheud iarrtas a dh’fhaodas tu a chur.
- Raon-cluiche API — Feuch iarrtasan sa bhrobhsair le d’ iuchair.