## πŸš€ Быстрый старт - OpenAI интСграция ### Π¨Π°Π³ 1️⃣: ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ OpenAI API ΠΊΠ»ΡŽΡ‡ 1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° https://platform.openai.com/account/api-keys 2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ (Ссли Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚) 3. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: `sk-...`) ### Π¨Π°Π³ 2️⃣: НастройтС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» `PerfReviewSummarizer.Api/appsettings.json`: ```json { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "GitRepository": { "DefaultPath": "." }, "OpenAI": { "ApiKey": "sk-xxx... (Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ваш API ΠΊΠ»ΡŽΡ‡ здСсь)" } } ``` ### Π¨Π°Π³ 3️⃣: ЗапуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ```bash cd PerfReviewSummarizer.Api dotnet run ``` ### Π¨Π°Π³ 4️⃣: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅: **http://localhost:5000** 1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ **"AI Summary (OpenAI)"** 2. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: - ΠŸΡƒΡ‚ΡŒ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `.` - тСкущая ΠΏΠ°ΠΏΠΊΠ°) - ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ (ΠΊΠ²Π°Ρ€Ρ‚Π°Π», ΠΏΠΎΠ»ΡƒΠ³ΠΎΠ΄ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄) 3. НаТмитС **"ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ AI Summary"** 4. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ красивоС Ρ€Π΅Π·ΡŽΠΌΠ΅ ΠΎΡ‚ GPT! πŸŽ‰ ### πŸ“ ДоступныС адрСса - **Π’Π΅Π±-интСрфСйс**: http://localhost:5000 - **Swagger докумСнтация**: http://localhost:5000/swagger - **API Summary**: POST http://localhost:5000/api/summary/ai ### πŸ”§ ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния) ВмСсто `appsettings.json` ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния: **Windows PowerShell:** ```powershell $env:OPENAI__APIKEY = "sk-..." dotnet run ``` **Windows CMD:** ```cmd set OPENAI__APIKEY=sk-... dotnet run ``` **Linux/Mac:** ```bash export OPENAI__APIKEY=sk-... dotnet run ``` ### πŸ§ͺ ВСстированиС API **Π§Π΅Ρ€Π΅Π· curl:** ```bash curl -X POST http://localhost:5000/api/summary/ai ` -H "Content-Type: application/json" ` -d '{"period":"quarter"}' ``` **Π§Π΅Ρ€Π΅Π· PowerShell:** ```powershell $body = @{ period = "quarter" } | ConvertTo-Json Invoke-RestMethod -Uri "http://localhost:5000/api/summary/ai" ` -Method Post -Body $body -ContentType "application/json" ``` ### ⚑ Π§Ρ‚ΠΎ происходит ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ? 1. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ· git рСпозитория 2. Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² 3. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ ΠΈΡ… Π½Π° OpenAI API с ΠΏΡ€ΠΎΠΌΠΏΡ‚ΠΎΠΌ 4. GPT Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡŽΠΌΠ΅ Π½Π° русском языкС 5. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² красивом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ### 🎯 ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования **Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ 1: РСзюмС Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ²Π°Ρ€Ρ‚Π°Π»** ```json POST /api/summary/ai { "period": "quarter" } ``` **Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ 2: РСзюмС Π·Π° ΠΏΠΎΠ»ΡƒΠ³ΠΎΠ΄ΠΈΠ΅ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ рСпозитория** ```json POST /api/summary/ai { "repositoryPath": "C:/Projects/MyProject", "period": "halfyear" } ``` **Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ 3: РСзюмС Π·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄** ```json 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 докумСнтация](https://platform.openai.com/docs) - [Pricing](https://openai.com/pricing) - GPT-3.5-turbo ΠΎΡ‡Π΅Π½ΡŒ доступный - [API Status](https://status.openai.com/) --- **ΠΠ°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡ‚Π΅ΡΡŒ автоматичСским Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²! πŸŽ‰**