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 ከመጀመሩ በፊት ይጠናቀቃል። |
ማረጋገጫን መፈተሽ
የAPI ቁልፉን እና 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 በቀጥታ ይገልጻል። ራስጌው ከጥያቄው ይቀድማል፣ በዋናነትም በድምጽ·voice መንገዶች ይጠቀማል። | በvoice መንገድ መተው አይቻልም። audio/speech እና audio/transcriptions Productን በጥያቄው አካል model ይመርጣሉ። |
| anthropic-version / anthropic-beta | በAnthropic ተኳሃኝ መንገድ ላይ እንዳለ ያስተላልፋል። | ስሪቱ 2023-06-01 ነው። |
5xx በተደጋጋሚ ከተከሰተ፣ ከX-Request-Id ጋር በመሆን በእገዛ ገጹ እና በጥያቄ መንገዱ ያሳውቁን። ዋጋውን በቀጥታ ካስገቡት፣ ከደንበኛው መዝገብ ጋር ወዲያውኑ ማመሳከር ይችላሉ።