Skip to content

đź§  Inteligentna aplikacja web wykorzystujÄ…ca metodÄ™ sokratejskÄ… z OpenAI GPT-4o-mini. Naucza przez pytania prowadzÄ…ce zamiast gotowych odpowiedzi. Streamlit + Python.

License

Notifications You must be signed in to change notification settings

AlanSteinbarth/Sokrates

Okładka projektu Sokrates

🧠 Sokrates - Twój cyfrowy nauczyciel 🤖

Python Streamlit OpenAI License Status Commits Last Commit

"Wiem, ĹĽe nic nie wiem" - Sokrates

🧠 Sokrates - Twój cyfrowy nauczyciel 🤖 to inteligentna aplikacja nauczająca wykorzystująca metodę sokratejską. Zamiast podawać gotowe odpowiedzi, prowadzi uczniów do samodzielnego odkrywania wiedzy przez przemyślane pytania prowadzące.

🎬 Demo & Live Preview

  • ⚡ Quick Start: Aplikacja gotowa w 2 minuty - zobacz Szybki Start

✨ Funkcje

🎯 Metoda Sokratejska

  • Pytania prowadzÄ…ce zamiast gotowych odpowiedzi
  • Progresywny system pomocy z licznikiem "nie wiem" (0-4)
  • Personalizowane nauczanie dostosowane do stylu uczenia siÄ™

👤 Profile Uczniów

  • Indywidualne konta z osobnÄ… pamiÄ™ciÄ… dla kaĹĽdego ucznia
  • Automatyczne wykrywanie faktĂłw o stylu nauki
  • Lokalne przechowywanie danych zgodnie z RODO

đź’ˇ Inteligentny System Pomocy

  • 0-2 "nie wiem": Tylko pytania prowadzÄ…ce
  • 3 "nie wiem": WskazĂłwki i częściowe odpowiedzi
  • 4+ "nie wiem": PeĹ‚na odpowiedĹş z wyjaĹ›nieniem
  • Przycisk "Udziel odpowiedzi teraz" do omijania procesu

📊 Monitoring i Analityka

  • Ĺšledzenie kosztĂłw API w PLN
  • Historia nauki z moĹĽliwoĹ›ciÄ… edycji
  • Przejrzysty interfejs z intuicyjnÄ… nawigacjÄ…

🚀 Szybki Start

Wymagania

  • Python 3.8+
  • Klucz API OpenAI
  • Streamlit

Instalacja

  1. Sklonuj repozytorium:
git clone https://github.com/AlanSteinbarth/Sokrates.git
cd Sokrates
  1. Zainstaluj zależności:
pip install -r requirements.txt
  1. Skonfiguruj zmienne środowiskowe:
cp .env.example .env
# Edytuj .env i dodaj swĂłj klucz OpenAI API
  1. Uruchom aplikacjÄ™:
streamlit run app.py
  1. OtwĂłrz w przeglÄ…darce:
http://localhost:8501

Lub wyprĂłbuj Live Demo: https://sokrates.streamlit.app/

🎓 Jak używać

Logowanie

  1. Podaj swoje imię na stronie głównej
  2. Kliknij "🚀 Start" aby rozpocząć naukę

Nauka metodÄ… sokratejskÄ…

  1. Zadaj pytanie w polu czatu
  2. Odpowiadaj na pytania prowadzÄ…ce Sokratesa
  3. Powiedz "nie wiem" gdy potrzebujesz pomocy
  4. Używaj przycisku "Udziel odpowiedzi teraz" do pominięcia procesu

ZarzÄ…dzanie profilem

  • Automatyczne wykrywanie: System analizuje Twoje odpowiedzi
  • Potwierdzanie faktĂłw: Wybierz, co chcesz zapisać
  • Edycja profilu: UsuĹ„ nieaktualne informacje przyciskiem 🗑️

đź”§ Konfiguracja

Zmienne środowiskowe (.env)

OPENAI_API_KEY=sk-your-api-key-here

Struktura projektu

Sokrates/
├── app.py                 # Główna aplikacja
├── requirements.txt       # Zależności Python
├── .env.example          # Przykładowa konfiguracja
├── README.md             # Dokumentacja
├── LICENSE               # Licencja MIT
└── db/                   # Baza danych
    ├── students/         # Profile uczniów
    └── conversations/    # Historia rozmów

🏗️ Architektura Techniczna

Stack Technologiczny

  • Frontend: Streamlit (Python web framework)
  • Backend: Python 3.8+
  • AI/ML: OpenAI GPT-4o-mini API
  • Data Storage: JSON files (RODO-compliant)
  • Environment: Cross-platform (Windows, macOS, Linux)

Kluczowe Komponenty

  • Socratic Engine: Logika pytaĹ„ prowadzÄ…cych z progresywnym systemem pomocy
  • Memory System: Personalizacja na podstawie profilu ucznia
  • Cost Tracker: Monitoring kosztĂłw API w czasie rzeczywistym
  • Admin Panel: ZarzÄ…dzanie uĹĽytkownikami i statystyki

📑 Spis treści

🖥️ Kompatybilność z systemami operacyjnymi

Aplikacja Sokrates działa na wszystkich głównych systemach operacyjnych: Windows, Linux, macOS.

  • Do obsĹ‚ugi plikĂłw wykorzystywany jest pathlib, co zapewnia przenoĹ›ność Ĺ›cieĹĽek.
  • Pliki zapisywane sÄ… w kodowaniu UTF-8.
  • Testy automatyczne sprawdzajÄ… poprawność zapisu/odczytu profilu ucznia na różnych OS.

Testowanie kompatybilności

Aby uruchomić testy sprawdzające działanie na Twoim systemie:

pip install pytest
pytest test_cross_os.py

Wszelkie błędy zgłaszaj przez GitHub Issues.

🔒 Prywatność i RODO

Bezpieczeństwo danych

  • Lokalne przechowywanie: Wszystkie dane pozostajÄ… na Twoim urzÄ…dzeniu
  • Brak wysyĹ‚ania: Dane nie sÄ… przekazywane na zewnÄ™trzne serwery
  • PeĹ‚na kontrola: MoĹĽesz przeglÄ…dać, edytować i usuwać swoje dane
  • Transparentność: Widzisz wszystko, co system o Tobie wie

Co jest zapisywane

  • Poziom wiedzy w różnych dziedzinach
  • SposĂłb uczenia siÄ™ i preferencje
  • TrudnoĹ›ci w nauce i postÄ™py
  • Zainteresowania naukowe

Co NIE jest zapisywane

  • Dane osobowe (adres, telefon, email)
  • Informacje wraĹĽliwe
  • PeĹ‚na historia rozmĂłw

🤝 Współpraca

Chcesz pomóc w rozwoju projektu? Świetnie! Zobacz CONTRIBUTING.md po szczegóły.

Zgłaszanie błędów

Użyj GitHub Issues do zgłoszenia problemu.

Propozycje funkcji

Prześlij Pull Request lub otwórz Issue z opisem.

📝 Licencja

Ten projekt jest licencjonowany na licencji MIT - zobacz plik LICENSE po szczegóły.

👨‍💻 Autor

Alan Steinbarth

🙏 Podziękowania

  • OpenAI za API GPT-4o-mini
  • Streamlit za framework UI
  • SpoĹ‚eczność Python za niesamowite biblioteki

📊 Statystyki

  • Wersja: 2.3.0
  • Status: Produkcyjna
  • JÄ™zyk: Polski
  • Framework: Streamlit
  • AI Model: GPT-4o-mini
  • Data wydania: 17.06.2025

💡 Wskazówka: Sokrates działa najlepiej gdy jesteś otwarty na myślenie i eksplorację! Nie bój się powiedzieć "nie wiem" - to właśnie napędza proces nauki.

🚀 Roadmapa Rozwoju

Planowane Funkcje

  • Export profilu ucznia (JSON, CSV, PDF)
  • Dashboard z wykresami postÄ™pĂłw
  • Tryb offline z podstawowÄ… funkcjonalnoĹ›ciÄ…
  • API dla integracji z LMS
  • Wsparcie dla wiÄ™kszej liczby modeli AI
  • Testy jednostkowe i integracyjne

Zrealizowane w v2.3.0

  • âś… Panel administracyjny z statystykami
  • âś… System zarzÄ…dzania profilami uczniĂłw
  • âś… Monitoring kosztĂłw API
  • âś… Cross-platform compatibility

🖼️ Przykładowe zrzuty ekranu

Packages

No packages published

Languages