Аутентификация
Узнайте, как аутентифицироваться в AITUNNEL с помощью API-ключей и Bearer токенов. Полное руководство по безопасным методам аутентификации и лучшим практикам.
Вы можете оплачивать использование моделей с помощью API-ключей AITUNNEL.
Наш API аутентифицирует запросы с помощью Bearer токенов. Это позволяет вам использовать curl
или OpenAI SDK напрямую с AITUNNEL.
Использование API-ключа
Чтобы использовать API-ключ, сначала создайте ваш ключ. Дайте ему имя, и вы можете опционально установить кредитный лимит.
Если вы вызываете API AITUNNEL напрямую, установите заголовок Authorization
как Bearer токен с вашим API-ключом.
Если вы используете OpenAI Typescript SDK, установите api_base
как https://api.aitunnel.ru/v1
и apiKey
как ваш API-ключ.
fetch("https://api.aitunnel.ru/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer <AITUNNEL_API_KEY>",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-4o",
messages: [
{
role: "user",
content: "В чем смысл жизни?",
},
],
}),
});
import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "https://api.aitunnel.ru/v1",
apiKey: "<AITUNNEL_API_KEY>",
});
async function main() {
const completion = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Скажи, что это тест" }],
});
console.log(completion.choices[0].message);
}
main();
import openai
openai.api_base = "https://api.aitunnel.ru/v1"
openai.api_key = "<AITUNNEL_API_KEY>"
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=[...],
)
reply = response.choices[0].message
curl https://api.aitunnel.ru/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AITUNNEL_API_KEY" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "Вы - полезный ассистент."},
{"role": "user", "content": "Привет!"}
]
}'
Для стриминга с Python, см. этот пример от OpenAI.
Безопасность
Важно
Вы должны защищать свои API-ключи и никогда не коммитить их в публичные репозитории. Настоятельно рекомендуется использовать переменные окружения и не хранить ключи в кодовой базе.