Developer guide
API түлхүүрээр баталгаажуулах
API түлхүүр оруулах толгой хэсэг болон SDK-д тохируулах base URL
CLEVI Gateway нь OpenAI-тэй нийцтэй зам болон Anthropic-тэй нийцтэй замыг нэг API түлхүүрээр баталгаажуулна.
Клиентэд тохируулах зүйл нь түлхүүрийг агуулсан баталгаажуулалтын толгой хэсэг болон SDK-ийн base URL гэсэн хоёр зүйл бөгөөд зөвшөөрөгдөх толгой хэсгийн формат болон base URL нь стандарт бүрээр ялгаатай байна.
Тохиргоог хийсний дараа загваруудын жагсаалтыг авах замаар баталгаажуулалт хийгдсэн эсэхийг шууд шалгаж болно.
Баталгаажуулалт амжилтгүй бол 401, баталгаажуулалт амжилттай болсон ч эрх эсвэл хязгаарын нөхцөлийг хангахгүй бол 403 буцаана.
API түлхүүрийг консолын API түлхүүрийн хуудаснаас үүсгэнэ үү. Мөн уг хуудсаас түлхүүрийг цуцлах болон ашиглах хүрээг удирдах боломжтой.
Баталгаажуулалтын толгой хэсэг
Хоёр стандартын аль алинд нь API түлхүүрийг нэг хүсэлтийн толгой хэсэгт оруулна. X-API-Key толгой хэсэг эсвэл Authorization толгой хэсгийн аль нэгийг ашиглах бөгөөд зөвшөөрөгдөх формат нь стандартаас хамаарна.
| Толгой хэсэг | OpenAI-тэй нийцтэй | Anthropic-тэй нийцтэй |
|---|---|---|
| X-API-Key: <키> | Ашиглах боломжтой | Ашиглах боломжтой |
| Authorization: Bearer <키> | Ашиглах боломжтой | Ашиглах боломжтой |
| Authorization: <키> (Bearer-гүй) | Татгалзана | Ашиглах боломжтой |
OpenAI-тэй нийцтэй замд Authorization толгой хэсгийг ашиглах үед Bearer угтвар шаардлагатай. Угтваргүйгээр зөвхөн түлхүүр илгээвэл Gateway хүсэлтийг татгалзана.
Толгой хэсгийн нэр том, жижиг үсгийг ялгадаггүй тул Anthropic SDK-ээс илгээдэг x-api-key толгой хэсэг мөн шууд ажиллана. Хоёр толгой хэсгийг хоёуланг нь заасан тохиолдолд 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 ашиглан гүйцэтгэнэ. sk-... хэсэгт API түлхүүрийн дэлгэцээс үүсгэсэн түлхүүрээ оруулна уу.
curl ашиглан хүсэлт илгээхдээ хоёр стандартын хувьд /v1/models хүртэлх бүрэн замыг заана. Эхний команд нь OpenAI-тэй нийцтэй замд X-API-Key толгойг, хоёр дахь команд нь Anthropic-тэй нийцтэй замд Authorization толгойг ашиглана.
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-ийн хувьд base_url-д /v1-ийг багтаасан хаягийг заана.
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-ээс өмнө төгсөх хаягаар заана.
Баталгаажуулалтад SDK-ээс илгээдэг x-api-key толгойг өөрчлөлтгүй ашиглана.
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 авсан бол дараах дарааллаар шалгана уу.
- API түлхүүрийн дэлгэцээс түлхүүрийн төлөвийг шалгана уу. Хугацаа нь дууссан эсвэл хүчингүй болсон түлхүүр байвал шинээр үүсгэнэ үү.
- Толгойн нэр нь X-API-Key эсвэл Authorization эсэхийг шалгана уу.
- OpenAI-тэй нийцтэй замд Authorization толгой ашиглаж байгаа бол Bearer угтвар байгаа эсэхийг шалгана уу.
Засвар хийсний дараа баталгаажуулалтыг шалгах хэсгийн моделийн жагсаалтыг дахин авч, 200 хариу ирж байгаа эсэхийг шалгана уу.
Хамт ашиглах толгойнууд
Дараах толгойнууд бүгд сонголттой. Асуудлыг мөрдөх боломжтой байлгахын тулд X-Request-Id-ийг тохируулахыг зөвлөж байна.
| Толгой | Зориулалт | Орхивол |
|---|---|---|
| X-Request-Id | Хүсэлтийг хянах таних тэмдэг. Anthropic-тэй нийцтэй зам нь хариуны request-id толгой хэсэгт ижил утгыг буцаана. | Сервер олгоно. |
| X-Region-Code | Дуудлагын бүсийг заана. | global байна. |
| X-Product-Sku (쿼리 product_sku로도 지정 가능) | Төлбөр тооцоонд ашиглах Product SKU-г шууд заана. Толгой хэсэг нь query-гээс давуу эрхтэй бөгөөд ихэвчлэн дуу хоолой·voice замд ашиглагдана. | Voice замд орхиж болохгүй. audio/speech болон audio/transcriptions нь хүсэлтийн биед буй model-оор Product-ийг сонгоно. |
| anthropic-version / anthropic-beta | Anthropic-тэй нийцтэй замд өөрчлөлтгүй дамжуулна. | Хувилбар нь 2023-06-01 байна. |
5xx алдаа давтагдвал тусламжийн хэсэг болон лавлах сувгаар X-Request-Id-тэй хамт мэдэгдэнэ үү. Өөрөө заасан утга бол клиентийн бүртгэлтэй шууд тулгаж шалгах боломжтой.