Skip to content

AI-powered data analysis tool with multiple LLM support (GPT-4, Claude, Gemini) for automated insights

License

Notifications You must be signed in to change notification settings

ergon73/multi-llm-data-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Анализатор Π΄Π°Π½Π½Ρ‹Ρ… с Multi-LLM

Π’Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… 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-ΠΎΡ‚Ρ‡Ρ‘Ρ‚ автоматичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ изобраТСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΈ автоматичСского Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (Ссли ΠΎΠ½ΠΈ построСны).
  • Имя Ρ„Π°ΠΉΠ»Π°: Ссли Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅ Π΅ΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°, Π² ΠΈΠΌΠ΅Π½ΠΈ PDF-Ρ„Π°ΠΉΠ»Π° указываСтся Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ LLM-ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, analytics-report-GPT-4_1-2025-07-14.pdf).

ΠŸΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

  • Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘Β», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ порциями.

Π£ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΈ UX

  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ устойчив ΠΊ ошибкам (undefined/null), всС дСйствия ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ пояснСниями.
  • Π’ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ ИИ-заполнСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ» с пояснСниСм для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° пропусков

  1. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π°
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° пропуски
    • Если Π΅ΡΡ‚ΡŒ пропуски, появляСтся модальноС ΠΎΠΊΠ½ΠΎ с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ:
      • "ΠžΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ строки с пропусками"
      • "Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ пропуски срСдним (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для числовых ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ)"
      • "Π ΡƒΡ‡Π½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅" β€” для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с пропусками ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ввСсти Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ВсС пропуски Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.
      • "Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИИ" β€” для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с пропусками запускаСтся Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… строк, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ значСния с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ увСрСнности. МоТно ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ всС подсказки ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния (Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список, Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π²Π²ΠΎΠ΄). Π‘Ρ‚Ρ€ΠΎΠΊΠΈ с Π½ΠΈΠ·ΠΊΠΎΠΉ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ.
  3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…
    • ПослС Π²Ρ‹Π±ΠΎΡ€Π° ΠΈ заполнСния Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ
    • Волько послС этого запускаСтся Π°Π½Π°Π»ΠΈΠ· ΠΈ визуализация

UX для ИИ-заполнСния пропусков

  • Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с пропусками открываСтся Π΄ΠΈΠ°Π»ΠΎΠ³:
    • Π’Π°Π±Π»ΠΈΡ†Π° строк с пропусками, для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ β€” подсказка ΠΎΡ‚ ИИ, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ увСрСнности, Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ»Π΅ для Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°
    • Кнопки "ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС подсказки" ΠΈ "ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅"
    • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ способу
    • Π‘Ρ‚Ρ€ΠΎΠΊΠΈ с Π½ΠΈΠ·ΠΊΠΎΠΉ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ автоматичСскоС построСниС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ

  1. РаспознаваниС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:
    • ЧисловыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (year, condition, odometer, mmr, sellingprice)
    • ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (make, model, color, etc.)
    • Π”Π°Ρ‚Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌ Π΄Π°Ρ‚)
  2. АвтоматичСскоС созданиС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²:
    • 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

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния (.env)

# 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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ UX ΠΏΡ€ΠΈ пропусках

Π’ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ пропуски:
- Колонка "body": 5 строк
- Колонка "sellingprice": 2 строки
Π§Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с пропусками?
[ ] ΠžΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ строки с пропусками
[ ] Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ пропуски срСдним (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для числовых ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ)
[ ] Π ΡƒΡ‡Π½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
[ ] Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИИ
[ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ]

АрхитСктура

Backend (Python/Flask)

  • pdf_server.py: Основной сСрвСр с API endpoints
  • llm/: ΠœΠΎΠ΄ΡƒΠ»ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с LLM ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌΠΈ
    • main_processor.py β€” Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π° LLM
    • openai_helper.py β€” Ρ€Π°Π±ΠΎΡ‚Π° с OpenAI
    • yandex_gpt_helper.py β€” Ρ€Π°Π±ΠΎΡ‚Π° с YandexGPT
    • gigachat_helper.py β€” Ρ€Π°Π±ΠΎΡ‚Π° с GigaChat

Frontend (React/TypeScript)

  • App.tsx: Основной ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ пропусков
  • components/: UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹
    • FileUpload.tsx β€” Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²
    • ModelSelector.tsx β€” Π²Ρ‹Π±ΠΎΡ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ LLM
    • AnalysisResult.tsx β€” ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² с автоматичСскими Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ
    • ManualFillDialog.tsx β€” Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ пропусков
    • AIFillDialog.tsx β€” ИИ-Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ пропусков с подсказками
  • api/: HTTP ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²
  • types/: TypeScript Ρ‚ΠΈΠΏΡ‹

API Endpoints

  • POST /api/upload β€” Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π° (CSV, Excel, PDF)
  • POST /api/analyze β€” Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… LLM
  • POST /api/report β€” гСнСрация PDF ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°
  • POST /api/fill-missing-ai β€” ИИ-подсказки для заполнСния пропусков
  • GET /api/test β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности

TODO/ΠŸΠ»Π°Π½Ρ‹

  • Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ пропусков с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИИ (LLM) для слоТных случаСв
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ построчноС Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ статистика ΠΈ визуализация
  • НастраиваСмый Ρ€Π°Π·ΠΌΠ΅Ρ€ страницы Π² интСрфСйсС
  • ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π°
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ развиваСтся!


Автор: Π“Π΅ΠΎΡ€Π³ΠΈΠΉ БСлянин (Georgy Belyanin) β€” georgy.belyanin@gmail.com

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ: https://github.com/ergon73/multi-llm-data-analyzer

About

AI-powered data analysis tool with multiple LLM support (GPT-4, Claude, Gemini) for automated insights

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published