Files
marketing-parser/OPENAI_SETUP.md
T
2025-10-13 18:25:37 +05:00

2.9 KiB

Настройка OpenAI API

Проблема

Получена ошибка 401 Unauthorized при обращении к OpenAI API. Это означает, что API ключ недействителен или истек.

Решение

1. Получите новый API ключ OpenAI

  1. Перейдите на OpenAI Platform
  2. Войдите в свой аккаунт или создайте новый
  3. Перейдите в раздел "API Keys"
  4. Создайте новый API ключ
  5. Скопируйте ключ (он начинается с sk-)

2. Настройте API ключ

Вариант A: Переменная окружения (рекомендуется)

export OPENAI_API_KEY=sk-your-actual-api-key-here

Вариант B: Прямо в application.properties

Откройте файл src/main/resources/application.properties и замените:

openai.api.key=your-openai-api-key-here

на:

openai.api.key=sk-your-actual-api-key-here

3. Проверьте настройки

Убедитесь, что в application.properties правильно настроены:

# OpenAI Configuration
openai.api.key=${OPENAI_API_KEY:your-openai-api-key-here}
openai.api.url=https://api.openai.com/v1/chat/completions
openai.model.name=gpt-4o-mini
openai.timeoutMs=90000

4. Тестирование

После настройки API ключа:

  1. Перезапустите приложение
  2. Откройте GET /api/openai/test для проверки подключения
  3. Проверьте логи на наличие ошибок

5. Возможные проблемы

  • 401 Unauthorized: Неверный или истекший API ключ
  • 429 Rate Limit: Превышен лимит запросов
  • 500 Server Error: Временная проблема с сервером OpenAI

6. Безопасность

⚠️ Важно: Никогда не коммитьте реальные API ключи в репозиторий!

  • Используйте переменные окружения
  • Добавьте application.properties в .gitignore если содержит секреты
  • Используйте отдельные файлы конфигурации для продакшена

Пример использования

После настройки API ключа сервис будет работать автоматически:

@Autowired
private OpenAIAnalyticsService openAIAnalyticsService;

// Анализ текста
MarketItem.Analytics analytics = openAIAnalyticsService.analyzeText("Ваш текст здесь");

// Генерация контента
String result = openAIAnalyticsService.generateWithInstruction(
    "Данные для анализа",
    "Напиши краткий отчет"
);