Kutsimikizira
Pempho lililonse limakhala ndi API key yanu mu header. Kiyi imodzi pa akaunti imagwira ntchito pa endpoint iliyonse ndi model iliyonse, mu mitundu iwiri ya header.
Authorization: Bearer YOUR_API_KEY x-api-key: YOUR_API_KEY Ma header ovomerezeka
Ma header onse awiri amawerengedwa pa endpoint iliyonse ya /v1, mosasamala mtundu womwe endpoint imalankhula. Tumizani imodzi yokha.
| Header | Kufotokozera |
|---|---|
Authorization: Bearer <key> | Imayang'aniridwa poyamba. Lembani Bearer ndi B yayikulu komanso space imodzi patsogolo pa kiyi. Ma OpenAI SDK amatumiza header iyi. |
x-api-key: <key> | Imawerengedwa pamene pempho lilibe header ya Authorization: Bearer. Ma Anthropic SDK amatumiza header iyi. |
Ndi OpenAI SDK, khazikitsani kiyi ndi base URL; SDK imatumiza 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!"}
]
}' Ndi Anthropic SDK, khazikitsani kiyi ndi base URL yopanda /v1; SDK imatumiza 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!"}
]
}' Ma endpoint omwe amafuna kiyi
| Endpoint | Kiyi |
|---|---|
POST /v1/chat/completions | Imafunika |
POST /v1/messages | Imafunika |
POST /v1/responses | Imafunika |
POST /v1/tokenize | Imafunika |
POST /v1/messages/count_tokens | Imafunika |
GET /v1/models | Siifunika |
Kiyi yanu
- Kiyi ndi
sk-yotsatiridwa ndi zilembo 43 zochokera kuA–Z,a–z,0–9,-ndi_: zilembo 46 zonse pamodzi. - Akaunti iliyonse ili ndi kiyi imodzi yokha. Imapangidwa nthawi yoyamba yomwe mutsegula Keys & usage.
- Kiyi imapereka mwayi wonse wa API wa akaunti yanu: endpoint iliyonse, model iliyonse ndi balance yonse.
- Kiyi ilibe tsiku lotha. Imagwira ntchito mpaka mutaisintha kapena kuithetsa.
Kusintha ndi kuthetsa
Mumasintha ndi kuthetsa kiyi patsamba la Keys & usage. Keys & usage
| Zochita | Zomwe zimachitika |
|---|---|
| Kusintha | Kiyi yatsopano imaperekedwa ndipo kiyi yakale imasiya kugwira ntchito. Kiyi yatsopano imagwira ntchito nthawi yomweyo. |
| Kuthetsa | Kiyi imasiya kugwira ntchito ndipo palibe kiyi yatsopano yomwe imaperekedwa. Sinthani kuti mupezenso kiyi yogwira ntchito. |
- Zonse ziwiri zimagwira ntchito nthawi yomweyo: pempho lotsatira ndi kiyi yakale limayankhidwa ndi
401. Ganizirani masekondi 60 ngati malire apamwamba kuti kiyi yakale ikanidwe kulikonse. - Client iliyonse ya akauntiyo imagwiritsa ntchito kiyi yomweyo, choncho rotation imafika onse. Ikani kiyi yatsopano mu ma client anu mukangosintha.
- Balance, usage ndi flood protection ndi za akaunti, osati za kiyi. Kiyi yatsopano imapitiriza ndi balance yomweyo komanso chiwerengero chomwecho cha ma pempho a mphindi yomwe ilipo.
Zolakwika
Cholakwika chilichonse cha authentication chimakhala ndi status 401 ndi type authentication_error. Message imasiyanitsa zochitikazo.
| Status | Mtundu | Message | Liti |
|---|---|---|---|
401 | authentication_error | Missing authentication | Pempho lilibe header ya Authorization: Bearer kapena header ya x-api-key yoyambira ndi sk-. Ili ndilonso yankho la bearer m'zilembo zazing'ono komanso la mtengo wa Authorization wopanda Bearer. |
401 | authentication_error | Invalid API key | Kiyi si kiyi yamakono ya akaunti: yalembedwa molakwika, yathetsedwa, kapena yasinthidwa ndi rotation. |
{
"error": {
"type": "authentication_error",
"message": "Invalid API key",
"code": "invalid_api_key",
"param": null
}
} {
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
} - Pa njira iliyonse kupatula
/v1/messages, object yaerrorimakhalanso ndicode: "invalid_api_key", ngakhale kiyi ikusowa, ndiparam: null. - Kiyi imayang'aniridwa body isanawerengedwe. Pempho lopanda kiyi yovomerezeka limalandira
401ngakhale body yake siili yolondola kapena ndi yaikulu kwambiri. - Mtengo wa
Authorization: Bearerwomwe sunayambe ndisk-sumatengedwa ngati API key. Umalandira401ndi message yonena kuti token siyovomerezeka kapena yatha.
Ma browser ndi CORS
- API imayankha ma pempho a browser ochokera ku origin ina pa mndandanda wokhazikika wa ma origin okha. JavaScript yomwe ili patsamba la origin ina siingawerenge mayankho a
/v1. - Itanani API kuchokera pa server yanu ndipo tsamba lanu lilankhule ndi server yanu. Izi zimasunganso kiyi kutali ndi source ya tsamba.
- Code ya pa server ndi zida za command-line sizikukhudzidwa: lamuloli limagwiritsidwa ntchito ndi ma browser okha.
- Kulowa pa shannon-ai.com sikutsimikizira ma pempho a
/v1. Ma cookie sawerengedwa kumeneko; kiyi ndi chizindikiro chokha. - Pa origin yolola, browser ikhoza kutumiza
content-type,authorization,x-api-key,anthropic-version,anthropic-beta,openai-betandix-request-id, ndi kuwerenga header ya yankhox-request-id.
Kusunga kiyi mosamala
- Sungani kiyi pa server. Musaiike mu masamba a web, mobile app kapena repository yapagulu: aliyense amene ali nayo amatha kugwiritsa ntchito balance yanu yonse.
- Tengani kiyi kuchokera ku environment variable kapena secret store m'malo moilemba mu code.
- Ngati kiyi mwina yatayikira, isinthireni pa Keys & usage. Kiyi yakale imasiya kugwira ntchito nthawi yomweyo.
- Pambuyo pa kutayikira, werengani mndandanda wa ma pempho pa Keys & usage. Umaonetsa pempho lililonse lomwe kiyi yapanga m'masiku 30 apitawa.