Developer guide
Նույնականացում API բանալիով
API բանալին ներառող վերնագիրը և SDK-ում սահմանվող base URL-ը
Այս էջում ներկայացվում է, թե ինչպես նույնականացվել CLEVI gateway-ում API բանալիով։
Ե՛վ OpenAI-ի հետ համատեղելի, և՛ Anthropic-ի հետ համատեղելի ուղիներում նույնականացումն իրականացվում է մեկ բանալիով,
սակայն բանալին ներառող վերնագրի թույլատրելի շրջանակը և SDK-ում սահմանվող base URL-ը տարբերվում են՝ կախված ստանդարտից։
Նույնականացման վերնագիր
Երկու համատեղելի ստանդարտներում էլ նույնականացումն իրականացվում է մեկ API բանալիով։ Բանալին տրամադրվում է վահանակի API բանալիների էջում, որտեղ նույնպես կարելի է կառավարել դրա չեղարկումն ու օգտագործման շրջանակը։
| Վերնագիր | OpenAI-ի հետ համատեղելի | Anthropic-ի հետ համատեղելի |
|---|---|---|
| X-API-Key: <키> | Թույլատրվում է | Թույլատրվում է |
| Authorization: Bearer <키> | Թույլատրվում է | Թույլատրվում է |
| Authorization: <키> (առանց Bearer-ի) | Մերժվում է | Թույլատրվում է |
Վերնագրի անունները մեծատառերի և փոքրատառերի նկատմամբ զգայուն չեն։ Anthropic SDK-ի կողմից ուղարկվող x-api-key-ը նույնպես աշխատում է անփոփոխ։
base URL
Ձեր օգտագործած SDK-ն կաշխատի անփոփոխ, եթե միայն base URL-ը փոխեք ստորև նշված հասցեով։ Երկու հասցեները տարբերվում են նրանով, թե ներառում են /v1-ը, թե ոչ։
| Ստանդարտ | base URL | Ուղու կանոն |
|---|---|---|
| OpenAI-ի հետ համատեղելի | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Մինչև /v1-ը ներառեք base URL-ում։ |
| Anthropic-ի հետ համատեղելի | https://platform.clevi.net/api/v2/aiservice/anthropic | Քանի որ Anthropic SDK-ն ինքնուրույն ավելացնում է /v1-ը ուղուն, հասցեն ավարտվում է /v1-ից առաջ։ |
Նույնականացման ստուգում
Մուտքագրեք բանալին և base URL-ը, ապա ստացեք մոդելների ցանկը՝ նույնականացման կարգավիճակն անմիջապես ստուգելու համար։ Ստորև նույն հարցումը կատարվում է curl-ի, OpenAI SDK-ի և Anthropic SDK-ի միջոցով։
curl https://platform.clevi.net/api/v2/aiservice/openai/v1/models \
-H "X-API-Key: sk-..."
curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/models \
-H "Authorization: Bearer sk-..." \
-H "anthropic-version: 2023-06-01"from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/openai/v1",
)
for model in client.models.list():
print(model.id)from anthropic import Anthropic
client = Anthropic(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/anthropic",
)
for model in client.models.list(limit=20).data:
print(model.id)sk-... տեղում տեղադրեք API բանալիների էջում տրամադրված բանալին։
- Եթե պատասխանը 200 է, նույնականացումը հաջողված է։ data-ում ներառված է այս բանալիով կանչելի մոդելների ցանկը։
- Եթե պատասխանը 401 է, ստուգեք՝ հետևելով ստորև ներկայացված «Նույնականացման ձախողում» բաժնի հերթականությանը։
Միասին օգտագործվող վերնագիր
Բոլորը ընտրովի են։ Խնդիրը հետևելու համար խորհուրդ է տրվում ներառել X-Request-Id-ը։
| Վերնագիր | Նպատակ | Եթե բաց թողնվի |
|---|---|---|
| X-Request-Id | Հարցմանը հետևելու նույնացուցիչ։ Anthropic-ին համատեղելի պատասխաններում վերադարձվում է որպես request-id վերնագիր։ | Տրվում է սերվերի կողմից։ |
| X-Region-Code | Կանչի տարածաշրջան | global է։ |
| X-Product-Sku (հնարավոր է նաև query product_sku-ով) | Ուղղակիորեն սահմանում է Product SKU-ն, որն օգտագործվելու է հաշվարկման համար։ Վերնագիրը գերակայում է query-ի նկատմամբ և հիմնականում օգտագործվում է ձայնային·voice ուղիներում։ | voice ուղիներում անհրաժեշտ է։ audio/speech և audio/transcriptions ուղիները Product-ն ընտրում են մարմնի model-ով։ |
| anthropic-version / anthropic-beta | Anthropic-ին համատեղելի ուղիներում փոխանցվում է անփոփոխ։ | Տարբերակը 2023-06-01 է։ |
Նույնականացման ձախողում
Եթե բանալի չկա կամ ուղարկվում է ժամկետանց կամ չեղարկված բանալի, վերադարձվում է 401։ OpenAI-ին համատեղելի ուղում առանց բանալու կանչ կատարելիս ստացվում է ստորև ներկայացված մարմինը, իսկ Anthropic-ին համատեղելի ուղու error.type-ը authentication_error է։
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- API բանալիների էկրանին ստուգեք բանալու կարգավիճակը։ Եթե այն ժամկետանց կամ չեղարկված է, ստեղծեք նորը։
- Ստուգեք՝ վերնագրի անունը X-API-Key է, թե Authorization։
- Եթե OpenAI-ին համատեղելի ուղում օգտագործում եք Authorization-ը, ստուգեք Bearer նախածանցը։
