Developer guide
API ကီးဖြင့် အတည်ပြုခြင်း
API ကီးထည့်သွင်းရမည့် ခေါင်းစီးနှင့် SDK တွင် သတ်မှတ်ရမည့် base URL
CLEVI ဂိတ်ဝေးသည် 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 ရှေ့ဆက်စာလုံး လိုအပ်သည်။ ရှေ့ဆက်စာလုံးမပါဘဲ ကီးကိုသာ ပေးပို့ပါက ဂိတ်ဝေးက တောင်းဆိုမှုကို ပယ်ချသည်။
ခေါင်းစီးအမည်များသည် အကြီး၊ အသေး စာလုံးကွာခြားမှုကို မခွဲခြားသောကြောင့် 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 key စာမျက်နှာမှ ထုတ်ပေးထားသောကီးကို ထည့်ပါ။
curl ဖြင့် ရယူသည့်အခါ စံနှုန်းနှစ်မျိုးစလုံးအတွက် /v1/models အထိ လမ်းကြောင်းအပြည့်အစုံကို သတ်မှတ်ပါ။ ပထမ command သည် OpenAI နှင့် ကိုက်ညီသော လမ်းကြောင်းအတွက် X-API-Key header ကို အသုံးပြုပြီး၊ ဒုတိယ command သည် Anthropic နှင့် ကိုက်ညီသော လမ်းကြောင်းအတွက် Authorization header ကို အသုံးပြုပါသည်။
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 header ကို မပြောင်းလဲဘဲ အသုံးပြုပါ။
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 နှင့် ကိုက်ညီသော လမ်းကြောင်းတွင် ကီးမပါဘဲ ခေါ်ယူပါက အောက်ပါ body ကို ပြန်ပေးပြီး၊ Anthropic နှင့် ကိုက်ညီသော လမ်းကြောင်းတွင် error.type သည် authentication_error ဖြစ်ပါသည်။
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}401 ရရှိပါက အောက်ပါအစီအစဉ်အတိုင်း စစ်ဆေးပါ။
- API key စာမျက်နှာတွင် ကီး၏အခြေအနေကို စစ်ဆေးပါ။ သက်တမ်းကုန်ဆုံးခြင်း သို့မဟုတ် ပယ်ဖျက်ခံထားရသောကီးဖြစ်ပါက အသစ်ထုတ်ပေးပါ။
- Header အမည်သည် X-API-Key သို့မဟုတ် Authorization ဖြစ်ကြောင်း စစ်ဆေးပါ။
- OpenAI နှင့် ကိုက်ညီသော လမ်းကြောင်းတွင် Authorization header ကို အသုံးပြုပါက Bearer prefix ပါဝင်ခြင်းရှိမရှိ စစ်ဆေးပါ။
ပြင်ဆင်ပြီးနောက် အထောက်အထားစစ်ဆေးမှုအပိုင်းရှိ မော်ဒယ်စာရင်း ရယူခြင်းကို ထပ်မံလုပ်ဆောင်ပြီး 200 ရရှိခြင်းရှိမရှိ အတည်ပြုပါ။
အတူအသုံးပြုသော header များ
အောက်ပါ header များအားလုံးသည် ရွေးချယ်နိုင်သောအရာများ ဖြစ်ပါသည်။ ပြဿနာများကို ခြေရာခံနိုင်ရန် X-Request-Id ကို သတ်မှတ်ထားရန် အကြံပြုပါသည်။
| Header | အသုံးပြုမှု | ချန်လှပ်ပါက |
|---|---|---|
| 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 နှင့်အတူ အသိပေးပါ။ ကိုယ်တိုင် သတ်မှတ်ထားသော တန်ဖိုးဖြစ်ပါက client မှတ်တမ်းနှင့် ချက်ချင်း တိုက်ဆိုင်စစ်ဆေးနိုင်သည်။