ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ°Π±Π»ΠΈΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ LLM (OpenAI, YandexGPT, GigaChat).
- ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ²: CSV, Excel, PDF
- ΠΠ°Π³ΠΈΠ½Π°ΡΠΈΡ: ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ
- ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ
- ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ : ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ ΠΎΡΠ΅ΠΉ
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ: Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²
- ΠΠΈΠ±ΠΊΠΈΠΉ Π²ΡΠ±ΠΎΡ LLM: ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenAI, YandexGPT, GigaChat Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
OpenAI: (ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ β ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ)
GPT-4.1β ΠΌΠΎΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°GPT-4.1 Miniβ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π·Π°Π΄Π°ΡGPT-4.1 Nanoβ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½Π°Ρ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°
YandexGPT: (ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ β ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ)
yandexgptβ ΠΏΠΎΠ»Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρyandexgpt-liteβ Π±ΡΡΡΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ
GigaChat: (ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ β ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ)
GigaChat:latestβ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡGigaChat:latest-9bβ ΠΎΠ±Π»Π΅Π³ΡΡΠ½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ²: ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ null/NaN/ΠΏΡΡΡΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
- ΠΡΠ±ΡΠΎΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ
- ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ΅Π΄Π½ΠΈΠΌ (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ)
- Π ΡΡΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ β Π²ΡΠ±ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ ΠΈΠ· Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ Π²ΡΡΡΠ½ΡΡ
- ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡ ΠΎΠΆΠΈΡ ΡΡΡΠΎΠΊ, ΠΏΡΠΈΠ½ΡΡΡ Π²ΡΠ΅ ΠΈΠ»ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ: ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ: ΠΠΎΠΏΡΡΠΊΠ° ΡΡΠ΅Π½ΠΈΡ CSV Π² ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ (UTF-8, CP1251)
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²: ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ 100 ΠΠ
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ CSV: Π€Π°ΠΉΠ»Ρ >10 ΠΠ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ 1000 ΡΡΡΠΎΠΊΠ°ΠΌΠΈ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠΎΠ²: CSV, Excel (.xlsx, .xls), PDF
- Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ: ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π±Π΅Π· API-ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ
- Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ: ΠΠΈΠ½ΠΈΠΌΡΠΌ, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ, ΡΡΠ΅Π΄Π½Π΅Π΅, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
- ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ: ΠΡΠ±ΠΎΡ ΠΎΡΠ΅ΠΉ X ΠΈ Y Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ: Bar chart Π΄Π»Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ +ΡΠΈΡΠ»ΠΎΠ²ΡΡ , Line chart Π΄Π»Ρ Π΄Π°Ρ+Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
- ΠΠ°Π³ΠΈΠ½Π°ΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ: ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ
- ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ Π»ΠΎΠ³ΠΈ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ (DEBUG ΡΡΠΎΠ²Π΅Π½Ρ)
- ΠΠΊΡΠΏΠΎΡΡ PDF: Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΡΠ° Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ
- ΠΠ°Π΄ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠ°Π½Π΅Π»Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²:
- ΠΠ»Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ β Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
- ΠΠ»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ β ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° min/max.
- ΠΠ»Ρ Π΄Π°Ρ β Π΄Π²Π° ΠΏΠΎΠ»Ρ Π²ΡΠ±ΠΎΡΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄Π°Ρ.
- ΠΠ½ΠΎΠΏΠΊΠ° Β«Π‘Π±ΡΠΎΡΠΈΡΡ ΡΠΈΠ»ΡΡΡΡΒ» Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ Π²ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΠΎΠ².
- Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ.
- ΠΠ»ΠΎΠΊ ΡΡΡΠ½ΠΎΠΉ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎΠ΄ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΡ ΡΠΈΡΠΈΠ½Ρ.
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠΎΠΈΡΡΡ Π³ΡΠ°ΡΠΈΠΊ ΠΏΠΎ ΡΠΎΠ²Π΅ΡΡ ΠΠ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ ΠΎΡΠΈ X ΠΈ Y.
- ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ) Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ².
- ΠΠ½ΠΎΠΏΠΊΠ° ΡΠΊΡΠΏΠΎΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΡΡΡΡ Ρ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ, Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
- ΠΡΠ±ΠΎΡ ΡΠΈΠΏΠ° ΠΎΡΡΡΡΠ°: ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ, ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² PDF β ΡΠΎΠ»ΡΠΊΠΎ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±Π° Π±Π»ΠΎΠΊΠ°.
- ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²: Π² PDF-ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ).
- ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: Π΅ΡΠ»ΠΈ Π² ΠΎΡΡΡΡΠ΅ Π΅ΡΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°, Π² ΠΈΠΌΠ΅Π½ΠΈ PDF-ΡΠ°ΠΉΠ»Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ LLM-ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
analytics-report-GPT-4_1-2025-07-14.pdf).
- ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠΠΎΠΊΠ°Π·Π°ΡΡ Π΅ΡΡΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΡΠΈΡΠΌΠΈ.
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΡΠΎΠΉΡΠΈΠ² ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ (undefined/null), Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ.
- Π Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ ΠΠ-Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡΒ» Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π°
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠΈ
- ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΈ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ:
- "ΠΡΠ±ΡΠΎΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ"
- "ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΈ ΡΡΠ΅Π΄Π½ΠΈΠΌ (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ)"
- "Π ΡΡΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅" β Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ Π²ΡΡΡΠ½ΡΡ. ΠΡΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
- "ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ" β Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΡ ΠΎΠΆΠΈΡ ΡΡΡΠΎΠΊ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΡΡΠΎΠ²Π½Π΅ΠΌ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΡΡΠ½ΠΎΠΉ Π²Π²ΠΎΠ΄). Π‘ΡΡΠΎΠΊΠΈ Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°ΡΡΡΡ.
- ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΈ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ:
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
- ΠΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ
- Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³:
- Π’Π°Π±Π»ΠΈΡΠ° ΡΡΡΠΎΠΊ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ β ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΠΎΡ ΠΠ, ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ, Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΡΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°
- ΠΠ½ΠΎΠΏΠΊΠΈ "ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ" ΠΈ "ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅"
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠΏΠΎΡΠΎΠ±Ρ
- Π‘ΡΡΠΎΠΊΠΈ Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°ΡΡΡΡ
- Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
:
- Π§ΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (year, condition, odometer, mmr, sellingprice)
- ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (make, model, color, etc.)
- ΠΠ°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ ΠΏΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°ΠΌ Π΄Π°Ρ)
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²:
- Bar chart: ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ + ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, make vs sellingprice)
- Line chart: Π΄Π°ΡΡ + ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, saledate vs sellingprice)
# ΠΡΠΊΠ΅Π½Π΄
pip install -r backend/requirements.txt
# Π€ΡΠΎΠ½ΡΠ΅Π½Π΄
cd frontend && npm install# ΠΡΠΊΠ΅Π½Π΄ (ΠΏΠΎΡΡ 5000)
cd backend && python pdf_server.py
# Π€ΡΠΎΠ½ΡΠ΅Π½Π΄ (ΠΏΠΎΡΡ 3000)
cd frontend && npm startΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° http://localhost:3000
# OpenAI
OPENAI_API_KEY=your_openai_key_here
# YandexGPT
YANDEX_FOLDER_ID=your_folder_id
YANDEX_API_KEY=your_yandex_key_here
# GigaChat
GIGACHAT_CREDENTIALS=your_gigachat_credentials
GIGACHAT_CERT_PATH=russian_trusted_root_ca.cer
# Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ (Π±Π΅Π· API-ΠΊΠ»ΡΡΠ΅ΠΉ)
TEST_MODE=trueΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π±Π΅Π· API-ΠΊΠ»ΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ TEST_MODE=true Π² .env. Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅:
- LLM Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠ΅ ΠΎΡΠ²Π΅ΡΡ
- ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ Π±Π΅Π· ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°
- ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ: 100 ΠΠ
- ΠΠΎΠ»ΡΡΠΈΠ΅ CSV: Π€Π°ΠΉΠ»Ρ >10 ΠΠ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ 1000 ΡΡΡΠΎΠΊΠ°ΠΌΠΈ
- ΠΡΠΈΠ±ΠΊΠ° 413: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ Π»ΠΈΠΌΠΈΡΠ°
- CSV: ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° UTF-8 ΠΈ CP1251 ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΎΠΊ
- Excel: Π§ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π»ΠΈΡΡΠΎΠ² (.xlsx, .xls)
- PDF: ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ
- ΠΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ
- Frontend: Π‘ΡΡΠΎΠ³Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΡΠΊΡΡΡΡ ΠΎΡΠ²Π΅ΡΠ° ΠΎΡ backend
- Backend: ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (DEBUG ΡΡΠΎΠ²Π΅Π½Ρ)
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° NaN: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°ΠΌΠ΅Π½Π° Π½Π° null Π² JSON
Π Π΄Π°Π½Π½ΡΡ
ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΠΏΡΠΎΠΏΡΡΠΊΠΈ:
- ΠΠΎΠ»ΠΎΠ½ΠΊΠ° "body": 5 ΡΡΡΠΎΠΊ
- ΠΠΎΠ»ΠΎΠ½ΠΊΠ° "sellingprice": 2 ΡΡΡΠΎΠΊΠΈ
Π§ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ?
[ ] ΠΡΠ±ΡΠΎΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ
[ ] ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΈ ΡΡΠ΅Π΄Π½ΠΈΠΌ (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ)
[ ] Π ΡΡΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
[ ] ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ
[ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ]
- pdf_server.py: ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Ρ API endpoints
- llm/: ΠΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ LLM ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°ΠΌΠΈ
main_processor.pyβ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π²ΡΠ·ΠΎΠ²Π° LLMopenai_helper.pyβ ΡΠ°Π±ΠΎΡΠ° Ρ OpenAIyandex_gpt_helper.pyβ ΡΠ°Π±ΠΎΡΠ° Ρ YandexGPTgigachat_helper.pyβ ΡΠ°Π±ΠΎΡΠ° Ρ GigaChat
- App.tsx: ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ²
- components/: UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
FileUpload.tsxβ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ²ModelSelector.tsxβ Π²ΡΠ±ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ LLMAnalysisResult.tsxβ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈManualFillDialog.tsxβ ΡΡΡΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ²AIFillDialog.tsxβ ΠΠ-Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌΠΈ
- api/: HTTP ΠΊΠ»ΠΈΠ΅Π½Ρ Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠ΅ΠΉ ΠΎΡΠ²Π΅ΡΠΎΠ²
- types/: TypeScript ΡΠΈΠΏΡ
POST /api/uploadβ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° (CSV, Excel, PDF)POST /api/analyzeβ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ LLMPOST /api/reportβ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ PDF ΠΎΡΡΡΡΠ°POST /api/fill-missing-aiβ ΠΠ-ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ²GET /api/testβ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ
- ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ (LLM) Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π²
- Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΡΡΡΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
- Π Π°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅
- ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π°
- Π£Π»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ!
ΠΠ²ΡΠΎΡ: ΠΠ΅ΠΎΡΠ³ΠΈΠΉ ΠΠ΅Π»ΡΠ½ΠΈΠ½ (Georgy Belyanin) β georgy.belyanin@gmail.com
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ: https://github.com/ergon73/multi-llm-data-analyzer