90 lines
2.9 KiB
Markdown
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(
|
|
"Данные для анализа",
|
|
"Напиши краткий отчет"
|
|
);
|
|
```
|