ದೃಢೀಕರಣ
ಪ್ರತಿ ವಿನಂತಿಯೂ ಹೆಡರ್ನಲ್ಲಿ ನಿಮ್ಮ API ಕೀ ಹೊತ್ತಿರುತ್ತದೆ. ಖಾತೆಗೆ ಒಂದು ಕೀ ಪ್ರತಿ ಎಂಡ್ಪಾಯಿಂಟ್ ಮತ್ತು ಪ್ರತಿ ಮಾಡೆಲ್ನಲ್ಲಿ, ಎರಡು ಹೆಡರ್ ರೂಪಗಳಲ್ಲಿ ಯಾವುದರಲ್ಲಾದರೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ.
ಹೆಡರ್ · OpenAI SDK ಗಳು
Authorization: Bearer YOUR_API_KEY ಹೆಡರ್ · Anthropic SDK ಗಳು
x-api-key: YOUR_API_KEY ಸ್ವೀಕರಿಸುವ ಹೆಡರ್ಗಳು
ಎರಡೂ ಹೆಡರ್ಗಳನ್ನು ಪ್ರತಿ /v1 ಎಂಡ್ಪಾಯಿಂಟ್ನಲ್ಲಿ ಓದಲಾಗುತ್ತದೆ, ಎಂಡ್ಪಾಯಿಂಟ್ ಯಾವ ಫಾರ್ಮ್ಯಾಟ್ ಮಾತನಾಡಿದರೂ. ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು ಕಳುಹಿಸಿ.
| ಹೆಡರ್ | ವಿವರಣೆ |
|---|---|
Authorization: Bearer <key> | ಮೊದಲು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ. Bearer ಅನ್ನು ದೊಡ್ಡ B ಯೊಂದಿಗೆ ಬರೆಯಿರಿ ಮತ್ತು ಕೀ ಮೊದಲು ಒಂದು ಸ್ಪೇಸ್ ಇರಲಿ. OpenAI SDK ಗಳು ಈ ಹೆಡರ್ ಕಳುಹಿಸುತ್ತವೆ. |
x-api-key: <key> | ವಿನಂತಿಯಲ್ಲಿ Authorization: Bearer ಹೆಡರ್ ಇಲ್ಲದಿದ್ದಾಗ ಓದಲಾಗುತ್ತದೆ. Anthropic SDK ಗಳು ಈ ಹೆಡರ್ ಕಳುಹಿಸುತ್ತವೆ. |
OpenAI SDK ಯೊಂದಿಗೆ, ಕೀ ಮತ್ತು ಬೇಸ್ 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 ಇಲ್ಲದ ಬೇಸ್ 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!"}
]
}' ಯಾವ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಿಗೆ ಕೀ ಬೇಕು
| ಎಂಡ್ಪಾಯಿಂಟ್ | ಕೀ |
|---|---|
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 ಗೆ ಪೂರ್ಣ ಪ್ರವೇಶ ನೀಡುತ್ತದೆ: ಪ್ರತಿ ಎಂಡ್ಪಾಯಿಂಟ್, ಪ್ರತಿ ಮಾಡೆಲ್ ಮತ್ತು ಸಂಪೂರ್ಣ ಬ್ಯಾಲೆನ್ಸ್.
- ಕೀಗೆ ಅವಧಿ ಮುಕ್ತಾಯದ ದಿನಾಂಕ ಇಲ್ಲ. ನೀವು ಬದಲಾಯಿಸುವವರೆಗೆ ಅಥವಾ ಹಿಂಪಡೆಯುವವರೆಗೆ ಅದು ಕೆಲಸ ಮಾಡುತ್ತದೆ.
ಬದಲಾಯಿಸಿ ಮತ್ತು ಹಿಂಪಡೆಯಿರಿ
ಕೀಗಳು ಮತ್ತು ಬಳಕೆ ಪುಟದಲ್ಲಿ ನೀವು ಕೀ ಅನ್ನು ಬದಲಾಯಿಸುತ್ತೀರಿ ಮತ್ತು ಹಿಂಪಡೆಯುತ್ತೀರಿ. ಕೀಗಳು ಮತ್ತು ಬಳಕೆ
| ಕ್ರಿಯೆ | ಏನಾಗುತ್ತದೆ |
|---|---|
| ಬದಲಾಯಿಸಿ | ಹೊಸ ಕೀ ನೀಡಲಾಗುತ್ತದೆ ಮತ್ತು ಹಳೆಯ ಕೀ ಕೆಲಸ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ. ಹೊಸ ಕೀ ತಕ್ಷಣ ಕೆಲಸ ಮಾಡುತ್ತದೆ. |
| ಹಿಂಪಡೆಯಿರಿ | ಕೀ ಕೆಲಸ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ ಮತ್ತು ಹೊಸ ಕೀ ನೀಡಲಾಗುವುದಿಲ್ಲ. ಮತ್ತೆ ಕೆಲಸ ಮಾಡುವ ಕೀ ಪಡೆಯಲು ಬದಲಾಯಿಸಿ. |
- ಎರಡೂ ತಕ್ಷಣ ಜಾರಿಗೆ ಬರುತ್ತವೆ: ಹಳೆಯ ಕೀಯೊಂದಿಗಿನ ಮುಂದಿನ ವಿನಂತಿಗೆ
401ಉತ್ತರ ಸಿಗುತ್ತದೆ. ಹಳೆಯ ಕೀ ಎಲ್ಲೆಡೆ ತಿರಸ್ಕೃತವಾಗುವ ಮೊದಲಿನ ಗರಿಷ್ಠ ಮಿತಿಯಾಗಿ 60 ಸೆಕೆಂಡುಗಳನ್ನು ಪರಿಗಣಿಸಿ. - ಖಾತೆಯ ಪ್ರತಿ ಕ್ಲೈಂಟ್ ಅದೇ ಕೀ ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಬದಲಾವಣೆ ಎಲ್ಲರಿಗೂ ತಲುಪುತ್ತದೆ. ಬದಲಾಯಿಸಿದ ತಕ್ಷಣ ಹೊಸ ಕೀ ಅನ್ನು ನಿಮ್ಮ ಕ್ಲೈಂಟ್ಗಳಲ್ಲಿ ಹಾಕಿ.
- ಬ್ಯಾಲೆನ್ಸ್, ಬಳಕೆ ಮತ್ತು ಫ್ಲಡ್ ಪ್ರೊಟೆಕ್ಷನ್ ಖಾತೆಗೆ ಸೇರಿವೆ, ಕೀಗೆ ಅಲ್ಲ. ಹೊಸ ಕೀ ಅದೇ ಬ್ಯಾಲೆನ್ಸ್ ಮತ್ತು ಈಗಿನ ನಿಮಿಷದ ಅದೇ ವಿನಂತಿ ಎಣಿಕೆಯೊಂದಿಗೆ ಮುಂದುವರಿಯುತ್ತದೆ.
ದೋಷಗಳು
ಪ್ರತಿ ದೃಢೀಕರಣ ವೈಫಲ್ಯಕ್ಕೆ ಸ್ಥಿತಿ 401 ಮತ್ತು ವಿಧ authentication_error. ಸಂದೇಶವು ಪ್ರಕರಣಗಳನ್ನು ಬೇರ್ಪಡಿಸುತ್ತದೆ.
| ಸ್ಥಿತಿ | ವಿಧ | ಸಂದೇಶ | ಯಾವಾಗ |
|---|---|---|---|
401 | authentication_error | Missing authentication | ವಿನಂತಿಯಲ್ಲಿ Authorization: Bearer ಹೆಡರ್ ಅಥವಾ sk- ನಿಂದ ಆರಂಭವಾಗುವ x-api-key ಹೆಡರ್ ಎರಡೂ ಇಲ್ಲ. ಸಣ್ಣ ಅಕ್ಷರದ 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ಹೊರತುಪಡಿಸಿ ಪ್ರತಿ ಪಾತ್ನಲ್ಲಿerrorಆಬ್ಜೆಕ್ಟ್ನಲ್ಲಿcode: "invalid_api_key"ಕೂಡ ಇರುತ್ತದೆ, ಕೀ ಇಲ್ಲದಿದ್ದರೂ, ಹಾಗೂparam: null.- ಬಾಡಿ ಓದುವ ಮೊದಲು ಕೀ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ. ಮಾನ್ಯ ಕೀ ಇಲ್ಲದ ವಿನಂತಿಯ ಬಾಡಿ ಅಮಾನ್ಯ ಅಥವಾ ತುಂಬಾ ದೊಡ್ಡದಾಗಿದ್ದರೂ
401ಸಿಗುತ್ತದೆ. sk-ನಿಂದ ಆರಂಭವಾಗದAuthorization: Bearerಮೌಲ್ಯವನ್ನು API ಕೀ ಎಂದು ಪರಿಗಣಿಸಲಾಗುವುದಿಲ್ಲ. ಟೋಕನ್ ಅಮಾನ್ಯ ಅಥವಾ ಅವಧಿ ಮುಗಿದಿದೆ ಎಂಬ ಸಂದೇಶದೊಂದಿಗೆ401ಸಿಗುತ್ತದೆ.
ಬ್ರೌಸರ್ಗಳು ಮತ್ತು CORS
- API ಕ್ರಾಸ್-ಆರಿಜಿನ್ ಬ್ರೌಸರ್ ವಿನಂತಿಗಳಿಗೆ ನಿಗದಿತ ಆರಿಜಿನ್ಗಳ ಪಟ್ಟಿಗೆ ಮಾತ್ರ ಉತ್ತರಿಸುತ್ತದೆ. ಬೇರೆ ಆರಿಜಿನ್ನ ಪುಟದಲ್ಲಿರುವ JavaScript
/v1ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ. - API ಅನ್ನು ನಿಮ್ಮ ಸರ್ವರ್ನಿಂದ ಕರೆಯಿರಿ ಮತ್ತು ನಿಮ್ಮ ಪುಟ ನಿಮ್ಮ ಸರ್ವರ್ನೊಂದಿಗೆ ಮಾತನಾಡಲಿ. ಇದರಿಂದ ಕೀ ಪುಟದ ಮೂಲ ಕೋಡ್ನಿಂದ ಹೊರಗೂ ಉಳಿಯುತ್ತದೆ.
- ಸರ್ವರ್-ಸೈಡ್ ಕೋಡ್ ಮತ್ತು ಕಮಾಂಡ್-ಲೈನ್ ಟೂಲ್ಗಳಿಗೆ ಪರಿಣಾಮವಿಲ್ಲ: ಈ ನಿಯಮವನ್ನು ಬ್ರೌಸರ್ಗಳು ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತವೆ.
- shannon-ai.com ನಲ್ಲಿ ಸೈನ್ ಇನ್ ಮಾಡುವುದು
/v1ವಿನಂತಿಗಳನ್ನು ದೃಢೀಕರಿಸುವುದಿಲ್ಲ. ಅಲ್ಲಿ ಕುಕೀಗಳನ್ನು ಓದಲಾಗುವುದಿಲ್ಲ; ಕೀ ಮಾತ್ರ ಗುರುತಿನ ಪುರಾವೆ. - ಅನುಮತಿಸಿದ ಮೂಲಕ್ಕೆ (origin), ಬ್ರೌಸರ್
content-type,authorization,x-api-key,anthropic-version,anthropic-beta,openai-betaಮತ್ತುx-request-idಕಳುಹಿಸಬಹುದು, ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ ಹೆಡರ್x-request-idಓದಬಹುದು.
ಕೀ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿಡುವುದು
- ಕೀ ಅನ್ನು ಸರ್ವರ್ನಲ್ಲಿ ಇರಿಸಿ. ವೆಬ್ ಪುಟಗಳು, ಮೊಬೈಲ್ ಆ್ಯಪ್ಗಳು ಅಥವಾ ಸಾರ್ವಜನಿಕ ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಹಾಕಬೇಡಿ: ಅದನ್ನು ಹೊಂದಿರುವವರು ನಿಮ್ಮ ಸಂಪೂರ್ಣ ಬ್ಯಾಲೆನ್ಸ್ ಖರ್ಚು ಮಾಡಬಹುದು.
- ಕೀ ಅನ್ನು ಕೋಡ್ನಲ್ಲಿ ಬರೆಯುವ ಬದಲು ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯಬಲ್ ಅಥವಾ ಸೀಕ್ರೆಟ್ ಸ್ಟೋರ್ನಿಂದ ಲೋಡ್ ಮಾಡಿ.
- ಕೀ ಸೋರಿಕೆಯಾಗಿರಬಹುದಾದರೆ, ಕೀಗಳು ಮತ್ತು ಬಳಕೆಯಲ್ಲಿ ಅದನ್ನು ಬದಲಾಯಿಸಿ. ಹಳೆಯ ಕೀ ತಕ್ಷಣ ಕೆಲಸ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ.
- ಸೋರಿಕೆಯಾದ ನಂತರ, ಕೀಗಳು ಮತ್ತು ಬಳಕೆಯಲ್ಲಿ ವಿನಂತಿ ಪಟ್ಟಿಯನ್ನು ಓದಿ. ಕಳೆದ 30 ದಿನಗಳಲ್ಲಿ ಕೀ ಮಾಡಿದ ಪ್ರತಿ ವಿನಂತಿಯನ್ನು ಅದು ತೋರಿಸುತ್ತದೆ.