ማረጋገጫ
ነፍሲ ወከፍ ጠለብ API ቁልፍኻ ኣብ header ይቕብል። ሓደ ቁልፊ ንኣካውንት ኣብ ነፍሲ ወከፍ endpoint ከምኡውን ሞዴል ይሰርሕ፣ ብሓደ ካብ ክልተ header ቅርጺታት።
Header · OpenAI SDKs
Authorization: Bearer YOUR_API_KEY Header · Anthropic SDKs
x-api-key: YOUR_API_KEY ዝቕበሉ headers
ክልቲኦም headers ኣብ ነፍሲ ወከፍ /v1 endpoint ይነበቡ፣ እቲ endpoint ዝዛረቦ ቅርጺ ዝኾነ ይኹን። ሓደ ካባቶም ልኣኽ።
| Header | መግለጺ |
|---|---|
Authorization: Bearer <key> | ቀዳማይ ይምርመር። Bearer ብዓቢ B ከምኡውን ቅድሚ እቲ ቁልፊ ሓደ ክፍተት ጸሓፎ። OpenAI SDKs እዚ header ይልእኹ። |
x-api-key: <key> | ጠለብ Authorization: Bearer header ምስ ዘይብሉ ይነበብ። Anthropic SDKs እዚ header ይልእኹ። |
ምስ OpenAI SDK፣ ቁልፊን base URLን ኣዘጋጅ፤ እቲ SDK Authorization: Bearer ይልእኽ።
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/v1"
)
response = client.chat.completions.create(
model="shannon-3",
messages=[
{"role": "user", "content": "Hello, Shannon!"}
]
)
print(response.choices[0].message.content) import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
const response = await client.chat.completions.create({
model: 'shannon-3',
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
]
});
console.log(response.choices[0].message.content); curl -X POST "https://api.shannon-ai.com/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"messages": [
{"role": "user", "content": "Hello, Shannon!"}
]
}' ምስ Anthropic SDK፣ ቁልፊን ብዘይ /v1 base URLን ኣዘጋጅ፤ እቲ SDK x-api-key ይልእኽ።
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com"
)
message = client.messages.create(
model="shannon-3",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Shannon!"}
]
)
print("".join(block.text for block in message.content if block.type == "text")) import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com'
});
const message = await client.messages.create({
model: 'shannon-3',
max_tokens: 1024,
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
]
});
console.log(message.content.filter((block) => block.type === 'text').map((block) => block.text).join('')); curl -X POST "https://api.shannon-ai.com/v1/messages" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, Shannon!"}
]
}' ኣየኖት endpoints ቁልፊ የድልዩ
| Endpoint | ቁልፊ |
|---|---|
POST /v1/chat/completions | የድሊ |
POST /v1/messages | የድሊ |
POST /v1/responses | የድሊ |
POST /v1/tokenize | የድሊ |
POST /v1/messages/count_tokens | የድሊ |
GET /v1/models | ኣየድልን |
ቁልፍኻ
- ቁልፊ
sk-ተኸቲሉ ካብA–Z፣a–z፣0–9፣-ከምኡውን_43 ፊደላት እዩ፦ ብጠቕላላ 46 ፊደላት። - ነፍሲ ወከፍ ኣካውንት ሓደ ቁልፊ ጥራይ ኣለዋ። ቀዳማይ ግዜ ቁልፍታትን ኣጠቓቕማን ምስ ከፈትካ ይፈጠር።
- እቲ ቁልፊ ንኣካውንትካ ምሉእ API ተበጻሕነት ይህብ፦ ነፍሲ ወከፍ endpoint፣ ነፍሲ ወከፍ ሞዴል ከምኡውን ምሉእ ሚዛን።
- ቁልፊ ዕለተ ምውዳእ የብሉን። ክሳብ እትቅይሮ ወይ እትሰርዘሉ ይሰርሕ።
ቀይርን ሰርዝን
ቁልፊ ኣብ ገጽ ቁልፍታትን ኣጠቓቕማን ትቅይሮን ትሰርዞን። ቁልፍታትን ኣጠቓቕማን
| ተግባር | እንታይ ይኸውን |
|---|---|
| ቀይር | ሓዲሽ ቁልፊ ይወሃብ ከምኡውን ዝነበረ ቁልፊ ምስራሕ የቋርጽ። ሓዲሽ ቁልፊ ብቕጽበት ይሰርሕ። |
| ሰርዝ | እቲ ቁልፊ ምስራሕ የቋርጽ ከምኡውን ሓዲሽ ቁልፊ ኣይወሃብን። ደጊሙ ዝሰርሕ ቁልፊ ንምርካብ ቀይሮ። |
- ክልቲኦም ብቕጽበት ይተግበሩ፦ እቲ ቀጻሊ ጠለብ ምስ ዝነበረ ቁልፊ ብ
401ይምለስ። ዝነበረ ቁልፊ ኣብ ዝኾነ ቦታ ክሳብ ዝተኸልከል 60 ሰከንድ ከም ላዕለዋይ ወሰን ወሲድካ። - ነፍሲ ወከፍ ክላይንት ናይ ኣካውንት ተመሳሳሊ ቁልፊ ይጥቀም፣ ስለዚ ምቕያር ንኩሎም ይበጽሕ። ምስ ቀየርካ ሓዲሽ ቁልፊ ብቕጽበት ናብ ክላይንትካ ኣእቱ።
- ሚዛን፣ ኣጠቓቕማን flood protectionን ናይ ኣካውንት እዮም እምበር ናይ ቁልፊ ኣይኮኑን። ሓዲሽ ቁልፊ ምስ ተመሳሳሊ ሚዛን ከምኡውን ተመሳሳሊ ቁጽሪ ጠለብ ናይ ሕጂ ደቒቕ ይቕጽል።
ጌጋታት
ነፍሲ ወከፍ ናይ ምርግጋጽ ውድቀት ኩነታት 401 ከምኡውን ዓይነት authentication_error ኣለዎ። እቲ መልእኽቲ ነቶም ኩነታት ይፈላልዮም።
| ኩነታት | ዓይነት | መልእኽቲ | መዓስ |
|---|---|---|---|
401 | authentication_error | Missing authentication | እቲ ጠለብ Authorization: Bearer header ወይ ብ sk- ዝጅምር x-api-key header የብሉን። እዚ ንትንሽኣ ፊደል bearer ከምኡውን ንዘይ Bearer ዘለዎ Authorization ዋጋ እውን ምላሽ እዩ። |
401 | authentication_error | Invalid API key | እቲ ቁልፊ ናይ ኣካውንት ሕጂ ዘሎ ቁልፊ ኣይኮነን፦ ጌጋ ተጻሒፉ፣ ተሰሪዙ፣ ወይ ብምቕያር ተተኪኡ። |
{
"error": {
"type": "authentication_error",
"message": "Invalid API key",
"code": "invalid_api_key",
"param": null
}
} {
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
} - ኣብ ነፍሲ ወከፍ መንገዲ ብዘይ
/v1/messages፣ እቲerrorobject ንጎደለ ቁልፊ እውንcode: "invalid_api_key"ከምኡውንparam: nullይሓዝ። - እቲ ቁልፊ ቅድሚ እቲ body ዝንበብ ይምርመር። ዘይብል ቁልፊ ዘለዎ ጠለብ እቲ body ዘይቅኑዕ ወይ ዓቢ እንተኾነ እውን
401ይረክብ። - ብ
sk-ዘይጅምርAuthorization: Bearerዋጋ ከም API ቁልፊ ኣይርአን። እቲ token ዘይቅኑዕ ወይ ዝሓለፎ ግዜ ዘለዎ ዝብል መልእኽቲ ዘለዎ401ይረክብ።
Browsers ከምኡውን CORS
- እቲ API ንcross-origin browser ጠለባት ንዝተወሰነ ዝርዝር origins ጥራይ ይመልስ። ኣብ ካልእ origin ገጽ ዘሎ JavaScript ምላሽ
/v1ከንብብ ኣይኽእልን። - API ካብ server ናትካ ጸውዕ እሞ ገጽካ ምስ server ናትካ ይዛረብ። እዚ ከኣ ቁልፊ ካብ source ናይ ገጽ ርሒቑ የቐምጥ።
- Server-side ኮድን command-line መሳለጥያታትን ኣይተጸሉን፦ እዚ ሕጊ ብ browsers ጥራይ ይትግበር።
- ኣብ shannon-ai.com ምእታው ንጠለባት
/v1ኣየረጋግጽን። ኩኪታት ኣብኡ ኣይነበቡን፤ እቲ ቁልፊ እቲ ሓደ credential እዩ። - ንዝተፈቐደ origin፣ browser
content-type፣authorization፣x-api-key፣anthropic-version፣anthropic-beta፣openai-betaከምኡውንx-request-idክልእኽ፣ ከምኡውን ናይ ምላሽ headerx-request-idከንብብ ይኽእል።
ቁልፊ ውሑስ ምሓዝ
- ቁልፊ ኣብ server ሓዞ። ኣብ web ገጻት፣ mobile apps ወይ ህዝባዊ repositories ኣይተእትዎ፦ ዝሓዞ ዝኾነ ምሉእ ሚዛንካ ከጥፍእ ይኽእል።
- ቁልፊ ኣብ ኮድ ክትጽሕፎ ክንዲ ካብ environment variable ወይ secret store ጽዓኖ።
- ቁልፊ ከፍስስ ዝኽእል እንተ ኾይኑ፣ ኣብ ቁልፍታትን ኣጠቓቕማን ቀይሮ። ዝነበረ ቁልፊ ብቕጽበት ምስራሕ የቋርጽ።
- ድሕሪ ምፍሳስ፣ ዝርዝር ጠለባት ኣብ ቁልፍታትን ኣጠቓቕማን ኣንብብ። እቲ ቁልፊ ኣብ ዝሓለፉ 30 መዓልታት ዘቕረቦ ነፍሲ ወከፍ ጠለብ የርኢ።