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 કી સ્ક્રીન પરથી જારી કરેલી કી મૂકો.
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 સુસંગત માર્ગ responseના request-id હેડરમાં સમાન મૂલ્ય પરત કરે છે. | સર્વર દ્વારા જારી કરવામાં આવે છે. |
| X-Region-Code | કૉલ કરવાનો રિજિયન નિર્દિષ્ટ કરે છે. | global છે. |
| X-Product-Sku (ક્વેરી product_sku દ્વારા પણ નિર્દિષ્ટ કરી શકાય છે) | બિલિંગ માટે ઉપયોગમાં લેવાતો Product SKU સીધો નિર્દિષ્ટ કરે છે. હેડરને ક્વેરી પર પ્રાથમિકતા મળે છે અને તેનો ઉપયોગ મુખ્યત્વે વૉઇસ·voice માર્ગમાં થાય છે. | વૉઇસ માર્ગમાં તેને છોડી શકાતું નથી. audio/speech અને audio/transcriptions વિનંતીના બૉડીમાંના model દ્વારા Product પસંદ કરે છે. |
| anthropic-version / anthropic-beta | Anthropic સુસંગત માર્ગમાં જેમનું તેમ ફૉર્વર્ડ કરવામાં આવે છે. | વર્ઝન 2023-06-01 છે. |
જો 5xx વારંવાર આવે, તો કૃપા કરીને મદદ અને સંપર્ક દ્વારા X-Request-Id સાથે જાણ કરો. સીધા નિર્દિષ્ટ કરેલું મૂલ્ય હોય, તો તેને ક્લાયન્ટના રેકોર્ડ સાથે તરત સરખાવી શકાય છે.