Developer guide
API გასაღებით ავთენტიფიკაცია
API გასაღების ჩასამატებელი ჰედერი და SDK-ში დასაყენებელი base URL
ეს გვერდი აღწერს, როგორ გაიაროთ ავთენტიფიკაცია CLEVI Gateway-ში API გასაღებით.
ავთენტიფიკაცია ერთი გასაღებით ხდება როგორც OpenAI-თან თავსებად, ისე Anthropic-თან თავსებად გზაზე,
თუმცა გასაღების ჩასამატებელი ჰედერის დაშვებული ფორმა და SDK-ში დასაყენებელი base URL განსხვავებულია თითოეული სპეციფიკაციისთვის.
ავთენტიფიკაციის ჰედერი
ორივე თავსებადი სპეციფიკაცია ავთენტიფიკაციას ერთი API გასაღებით ახორციელებს. გასაღები გაიცემა კონსოლის API გასაღებების გვერდზე, ხოლო მის გაუქმებასა და გამოყენების ფარგლებს იმავე გვერდზე მართავთ.
| ჰედერი | OpenAI-თან თავსებადი | Anthropic-თან თავსებადი |
|---|---|---|
| X-API-Key: <გასაღები> | დაშვებულია | დაშვებულია |
| Authorization: Bearer <გასაღები> | დაშვებულია | დაშვებულია |
| Authorization: <გასაღები> (Bearer-ის გარეშე) | უარყოფილია | დაშვებულია |
ჰედერის სახელებში რეგისტრს მნიშვნელობა არ აქვს. 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-მდე სრულდება. |
ავთენტიფიკაციის შემოწმება
გასაღებისა და 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 (ასევე შესაძლებელია query product_sku-ის გამოყენება) | პირდაპირ მიუთითებს Product SKU-ს, რომელიც ბილინგისთვის გამოიყენება. ჰედერს query-ზე უპირატესობა აქვს და ძირითადად ხმოვან·voice მარშრუტში გამოიყენება. | voice მარშრუტში საჭიროა. audio/speech და audio/transcriptions მოთხოვნის სხეულში მითითებული model-ით ირჩევს Product-ს. |
| anthropic-version / anthropic-beta | Anthropic-თან თავსებად მარშრუტში უცვლელად გადაეცემა. | ვერსიაა 2023-06-01. |
ავტორიზაციის წარუმატებლობა
თუ გასაღები არ არსებობს, ვადაგასულია ან გაუქმებულია, მიიღებთ 401-ს. OpenAI-თან თავსებად მარშრუტში გასაღების გარეშე გამოძახებისას მიიღებთ ქვემოთ მოცემულ სხეულს, ხოლო Anthropic-თან თავსებადი მარშრუტის error.type იქნება authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- API გასაღებების ეკრანზე შეამოწმეთ გასაღების სტატუსი. თუ ის ვადაგასულია ან გაუქმებულია, შექმენით ახალი.
- შეამოწმეთ, ჰედერის სახელია X-API-Key თუ Authorization.
- თუ OpenAI-თან თავსებად მარშრუტში Authorization-ს იყენებთ, შეამოწმეთ Bearer პრეფიქსი.
