KorChat / README.md
jaczad's picture
Bibliografia już się wyświetla prawidłowo
6805005
---
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)