4.6 KiB
4.6 KiB
🚀 Быстрый старт - OpenAI интеграция
Шаг 1️⃣: Получите OpenAI API ключ
- Перейдите на https://platform.openai.com/account/api-keys
- Создайте новый ключ (если ещё нет)
- Скопируйте ключ (формат:
sk-...)
Шаг 2️⃣: Настройте конфигурацию
Отредактируйте файл PerfReviewSummarizer.Api/appsettings.json:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"GitRepository": {
"DefaultPath": "."
},
"OpenAI": {
"ApiKey": "sk-xxx... (вставьте ваш API ключ здесь)"
}
}
Шаг 3️⃣: Запустите приложение
cd PerfReviewSummarizer.Api
dotnet run
Шаг 4️⃣: Используйте приложение
Откройте в браузере: http://localhost:5000
- Выберите вкладку "AI Summary (OpenAI)"
- Укажите параметры:
- Путь к репозиторию (по умолчанию
.- текущая папка) - Период (квартал, полугодие или произвольный период)
- Путь к репозиторию (по умолчанию
- Нажмите "Получить AI Summary"
- Получите красивое резюме от GPT! 🎉
📍 Доступные адреса
- Веб-интерфейс: http://localhost:5000
- Swagger документация: http://localhost:5000/swagger
- API Summary: POST http://localhost:5000/api/summary/ai
🔧 Альтернативный способ конфигурации (переменные окружения)
Вместо appsettings.json можно использовать переменные окружения:
Windows PowerShell:
$env:OPENAI__APIKEY = "sk-..."
dotnet run
Windows CMD:
set OPENAI__APIKEY=sk-...
dotnet run
Linux/Mac:
export OPENAI__APIKEY=sk-...
dotnet run
🧪 Тестирование API
Через curl:
curl -X POST http://localhost:5000/api/summary/ai `
-H "Content-Type: application/json" `
-d '{"period":"quarter"}'
Через PowerShell:
$body = @{ period = "quarter" } | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:5000/api/summary/ai" `
-Method Post -Body $body -ContentType "application/json"
⚡ Что происходит под капотом?
- Приложение читает коммиты из git репозитория
- Извлекает сообщения коммитов
- Отправляет их на OpenAI API с промптом
- GPT анализирует и генерирует резюме на русском языке
- Возвращает результат в красивом формате
🎯 Примеры использования
Сценарий 1: Резюме за текущий квартал
POST /api/summary/ai
{
"period": "quarter"
}
Сценарий 2: Резюме за полугодие для конкретного репозитория
POST /api/summary/ai
{
"repositoryPath": "C:/Projects/MyProject",
"period": "halfyear"
}
Сценарий 3: Резюме за произвольный период
POST /api/summary/ai
{
"startDate": "2024-01-01",
"endDate": "2024-01-31"
}
❌ Решение проблем
Ошибка: "OpenAI API ключ не найден в конфигурации"
- ✅ Проверьте что API ключ добавлен в
appsettings.json - ✅ Убедитесь что ключ начинается с
sk-
Ошибка: "Ошибка OpenAI API: 401"
- ✅ Ключ невалиден или истёк - получите новый на https://platform.openai.com/account/api-keys
- ✅ Проверьте что нет пробелов в начале/конце ключа
Ошибка: "Ошибка OpenAI API: 429"
- ✅ Слишком много запросов - подождите несколько минут
Ошибка: "Ошибка OpenAI API: 500"
- ✅ Проблема на стороне OpenAI - попробуйте позже
📚 Дополнительная информация
- OpenAI документация
- Pricing - GPT-3.5-turbo очень доступный
- API Status
Наслаждайтесь автоматическим анализом ваших коммитов! 🎉