Developer guide

Awtentikazzjoni b'ċavetta API

L-intestatura li fiha għandha tiddaħħal iċ-ċavetta API u l-base URL li għandu jiġi kkonfigurat fl-SDK

Il-gateway ta' CLEVI jawtentika l-mogħdijiet kompatibbli ma' OpenAI u dawk kompatibbli ma' Anthropic b'ċavetta API waħda.
Il-valuri li għandhom jiġu kkonfigurati fuq il-klijent huma l-intestatura ta' awtentikazzjoni li fiha tinżamm iċ-ċavetta u l-base URL tal-SDK; il-formati tal-intestaturi u l-base URL permessi jvarjaw skont l-ispeċifikazzjoni.
Wara li tlesti l-konfigurazzjoni, tista' tivverifika immedjatament jekk l-awtentikazzjoni rnexxietx billi tirkupra l-lista tal-mudelli.
Jekk l-awtentikazzjoni tfalli, jintbagħat 401; jekk l-awtentikazzjoni tgħaddi iżda ma jiġux issodisfati l-kundizzjonijiet tal-permessi jew tal-limiti, jintbagħat 403.

Oħroġ ċavetta API mill-iskrin taċ-ċavetti API fil-console. Mill-istess skrin tista' timmaniġġja r-revoka taċ-ċavetta u l-ambitu tal-użu tagħha.

Intestatura ta' awtentikazzjoni

Iż-żewġ speċifikazzjonijiet ipoġġu ċ-ċavetta API f'intestatura waħda tat-talba. Uża waħda mill-intestaturi X-API-Key jew Authorization; il-format permess ivarja skont l-ispeċifikazzjoni.

IntestaturaKompatibbli ma' OpenAIKompatibbli ma' Anthropic
X-API-Key: <ċavetta>DisponibbliDisponibbli
Authorization: Bearer <ċavetta>DisponibbliDisponibbli
Authorization: <ċavetta> (mingħajr Bearer)MiċħudDisponibbli

Meta tuża l-intestatura Authorization fil-mogħdija kompatibbli ma' OpenAI, huwa meħtieġ il-prefiss Bearer. Jekk tibgħat iċ-ċavetta waħedha mingħajr il-prefiss, il-gateway jiċħad it-talba.

L-ismijiet tal-intestaturi ma jiddistingwux bejn ittri kbar u żgħar, għalhekk l-intestatura x-api-key mibgħuta mill-SDK ta' Anthropic taħdem ukoll kif inhi. Jekk tispeċifika ż-żewġ intestaturi, il-valur ta' X-API-Key jingħata prijorità.

base URL

L-SDK li kont tuża qabel jista' jintuża kif inhu billi tibdel biss il-base URL għall-indirizz ta' hawn taħt. Iż-żewġ indirizzi jvarjaw fuq jekk jinkludux /v1, għalhekk speċifika l-indirizz xieraq għall-ispeċifikazzjoni kif inhu.

Speċifikazzjonibase URLRegola tal-mogħdija
Kompatibbli ma' OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Inkludi /v1 fil-base URL.
Kompatibbli ma' Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicPeress li l-SDK ta' Anthropic iżid /v1 direttament mal-mogħdija tat-talba, jispiċċa qabel /v1.

Verifika tal-awtentikazzjoni

Wara li tissettja ċ-ċavetta u l-base URL, tista’ tivverifika l-awtentikazzjoni billi tirkupra l-lista tal-mudelli. L-eżempju hawn taħt iwettaq l-istess talba b’curl, OpenAI SDK u Anthropic SDK. Fil-post ta’ sk-... daħħal iċ-ċavetta maħruġa mill-iskrin taċ-ċwievet API.

Meta tirkupra l-lista b’curl, speċifika l-mogħdija sħiħa sa /v1/models għaż-żewġ speċifikazzjonijiet. L-ewwel kmand juża l-header X-API-Key għall-mogħdija kompatibbli ma’ OpenAI, u t-tieni kmand juża l-header Authorization għall-mogħdija kompatibbli ma’ 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 jispeċifika indirizz li jinkludi /v1 f’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 jispeċifika indirizz li jispiċċa qabel /v1 f’base_url.
Għall-awtentikazzjoni, uża l-header x-api-key li jibgħat l-SDK kif inhu.

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)

Jekk ir-rispons ta’ kwalunkwe eżempju jkun 200, l-awtentikazzjoni tkun irnexxiet, u d-data fir-rispons ikun fiha l-lista tal-mudelli li jistgħu jissejħu b’din iċ-ċavetta. Jekk tirċievi 401, iċċekkja l-kawża fl-ordni tat-taqsima li jmiss.

Falliment tal-awtentikazzjoni

Jekk tibgħat ċavetta li ma teżistix jew li skadiet jew ġiet revokata, jintbagħat 401. Jekk tagħmel talba mingħajr ċavetta fil-mogħdija kompatibbli ma’ OpenAI, jintbagħat il-kontenut hawn taħt, filwaqt li fil-mogħdija kompatibbli ma’ Anthropic error.type ikun authentication_error.

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

Jekk tirċievi 401, iċċekkja dan li ġej fl-ordni indikata.

  1. Iċċekkja l-istatus taċ-ċavetta fl-iskrin taċ-ċwievet API. Jekk tkun skadiet jew ġiet revokata, oħroġ waħda ġdida.
  2. Iċċekkja jekk l-isem tal-header huwiex X-API-Key jew Authorization.
  3. Jekk tuża l-header Authorization fil-mogħdija kompatibbli ma’ OpenAI, iċċekkja jekk għandux il-prefiss Bearer.

Wara li tagħmel il-korrezzjonijiet, erġa’ wettaq l-irkupru tal-lista tal-mudelli fit-taqsima tal-verifika tal-awtentikazzjoni u kkonferma li tirċievi 200.

Headers użati flimkien

L-headers li ġejjin kollha huma fakultattivi. Nirrakkomandaw li tispeċifika X-Request-Id biex tkun tista’ ssegwi l-problemi.

HeaderUżuJekk jitħalla barra
X-Request-IdIdentifikatur għat-traċċar tat-talba. Ir-rotta kompatibbli ma’ Anthropic tirritorna l-istess valur fl-header request-id tar-rispons.Jinħareġ mis-server.
X-Region-CodeJispeċifika r-reġjun fejn issir it-talba.Huwa global.
X-Product-Sku (jista’ jiġi speċifikat ukoll permezz tal-query product_sku)Jispeċifika direttament il-Product SKU li għandu jintuża għall-iċċarġjar. L-header għandu prijorità fuq il-query u jintuża prinċipalment fir-rotot tal-vuċi·voice.Ma jistax jitħalla barra fir-rotot tal-vuċi. audio/speech u audio/transcriptions jagħżlu l-Prodott permezz tal-model fil-korp tat-talba.
anthropic-version / anthropic-betaJiġi mgħoddi kif inhu fir-rotta kompatibbli ma’ Anthropic.Il-verżjoni hija 2023-06-01.

Jekk il-5xx jirrepetu ruħhom, jekk jogħġbok għarrafna permezz tal-għajnuna u l-kuntatt, flimkien ma’ X-Request-Id. Jekk il-valur ġie speċifikat direttament, jista’ jiġi mqabbel immedjatament mar-rekords tal-klijent.

Lingwa u reġjun

Il-lingwi tradotti awtomatikament jiġu tradotti minn clevi/cip-5.5-im u mmarkati bħala tali. Dan japplika għal-lingwi b’pakkett tas-sit ippubblikat.

137 lingwi

Rakkomandat

1

Asja tal-Lvant

7

Asja tax-Xlokk

11

Asja t’Isfel Ċentrali

18

Asja Ċentrali

5

Lvant Nofsani u l-Kawkasu

10

Ewropa tal-Punent u Ewropa t’Isfel

17

ir-Renju Unit u l-Irlanda

4

Ewropa ta’ Fuq

10

Ewropa Ċentrali u l-Balkani

14

Ewropa tal-Lvant

5

Affrika tal-Lvant

8

Affrika tal-Punent u Affrika Nofsani

9

Affrika t’Isfel

8

Amerika

5

Oċejanja

5