Files
2026-08-14 16:42:12 +05:00

59 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Скрипт для тестирования OpenAI API ключа
echo "🔍 Тестирование OpenAI API ключа..."
# Проверяем, установлена ли переменная окружения
if [ -z "$OPENAI_API_KEY" ]; then
echo "❌ Переменная окружения OPENAI_API_KEY не установлена"
echo "Установите её командой: export OPENAI_API_KEY=sk-your-api-key-here"
exit 1
fi
# Проверяем формат ключа
if [[ ! $OPENAI_API_KEY =~ ^sk- ]]; then
echo "❌ API ключ должен начинаться с 'sk-'"
exit 1
fi
echo "✅ API ключ найден: ${OPENAI_API_KEY:0:10}..."
# Тестируем API
echo "🚀 Отправка тестового запроса к OpenAI API..."
response=$(curl -s -w "\n%{http_code}" -X POST "https://api.openai.com/v1/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "Привет! Это тест API ключа. Ответь коротко."
}
],
"max_tokens": 50
}')
# Извлекаем HTTP код и тело ответа
http_code=$(echo "$response" | tail -n1)
response_body=$(echo "$response" | head -n -1)
echo "📊 HTTP код: $http_code"
if [ "$http_code" = "200" ]; then
echo "✅ API ключ работает корректно!"
echo "📝 Ответ от OpenAI:"
echo "$response_body" | jq -r '.choices[0].message.content' 2>/dev/null || echo "$response_body"
elif [ "$http_code" = "401" ]; then
echo "❌ Ошибка 401: API ключ недействителен или истек"
echo "📝 Ответ: $response_body"
elif [ "$http_code" = "429" ]; then
echo "⚠️ Ошибка 429: Превышен лимит запросов"
echo "📝 Ответ: $response_body"
else
echo "❌ Ошибка $http_code"
echo "📝 Ответ: $response_body"
fi