Developer guide

Автентикација со API клуч

Заглавието во кое се внесува API клучот и base URL-то што треба да се постави во SDK

CLEVI Gateway ги автентицира патеките компатибилни со OpenAI и патеките компатибилни со Anthropic со еден API клуч.
Вредностите што треба да ги поставите на клиентот се заглавието за автентикација што го содржи клучот и base URL-то на SDK-то. Дозволените формати на заглавието и base URL-то се разликуваат според спецификацијата.
Откако ќе го завршите поставувањето, проверете ја автентикацијата веднаш со преземање на листата на модели.
Ако автентикацијата не успее, се враќа 401. Ако автентикацијата е успешна, но не се исполнети условите за дозволи или ограничувања, се враќа 403.

Издадете API клуч на екранот за API клучеви во конзолата. На истиот екран можете да управувате со отповикувањето на клучот и опсегот на неговата употреба.

Заглавие за автентикација

Двете спецификации го внесуваат API клучот во едно заглавие на барањето. Се користи едно од заглавијата X-API-Key или Authorization, а дозволениот формат зависи од спецификацијата.

ЗаглавиеКомпатибилно со OpenAIКомпатибилно со Anthropic
X-API-Key: <клуч>ДозволеноДозволено
Authorization: Bearer <клуч>ДозволеноДозволено
Authorization: <клуч> (без Bearer)ОдбиеноДозволено

Кога се користи заглавието Authorization во патека компатибилна со OpenAI, потребен е префиксот Bearer. Ако го испратите само клучот без префиксот, Gateway ќе го одбие барањето.

Имињата на заглавијата не се чувствителни на големи и мали букви, па и заглавието x-api-key што го испраќа Anthropic SDK работи без промени. Ако ги наведете двете заглавија, предност има вредноста на X-API-Key.

base URL

Постојниот SDK можете да го користите без промени ако само го замените base URL-то со адресата подолу. Двете адреси се разликуваат по тоа дали го вклучуваат /v1, затоа наведете ја адресата што одговара на спецификацијата.

Спецификацијаbase URLПравило за патеката
Компатибилно со OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Вклучете го /v1 во base URL-то.
Компатибилно со Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicЗавршува пред /v1, бидејќи Anthropic SDK директно го додава /v1 во патеката на барањето.

Проверка на автентикацијата

По поставувањето на клучот и основниот URL, проверете го статусот на автентикацијата со преземање на списокот на модели. Примерите подолу го извршуваат истото барање со curl, OpenAI SDK и Anthropic SDK. На местото на sk-... внесете го клучот издаден на екранот за API клучеви.

При преземање со curl, за двата стандарда наведете ја целосната патека до /v1/models. Првата команда користи заглавие X-API-Key за патеката компатибилна со OpenAI, а втората користи заглавие Authorization за патеката компатибилна со Anthropic.

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"

Во OpenAI SDK наведете адреса што го вклучува /v1 во base_url.

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)

Во Anthropic SDK наведете адреса што завршува пред /v1 во base_url.
За автентикација користете го заглавието x-api-key што го испраќа SDK.

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)

Ако одговорот од кој било пример е 200, автентикацијата е успешна, а data во одговорот содржи список на модели што може да се повикуваат со овој клуч. Ако добиете 401, проверете ја причината според редоследот во следното поглавје.

Неуспешна автентикација

Ако испратите непостоечки, истечен или отповикан клуч, се враќа 401. Кога повикувате патека компатибилна со OpenAI без клуч, се враќа телото подолу, а кај патеката компатибилна со Anthropic error.type е authentication_error.

{
  "error": {
    "message": "API key is required.",
    "type": "invalid_request_error"
  }
}

Ако добиете 401, проверете го следново по овој редослед.

  1. Проверете го статусот на клучот на екранот за API клучеви. Ако е истечен или отповикан, издајте нов.
  2. Проверете дали името на заглавието е X-API-Key или Authorization.
  3. Ако користите заглавие Authorization на патеката компатибилна со OpenAI, проверете дали има префикс Bearer.

По измените, повторно извршете го преземањето на списокот на модели од поглавјето за проверка на автентикацијата и проверете дали се добива 200.

Заглавија што се користат заедно

Сите следни заглавија се опционални. Препорачуваме да наведете 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.

Ако 5xx грешките се повторуваат, известете нè преку помошта и контакт-формуларот, заедно со X-Request-Id. Ако вредноста е одредена директно, може веднаш да се спореди со записите на клиентот.

Јазик и регион

Машински преведените јазици се преведуваат од clevi/cip-5.5-im и се означуваат како такви. Ова се однесува на јазиците со објавен пакет на веб-страницата.

137 јазици

Препорачано

1

Источна Азија

7

Југоисточна Азија

11

Јужна Азија

18

Централна Азија

5

Блискиот Исток и Кавказ

10

Западна Европа и Јужна Европа

17

Обединето Кралство и Ирска

4

Северна Европа

10

Централна Европа и Балканот

14

Источна Европа

5

Источна Африка

8

Западна Африка и Средна Африка

9

Јужна Африка

8

Америки

5

Океанија

5