#!/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