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 | Правіла шляху |
|---|---|---|
| Сумяшчальны з 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 да шляху, таму 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"
}
}- Праверце стан ключа на экране API-ключоў. Калі тэрмін дзеяння ключа скончыўся або ён быў адкліканы, выпусціце новы.
- Праверце, ці з'яўляецца назва загалоўка X-API-Key або Authorization.
- Калі ў маршруце, сумяшчальным з OpenAI, выкарыстоўваецца Authorization, праверце прэфікс Bearer.
