Developer guide

Аўтэнтыфікацыя з дапамогай ключа API

Загаловак для перадачы ключа API і base URL для наладжвання ў SDK

На гэтай старонцы апісваецца спосаб аўтэнтыфікацыі ў шлюзе CLEVI з дапамогай ключа API.
Для сумяшчальных з OpenAI і Anthropic шляхоў выкарыстоўваецца адзін ключ,
але дазволеныя загалоўкі для перадачы ключа і base URL, які задаецца ў SDK, адрозніваюцца ў залежнасці ад спефікацыі.

Загаловак аўтэнтыфікацыі

Абедзве сумяшчальныя спефікацыі выкарыстоўваюць адзін ключ API для аўтэнтыфікацыі. Ключ выдаецца на экране ключоў API ў кансолі; на гэтым жа экране можна кіраваць яго адкліканнем і сферай выкарыстання.

ЗагаловакСумяшчальны з OpenAIСумяшчальны з Anthropic
X-API-Key: <ключ>ДазволенаДазволена
Authorization: Bearer <ключ>ДазволенаДазволена
Authorization: <ключ> (без Bearer)АдхіляеццаДазволена

Назва загалоўка не залежыць ад рэгістра. x-api-key, які адпраўляе Anthropic SDK, таксама працуе без змяненняў.

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/anthropicAnthropic SDK самастойна дадае /v1 да шляху, таму base URL заканчваецца перад /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 (таксама даступны як параметр запыту product_sku)Непасрэдна задае Product SKU для выстаўлення рахункаў. Загаловак мае прыярытэт над параметрам запыту і ў асноўным выкарыстоўваецца для галасавых маршрутаў.Патрэбен для галасавых маршрутаў. audio/speech і audio/transcriptions выбіраюць Product з дапамогай model у целе запыту.
anthropic-version / anthropic-betaПерадаюцца без змяненняў у маршруце, сумяшчальным з Anthropic.Версія — 2023-06-01.

Памылка аўтэнтыфікацыі

Калі ключ адсутнічае або адпраўлены ключ са скончаным тэрмінам дзеяння ці адкліканы ключ, вяртаецца 401. Пры выкліку маршруту, сумяшчальнага з OpenAI, без ключа вяртаецца цела, паказанае ніжэй, а error.type у маршруце, сумяшчальным з Anthropic, мае значэнне authentication_error.

{
  "error": {
    "message": "API key is required.",
    "type": "invalid_request_error"
  }
}
  1. Праверце стан ключа на экране API-ключоў. Калі тэрмін дзеяння ключа скончыўся або ён быў адкліканы, выпусціце новы.
  2. Праверце, ці з'яўляецца назва загалоўка X-API-Key або Authorization.
  3. Калі ў маршруце, сумяшчальным з OpenAI, выкарыстоўваецца Authorization, праверце прэфікс Bearer.
CLEVI

Мова і рэгіён

Пазначаны мовы, перакладзеныя машынай. Даступнасць адпавядае апублікаванаму набору сайта.

136 моў

Рэкамендуецца

1

Усходняя Азія

7

Паўднёва-Усходняя Азія

11

Паўднёвая Азія

18

Цэнтральная Азія

5

Блізкі Усход і Каўказ

10

Заходняя Еўропа і Паўднёвая Еўропа

16

Вялікабрытанія і Ірландыя

4

Паўночная Еўропа

10

Цэнтральная Еўропа і Балканы

14

Усходняя Еўропа

5

Усходняя Афрыка

8

Заходняя Афрыка і Сярэдняя Афрыка

9

Паўднёвая Афрыка

8

Паўночная і Паўднёвая Амерыкі

5

Акіянія

5