--- title: KorChat emoji: 📚 colorFrom: blue colorTo: gray sdk: gradio sdk_version: 5.38.0 app_file: chatbot.py pinned: false license: cc-by-sa-4.0 short_description: Asystent zatrudniania osób z niepełnosprawnościami --- # Asystent HR dla pracodawców zatrudniających osoby z niepełnosprawnościami ## Funkcjonalności - Wykorzystuje dokumenty PDF jako bazę wiedzy, przetwarza je na wektorową bazę danych (FAISS) w pamięci - Pozwala na zadawanie pytań w języku polskim z konwersacyjną pamięcią kontekstu (ChatOpenAI, model GPT-4o-mini) - Odpowiedzi generowane są wyłącznie na podstawie treści dokumentów PDF, wybranych stron internetowych (z pliku `urls.txt`) oraz hardkodowanych fragmentów (np. wysokości dofinansowań PFRON) - Każda odpowiedź zawiera źródło informacji (nazwa pliku PDF, strona, sekcja lub URL) - Obsługuje interaktywny tryb konsolowy z komendami: `stats`, `clear`, `quit`/`exit`/`q` - Przetwarza dokumenty PDF z zachowaniem struktury (chunkowanie sekcji, nagłówków, stron) - Pobiera i przetwarza treści z wybranych stron internetowych (BeautifulSoup, requests) - Loguje przebieg działania i błędy (logging) ## Źródła wiedzy - Pliki PDF z katalogu `pdfs/` - Adresy URL z pliku `urls.txt` - Hardkodowane fragmenty (np. wysokość dofinansowań PFRON) ## Wymagania - Python 3.10+ - Klucz API OpenAI (zmienna środowiskowa `OPENAI_API_KEY`) - Zainstalowane pakiety: `langchain`, `langchain_openai`, `langchain_community`, `fitz` (PyMuPDF), `requests`, `beautifulsoup4` ## Uruchomienie 1. Ustaw zmienną środowiskową `OPENAI_API_KEY` z własnym kluczem OpenAI 2. Umieść pliki PDF w katalogu `pdfs/` 3. (Opcjonalnie) Dodaj adresy URL do pliku `urls.txt` (jeden w linii) 4. Zainstaluj wymagane pakiety: ```bash pip install -r requirements.txt ``` 5. Uruchom program: ```bash python hr_assistant.py ``` ## Tryb interaktywny Program uruchamia się w trybie konsolowym. Dostępne komendy: - `stats` — wyświetla statystyki bazy wiedzy - `clear` — czyści pamięć konwersacji - `quit`/`exit`/`q` — kończy program ## Dodatkowe informacje - Odpowiedzi generowane są wyłącznie na podstawie załadowanych dokumentów i stron. - Każda odpowiedź zawiera źródło (nazwa pliku PDF, strona, sekcja lub URL). - Baza wiedzy jest ładowana do pamięci przy starcie programu i nie jest aktualizowana w trakcie działania. - Logi działania i błędów zapisywane są na konsoli. ## Autor Jacek (2024-2025)