Uqinisekiso
Isicelo ngasinye sithwala i-API key yakho kwi-header. Isitshixo esinye kuyo nayiphi na iakhawunti sisebenza kuyo yonke i-endpoint nakuyo yonke imodeli, ngenye yeefom ezimbini zeheader.
Authorization: Bearer YOUR_API_KEY x-api-key: YOUR_API_KEY Ii-header ezamkelweyo
Zombini ii-header ziyafundwa kuyo yonke i-endpoint ye-/v1, nokuba yiyiphi ifomethi i-endpoint ethetha ngayo. Thumela enye kuzo.
| Header | Inkcazelo |
|---|---|
Authorization: Bearer <key> | Iphononongwa kuqala. Bhala i-Bearer ngoonobumba abakhulu B nesithuba esinye phambi kwesitshixo. Ii-SDK ze-OpenAI zithumela le header. |
x-api-key: <key> | Ifundwa xa isicelo singenayo i-header ye-Authorization: Bearer. Ii-SDK ze-Anthropic zithumela le header. |
Nge-SDK ye-OpenAI, seta isitshixo ne-base URL; i-SDK ithumela i-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!"}
]
}' Nge-SDK ye-Anthropic, seta isitshixo ne-base URL ngaphandle kwe-/v1; i-SDK ithumela i-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!"}
]
}' Zeziphi ii-endpoint ezifuna isitshixo
| Endpoint | Isitshixo |
|---|---|
POST /v1/chat/completions | Kuyafuneka |
POST /v1/messages | Kuyafuneka |
POST /v1/responses | Kuyafuneka |
POST /v1/tokenize | Kuyafuneka |
POST /v1/messages/count_tokens | Kuyafuneka |
GET /v1/models | Akufuneki |
Isitshixo sakho
- Isitshixo yi-
sk-elandelwa zinhlobo ezingama-43 ezisuka kwi-A–Z,a–z,0–9,-kunye ne-_: zizonke zinhlobo ezingama-46. - Iakhawunti nganye inesitshixo esinye kanye. Senziwa ngokuqala kwakho ukuvula Izitshixo nokusetyenziswa.
- Isitshixo sinika ukufikelela okupheleleyo kwi-API yeakhawunti yakho: yonke i-endpoint, yonke imodeli kunye nebhalansi yonke.
- Isitshixo asinalo ixesha lokuphelelwa. Sisebenza de usitshintshe okanye usirhoxise.
Tshintsha kwaye urhoxise
Utshintsha kwaye urhoxisa isitshixo kwiphepha leZitshixo nokusetyenziswa. Izitshixo nokusetyenziswa
| Isenzo | Okwenzekayo |
|---|---|
| Tshintsha | Kunikezelwa isitshixo esitsha kwaye esidala siyayeka ukusebenza. Isitshixo esitsha sisebenza ngoko nangoko. |
| Rhoxisa | Isitshixo siyayeka ukusebenza kwaye akukho sitshixo sitsha sinikezelwayo. Tshintsha ukuze ufumane isitshixo esisebenzayo kwakhona. |
- Zombini zisebenza ngoko nangoko: isicelo esilandelayo esinesitshixo esidala siphendulwa nge-
401. Thatha imizuzwana engama-60 njengomda ophezulu phambi kokuba isitshixo esidala siyenqatshwe kwindawo yonke. - Zonke ii-client zeakhawunti zisebenzisa isitshixo esinye, ngoko ukutshintsha kufikelela kuzo zonke. Faka isitshixo esitsha kwii-client zakho kwakamsinya emva kokutshintsha.
- Ibhalansi, ukusetyenziswa ne-flood protection zezeakhawunti, hayi zesitshixo. Isitshixo esitsha siqhubeka nebhalansi enye nenani elinye lezicelo kumzuzu wangoku.
Iimpazamo
Ukusilela ngalinye kokuqinisekisa kunesimo 401 nohlobo authentication_error. Umyalezo ubonisa umahluko phakathi kweemeko.
| Isimo | Uhlobo | Umyalezo | Xa |
|---|---|---|---|
401 | authentication_error | Missing authentication | Isicelo asinayo i-header ye-Authorization: Bearer okanye i-header ye-x-api-key eqala nge-sk-. Eli nalo lipendulo ye-bearer ngoonobumba abancinci nakwixabiso le-Authorization ngaphandle kwe-Bearer. |
401 | authentication_error | Invalid API key | Isitshixo asiso isitshixo samanje seakhawunti: sibhalwe kakubi, sirhoxisiwe, okanye sithatyathelwe indawo kukutshintsha. |
{
"error": {
"type": "authentication_error",
"message": "Invalid API key",
"code": "invalid_api_key",
"param": null
}
} {
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
} - Kuyo yonke indlela ngaphandle kwe-
/v1/messagesinto ye-erroribamba ne-code: "invalid_api_key", nakwisitshixo esilahlekileyo, kunye ne-param: null. - Isitshixo siphononongwa phambi kokuba umzimba ufundwe. Isicelo esingenasitshixo esisebenzayo sifumana i-
401nokuba umzimba waso awusebenzi okanye mkhulu kakhulu. - Ixabiso le-
Authorization: Bearerelingaqali nge-sk-alithathwa njenge-API key. Lifumana i-401kunye nomyalezo wokuba i-token ayisebenzi okanye iphelelwe lixesha.
Amabrawuza ne-CORS
- I-API iphendula izicelo zebrawuza ze-cross-origin kuphela kuluhlu olungatshintshiyo lweendawo. I-JavaScript kwiphepha lenye indawo ayikwazi ukufunda iimpendulo ze-
/v1. - Biza i-API kwi-server yakho uvumele iphepha lakho lithethe ne-server yakho. Oko kugcina nesitshixo singekho kwikhowudi yomthombo wephepha.
- Ikhowudi ye-server-side nezixhobo zomgca womyalelo azichatshazelwa: lo mthetho usetyenziswa ngamabrawuza kuphela.
- Ukungena kwi-shannon-ai.com akuqinisekisi izicelo ze-
/v1. Iincwadana azifundwa apho; isitshixo kuphela yimvume. - Kwindawo evunyelweyo, ibrawuza inokuthumela i-
content-type,authorization,x-api-key,anthropic-version,anthropic-beta,openai-betakunye ne-x-request-id, kwaye inokufunda i-header yempendulo ye-x-request-id.
Ukugcina isitshixo sikhuselekile
- Gcina isitshixo kwi-server. Ungasifaki kumaphepha ewebhu, kwii-app zefowuni okanye kwii-repository zawonke-wonke: nabani na onaso angasebenzisa yonke ibhalansi yakho.
- Layisha isitshixo kwi-environment variable okanye kwindawo yeemfihlo kunokuba sibhalwe kwikhowudi.
- Ukuba isitshixo sinokuba sivuzile, sitshintshe kwiZitshixo nokusetyenziswa. Isitshixo esidala siyayeka ukusebenza ngoko nangoko.
- Emva kokuvuza, funda uluhlu lwezicelo kwiZitshixo nokusetyenziswa. Libonisa isicelo ngasinye esenziwe sisitshixo kwiintsuku ezingama-30 zokugqibela.