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Правило за пътя
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.

Проверка на удостоверяването

След като зададете ключа и базовия 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 задайте base_url с адрес, който завършва непосредствено преди /v1.
За удостоверяването използвайте непроменена заглавката 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 (може да се зададе и чрез заявочния параметър product_sku)Директно задава Product SKU, който ще се използва за таксуване. Заглавката има предимство пред заявочния параметър и се използва основно при гласови и 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