Skip to content

🏛️ ChatGPT-Sokrates (NaszGPT)

Interaktywny dashboard stworzony w Streamlit, który służy jako spersonalizowany asystent AI z funkcją dynamicznego zarządzania historią rozmów, modyfikacją kontekstu w locie oraz monitorowaniem kosztów.

🚀 Linki do projektu


🛠️ Główne funkcje

  • Lokalny zapis historii: Automatyczne zapisywanie pełnego kontekstu i wątków rozmów do strukturalnych plików JSON na dysku bez użycia ciężkich baz SQL.
  • Nawigator sesji: Panel boczny pobierający z bazy 5 najnowszych konwersacji z możliwością szybkiego ładowania i przełączania się między nimi.
  • Modyfikacja osobowości: Możliwość dynamicznej edycji promptu systemowego oraz nazwy czatu w locie, co redefiniuje zachowanie bota w czasie rzeczywistym.
  • Kalkulator wydatków live: Bieżące zliczanie tokenów wejściowych oraz wyjściowych z API i natychmiastowe przeliczanie kosztu aktywnego czatu w dwóch walutach (USD oraz PLN).

🔐 Architektura i Bezpieczeństwo (FinOps)

  • Zabezpieczenie budżetu: Aplikacja automatycznie ładuje klucz API z lokalnego pliku .env. W chmurze system wymaga podania własnego klucza w zabezpieczonym formularzu sesyjnym (st.session_state) — pole wejściowe czatu zostaje całkowicie zablokowane do momentu autoryzacji.
  • Responsywny interfejs: Wygląd aplikacji został w pełni dostosowany do systemowego trybu ciemnego (Dark Mode) oraz jasnego użytkownika.

💻 Użyte technologie

  • Język: Python
  • Frontend/Dashboard: Streamlit (Session State, on_change callbacks)
  • Integracje AI: OpenAI API (Model gpt-4o)
  • Przetwarzanie danych & Pliki: JSON, Pathlib
  • Kontrola wersji: Git / GitHub