Dumphani kupita ku zomwe zili
Kutsimikizira

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.

Header · OpenAI SDK
Authorization: Bearer YOUR_API_KEY
Header · Anthropic SDK
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)

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"))

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 ku A–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
  }
}
  • Pa njira iliyonse kupatula /v1/messages, object ya error imakhalanso ndi code: "invalid_api_key", ngakhale kiyi ikusowa, ndi param: null.
  • Kiyi imayang'aniridwa body isanawerengedwe. Pempho lopanda kiyi yovomerezeka limalandira 401 ngakhale body yake siili yolondola kapena ndi yaikulu kwambiri.
  • Mtengo wa Authorization: Bearer womwe sunayambe ndi sk- sumatengedwa ngati API key. Umalandira 401 ndi 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-beta ndi x-request-id, ndi kuwerenga header ya yankho x-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.