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