Dilysu
Mae pob cais yn cario eich allwedd API mewn pennawd. Mae un allwedd i bob cyfrif yn gweithio ar bob pwynt terfyn a phob model, yn y naill neu'r llall o ddwy ffurf pennawd.
Authorization: Bearer YOUR_API_KEY x-api-key: YOUR_API_KEY Penawdau a dderbynnir
Darllenir y ddau bennawd ar bob pwynt terfyn /v1, pa bynnag fformat y mae'r pwynt terfyn yn ei siarad. Anfonwch un ohonynt.
| Pennawd | Disgrifiad |
|---|---|
Authorization: Bearer <key> | Gwirir yn gyntaf. Ysgrifennwch Bearer gyda B fawr ac un bwlch cyn yr allwedd. Mae SDKs OpenAI yn anfon y pennawd hwn. |
x-api-key: <key> | Fe'i darllenir pan nad oes gan y cais bennawd Authorization: Bearer. Mae SDKs Anthropic yn anfon y pennawd hwn. |
Gydag SDK OpenAI, gosodwch yr allwedd a'r URL sylfaenol; mae'r SDK yn anfon 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!"}
]
}' Gydag SDK Anthropic, gosodwch yr allwedd a'r URL sylfaenol heb /v1; mae'r SDK yn anfon 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!"}
]
}' Pa bwyntiau terfyn sydd angen allwedd
| Pwyntter | Allwedd |
|---|---|
POST /v1/chat/completions | Gofynnol |
POST /v1/messages | Gofynnol |
POST /v1/responses | Gofynnol |
POST /v1/tokenize | Gofynnol |
POST /v1/messages/count_tokens | Gofynnol |
GET /v1/models | Dim angen |
Eich allwedd
- Mae allwedd yn
sk-ac yna 43 nod oA–Z,a–z,0–9,-a_: 46 nod i gyd. - Mae gan bob cyfrif un allwedd yn union. Fe'i crëir y tro cyntaf i chi agor Allweddi a defnydd.
- Mae'r allwedd yn rhoi mynediad llawn i'r API ar gyfer eich cyfrif: pob pwynt terfyn, pob model a'r balans cyfan.
- Nid oes gan allwedd ddyddiad dod i ben. Mae'n gweithio nes i chi ei chylchdroi neu ei dirymu.
Cylchdroi a dirymu
Rydych yn cylchdroi ac yn dirymu'r allwedd ar y dudalen Allweddi a defnydd. Allweddi a defnydd
| Gweithred | Beth sy'n digwydd |
|---|---|
| Cylchdroi | Cyhoeddir allwedd newydd ac mae'r hen allwedd yn rhoi'r gorau i weithio. Mae'r allwedd newydd yn gweithio ar unwaith. |
| Dirymu | Mae'r allwedd yn rhoi'r gorau i weithio ac ni chyhoeddir allwedd newydd. Cylchdroiwch i gael allwedd sy'n gweithio eto. |
- Mae'r ddau yn dod i rym ar unwaith: atebir y cais nesaf gyda'r hen allwedd â
401. Ystyriwch 60 eiliad fel y terfyn uchaf cyn i'r hen allwedd gael ei gwrthod ym mhobman. - Mae pob cleient o'r cyfrif yn defnyddio'r un allwedd, felly mae cylchdroi yn effeithio ar bob un ohonynt. Rhowch yr allwedd newydd yn eich cleientiaid yn syth ar ôl i chi gylchdroi.
- Mae balans, defnydd ac amddiffyniad rhag llifogydd yn perthyn i'r cyfrif, nid i'r allwedd. Mae allwedd newydd yn parhau gyda'r un balans a'r un cyfrif ceisiadau ar gyfer y funud gyfredol.
Gwallau
Mae gan bob methiant dilysu statws 401 a'r math authentication_error. Mae'r neges yn gwahaniaethu rhwng yr achosion.
| Statws | Math | Neges | Pryd |
|---|---|---|---|
401 | authentication_error | Missing authentication | Nid oes gan y cais bennawd Authorization: Bearer na phennawd x-api-key sy'n dechrau â sk-. Dyma hefyd yr ateb i bearer mewn llythrennau bach ac i werth Authorization heb Bearer. |
401 | authentication_error | Invalid API key | Nid yw'r allwedd yn allwedd gyfredol cyfrif: mae wedi'i chamdeipio, wedi'i dirymu, neu wedi'i disodli gan gylchdroi. |
{
"error": {
"type": "authentication_error",
"message": "Invalid API key",
"code": "invalid_api_key",
"param": null
}
} {
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
} - Ar bob llwybr ac eithrio
/v1/messagesmae'r gwrthrycherrorhefyd yn cynnwyscode: "invalid_api_key", ar gyfer allwedd ar goll hefyd, aparam: null. - Gwirir yr allwedd cyn darllen y corff. Mae cais heb allwedd ddilys yn cael
401hyd yn oed pan fo'i gorff yn annilys neu'n rhy fawr. - Ni chaiff gwerth
Authorization: Bearernad yw'n dechrau âsk-ei drin fel allwedd API. Mae'n cael401gyda neges bod y token yn annilys neu wedi dod i ben.
Porwyr a CORS
- Mae'r API yn ateb ceisiadau porwr traws-darddiad yn unig ar gyfer rhestr benodol o darddiadau. Ni all JavaScript ar dudalen o darddiad arall ddarllen atebion
/v1. - Galwch yr API o'ch gweinydd a gadewch i'ch tudalen siarad â'ch gweinydd. Mae hynny hefyd yn cadw'r allwedd allan o ffynhonnell y dudalen.
- Nid yw'r rheol hon yn effeithio ar god ochr y gweinydd nac offer llinell orchymyn: dim ond porwyr sy'n ei chymhwyso.
- Nid yw mewngofnodi ar shannon-ai.com yn dilysu ceisiadau
/v1. Ni ddarllenir cwcis yno; yr allwedd yw'r unig gymhwyster. - Ar gyfer tarddiad a ganiateir, caiff porwr anfon
content-type,authorization,x-api-key,anthropic-version,anthropic-beta,openai-betaacx-request-id, a chaiff ddarllen pennawd yr atebx-request-id.
Cadw'r allwedd yn ddiogel
- Cadwch yr allwedd ar weinydd. Peidiwch â'i rhoi mewn tudalennau gwe, apiau symudol na storfeydd cyhoeddus: gall unrhyw un sy'n ei dal wario eich balans cyfan.
- Llwythwch yr allwedd o newidyn amgylchedd neu storfa gyfrinachau yn lle ei hysgrifennu i'r cod.
- Os gallai'r allwedd fod wedi gollwng, cylchdroiwch hi ar Allweddi a defnydd. Mae'r hen allwedd yn rhoi'r gorau i weithio ar unwaith.
- Ar ôl gollyngiad, darllenwch y rhestr ceisiadau ar Allweddi a defnydd. Mae'n dangos pob cais a wnaeth yr allwedd yn ystod y 30 diwrnod diwethaf.