Developer guide
ការផ្ទៀងផ្ទាត់ដោយ API key
Header សម្រាប់ដាក់ API key និង base URL សម្រាប់កំណត់ក្នុង SDK
ទំព័រនេះពន្យល់ពីវិធីផ្ទៀងផ្ទាត់ជាមួយ API key ទៅកាន់ CLEVI gateway។
ផ្លូវដែលឆបគ្នាជាមួយ OpenAI និងផ្លូវដែលឆបគ្នាជាមួយ Anthropic សុទ្ធតែផ្ទៀងផ្ទាត់ដោយប្រើ key តែមួយ ប៉ុន្តែវិសាលភាពដែលអនុញ្ញាតសម្រាប់ header ដាក់ key និង base URL ដែលត្រូវកំណត់ក្នុង SDK ខុសគ្នាតាមស្តង់ដារនីមួយៗ។
Header ផ្ទៀងផ្ទាត់
ស្តង់ដារឆបគ្នាទាំងពីរសុទ្ធតែផ្ទៀងផ្ទាត់ដោយប្រើ API key តែមួយ។ Key ត្រូវបានចេញពីទំព័រ API key ក្នុងកុងសូល ហើយអាចគ្រប់គ្រងការលុបចោល និងវិសាលភាពប្រើប្រាស់នៅលើទំព័រដដែល។
| Header | ឆបគ្នាជាមួយ OpenAI | ឆបគ្នាជាមួយ Anthropic |
|---|---|---|
| X-API-Key: <키> | អាចប្រើបាន | អាចប្រើបាន |
| Authorization: Bearer <키> | អាចប្រើបាន | អាចប្រើបាន |
| Authorization: <키> (ដោយគ្មាន Bearer) | ត្រូវបានបដិសេធ | អាចប្រើបាន |
ឈ្មោះ header មិនប្រកាន់អក្សរធំ ឬអក្សរតូចទេ។ x-api-key ដែល Anthropic SDK ផ្ញើ ក៏ដំណើរការដូចដើមដែរ។
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 ទៅក្នុងផ្លូវដោយស្វ័យប្រវត្តិ ដូច្នេះ base URL បញ្ចប់មុន /v1។ |
ពិនិត្យការផ្ទៀងផ្ទាត់
អ្នកអាចដឹងភ្លាមៗថាបានផ្ទៀងផ្ទាត់ឬអត់ ដោយដាក់ key និង 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-... សូមដាក់ key ដែលបានចេញពីទំព័រ API key។
- ប្រសិនបើការឆ្លើយតបមាន 200 នោះមានន័យថាការផ្ទៀងផ្ទាត់បានជោគជ័យ។ data មានបញ្ជីម៉ូដែលដែលអាចហៅប្រើបានដោយ key នេះ។
- ប្រសិនបើការឆ្លើយតបមាន 401 សូមពិនិត្យតាមលំដាប់ក្នុងផ្នែកការផ្ទៀងផ្ទាត់បរាជ័យខាងក្រោម។
Header ដែលប្រើរួមគ្នា
ទាំងអស់សុទ្ធតែជាជម្រើស។ ដើម្បីតាមដានបញ្ហា គួរតែដាក់ 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។ |
ការផ្ទៀងផ្ទាត់បរាជ័យ
ប្រសិនបើអ្នកផ្ញើដោយគ្មានសោ ឬផ្ញើសោដែលផុតកំណត់ ឬត្រូវបានដកហូត នឹងទទួលបាន 401។ ប្រសិនបើហៅប្រើផ្លូវដែលឆបគ្នាជាមួយ OpenAI ដោយគ្មានសោ នឹងទទួលបានតួខ្លឹមសារខាងក្រោម ហើយ error.type របស់ផ្លូវដែលឆបគ្នាជាមួយ Anthropic គឺ authentication_error។
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- ពិនិត្យស្ថានភាពសោនៅលើទំព័រសោ API។ ប្រសិនបើសោផុតកំណត់ ឬត្រូវបានដកហូត សូមចេញសោថ្មី។
- ពិនិត្យថាឈ្មោះបឋមកថាជា X-API-Key ឬ Authorization។
- ប្រសិនបើប្រើ Authorization នៅក្នុងផ្លូវដែលឆបគ្នាជាមួយ OpenAI សូមពិនិត្យបុព្វបទ Bearer។
