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

90 lines
2.9 KiB
Markdown

# Настройка OpenAI API
## Проблема
Получена ошибка `401 Unauthorized` при обращении к OpenAI API. Это означает, что API ключ недействителен или истек.
## Решение
### 1. Получите новый API ключ OpenAI
1. Перейдите на [OpenAI Platform](https://platform.openai.com/)
2. Войдите в свой аккаунт или создайте новый
3. Перейдите в раздел "API Keys"
4. Создайте новый API ключ
5. Скопируйте ключ (он начинается с `sk-`)
### 2. Настройте API ключ
#### Вариант A: Переменная окружения (рекомендуется)
```bash
export OPENAI_API_KEY=sk-your-actual-api-key-here
```
#### Вариант B: Прямо в application.properties
Откройте файл `src/main/resources/application.properties` и замените:
```properties
openai.api.key=your-openai-api-key-here
```
на:
```properties
openai.api.key=sk-your-actual-api-key-here
```
### 3. Проверьте настройки
Убедитесь, что в `application.properties` правильно настроены:
```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 ключа сервис будет работать автоматически:
```java
@Autowired
private OpenAIAnalyticsService openAIAnalyticsService;
// Анализ текста
MarketItem.Analytics analytics = openAIAnalyticsService.analyzeText("Ваш текст здесь");
// Генерация контента
String result = openAIAnalyticsService.generateWithInstruction(
"Данные для анализа",
"Напиши краткий отчет"
);
```