🏛️ 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
- Aplikacja w chmurze: Uruchom na Streamlit Cloud 🚀
- Kod źródłowy: Zobacz repozytorium na GitHubie 🛠️
🛠️ 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