Netefatso
Kopo e 'ngoe le e 'ngoe e nka senotlolo sa hau sa API ho header. Senotlolo se le seng ka akhaonte se sebetsa ho endpoint e 'ngoe le e 'ngoe le model e 'ngoe le e 'ngoe, ka e 'ngoe ea mefuta e 'meli ea header.
Authorization: Bearer YOUR_API_KEY x-api-key: YOUR_API_KEY Li-header tse amohelwang
Li-header tsena ka bobeli li baloa endpoint e 'ngoe le e 'ngoe ea /v1, ho sa tsotellehe hore na endpoint e bua sebopeho sefe. Romela e le 'ngoe ea tsona.
| Header | Tlhaloso |
|---|---|
Authorization: Bearer <key> | E hlahlojoa pele. Ngola Bearer ka B e kholo le sebaka se le seng pele ho senotlolo. Li-SDK tsa OpenAI li romela header ena. |
x-api-key: <key> | E baloa ha kopo e se na header ea Authorization: Bearer. Li-SDK tsa Anthropic li romela header ena. |
Ka SDK ea OpenAI, beha senotlolo le base URL; SDK e romela Authorization: Bearer.
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) 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!' }
]
});
console.log(response.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!"}
]
}' Ka SDK ea Anthropic, beha senotlolo le base URL ntle le /v1; SDK e romela x-api-key.
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com"
)
message = client.messages.create(
model="shannon-3",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Shannon!"}
]
)
print("".join(block.text for block in message.content if block.type == "text")) import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com'
});
const message = await client.messages.create({
model: 'shannon-3',
max_tokens: 1024,
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
]
});
console.log(message.content.filter((block) => block.type === 'text').map((block) => block.text).join('')); curl -X POST "https://api.shannon-ai.com/v1/messages" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, Shannon!"}
]
}' Hore na li-endpoint life li hloka senotlolo
| Endpoint | Senotlolo |
|---|---|
POST /v1/chat/completions | E hlokahala |
POST /v1/messages | E hlokahala |
POST /v1/responses | E hlokahala |
POST /v1/tokenize | E hlokahala |
POST /v1/messages/count_tokens | E hlokahala |
GET /v1/models | Ha se hlokahale |
Senotlolo sa hau
- Senotlolo ke
sk-e latelwa ke litlhaku tse 43 tse tsoang hoA–Z,a–z,0–9,-le_: litlhaku tse 46 ka kakaretso. - Akhaonte e 'ngoe le e 'ngoe e na le senotlolo se le seng feela. Se etsoa neng kapa neng ha u bula Keys & usage ka lekhetlo la pele.
- Senotlolo se fana ka phihlello e felletseng ho API bakeng sa akhaonte ea hau: endpoint e 'ngoe le e 'ngoe, model e 'ngoe le e 'ngoe le balance eohle.
- Senotlolo ha se na letsatsi la ho fela. Se sebetsa ho fihlela u se fetola kapa u se hlakola.
Fetola le ho hlakola
U fetola mme u hlakola senotlolo leqepheng la Keys & usage. Keys & usage
| Ketso | Se etsahalang |
|---|---|
| Fetola | Senotlolo se secha se fanoa mme se seholo se emisa ho sebetsa. Senotlolo se secha se sebetsa hanghang. |
| Hlakola | Senotlolo se emisa ho sebetsa mme ha ho senotlolo se secha se fanoang. Fetola ho fumana senotlolo se sebetsang hape. |
- Ka bobeli li sebetsa hanghang: kopo e latelang e nang le senotlolo se seholo e arajoa ka
401. Nka metsotsoana e 60 e le moeli o phahameng pele senotlolo se seholo se hanoa hohle. - Moreki e mong le e mong oa akhaonte o sebelisa senotlolo se tšoanang, kahoo phetoho e fihla ho bona bohle. Kenya senotlolo se secha ho barekisi ba hau hang ka mor'a ho fetola.
- Balance, usage le flood protection ke tsa akhaonte, eseng tsa senotlolo. Senotlolo se secha se tsoela pele ka balance e tšoanang le palo e tšoanang ea likopo bakeng sa motsotso oa hajoale.
Liphoso
Ho hloleha ho phethahetseng ho netefatsa ho na le boemo ba 401 le mofuta oa authentication_error. Molaetsa o khetholla linyeoe.
| Boemo | Mofuta | Molaetsa | Neng |
|---|---|---|---|
401 | authentication_error | Missing authentication | Kopo ha e na header ea Authorization: Bearer kapa header ea x-api-key e qalang ka sk-. Ena le eona ke karabo ho bearer ka litlhaku tse nyane le ho boleng ba Authorization bo se nang Bearer. |
401 | authentication_error | Invalid API key | Senotlolo hase senotlolo sa hajoale sa akhaonte: se ngotsoe hampe, se hlakotsoe, kapa se nkeloe sebaka ke phetoho. |
{
"error": {
"type": "authentication_error",
"message": "Invalid API key",
"code": "invalid_api_key",
"param": null
}
} {
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
} - Litseleng tsohle ntle le
/v1/messagesntho eaerrore boetse e na lecode: "invalid_api_key", le bakeng sa senotlolo se sieo, leparam: null. - Senotlolo se hlahlojoa pele body e baloa. Kopo e se nang senotlolo se nepahetseng e fumana
401esita le ha body ea eona e se nepahetse kapa e le telele haholo. - Boleng ba
Authorization: Bearerbo sa qalang kask-ha bo nkoe e le senotlolo sa API. E fumana401e nang le molaetsa oa hore token ha e nepahale kapa e felile.
Li-browser le CORS
- API e araba likopo tsa browser tsa cross-origin feela bakeng sa lenane le tsitsitseng la li-origin. JavaScript leqepheng la origin e 'ngoe e ke ke ea bala likarabo tsa
/v1. - Letsetsa API ho server ea hau mme u lumelle leqephe la hau hore le bue le server ea hau. Sena se boetse se boloka senotlolo ka ntle ho source ea leqephe.
- Code ea ka server le lisebelisoa tsa command-line ha li angoe: molao ona o sebelisoa ke li-browser feela.
- Ho kena ho shannon-ai.com ha ho netefatse likopo tsa
/v1. Li-cookie ha li baloe moo; senotlolo ke credential e le 'ngoe feela. - Bakeng sa origin e lumelletsoeng, browser e ka romela
content-type,authorization,x-api-key,anthropic-version,anthropic-beta,openai-betalex-request-id, mme e ka bala header ea karabox-request-id.
Ho boloka senotlolo se sireletsehile
- Boloka senotlolo ho server. U se ke ua se kenya matlotlo a webe, li-app tsa mohala kapa li-repository tsa sechaba: ea nang le sona a ka sebelisa balance eohle ea hau.
- Kenya senotlolo ho environment variable kapa ho secret store ho e-na le ho se ngola ho code.
- Haeba senotlolo se kanna sa lutla, se fetole ho Keys & usage. Senotlolo se seholo se emisa ho sebetsa hanghang.
- Ka mor'a ho lutla, bala lenane la likopo ho Keys & usage. Le bontša kopo e 'ngoe le e 'ngoe eo senotlolo se e entseng matsatsing a 30 a fetileng.