JacekAI / README.md
Jacek Zadrożny
Fix Gradio version compatibility - update to 6.1.0
b1e48a7
---
title: JacekAI - A11y Expert
emoji:
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: "6.1.0"
python_version: "3.10"
app_file: app.py
pinned: true
short_description: Inteligentny asystent do spraw dostępności cyfrowej
---
# 🤖 A11y Expert - Asystent Dostępności Cyfrowej
Inteligentny agent AI wyspecjalizowany w dostępności cyfrowej (a11y), wykorzystujący RAG (Retrieval-Augmented Generation) z bazą wiedzy WCAG, ARIA i najlepszych praktyk.
## ✨ Główne Funkcje
- **Obsługa wielu języków**: Płynna rozmowa po polsku i angielsku z automatycznym wykrywaniem języka.
- **Bogata baza wiedzy**: Odpowiedzi oparte na standardach WCAG 2.2, ARIA oraz sprawdzonych praktykach dostępności.
- **Wiarygodne odpowiedzi (RAG)**: Każda odpowiedź jest generowana w oparciu o konkretne źródła z bazy wektorowej, z możliwością cytowania.
- **Streaming odpowiedzi**: Agent generuje odpowiedzi w sposób płynny, token po tokenie.
## 🔧 Architektura i Technologie
- **Interfejs użytkownika**: Gradio
- **Model językowy**: OpenAI GPT-4 (lub nowszy)
- **Wektorowa baza danych**: LanceDB do przechowywania i przeszukiwania wiedzy.
- **Wyszukiwanie semantyczne**: Architektura RAG do precyzyjnego odnajdywania informacji.
---
## 🛠️ Uruchomienie i Rozwój
### 1. Wymagania wstępne
- Python 3.10+
- Klucz API OpenAI
### 2. Instalacja lokalna
1. **Sklonuj repozytorium:**
```bash
git clone <URL_repozytorium>
cd <nazwa_repozytorium>
```
2. **Zainstaluj zależności:**
```bash
pip install -r requirements.txt
```
3. **Skonfiguruj zmienne środowiskowe:**
- Skopiuj plik `.env.example` do `.env`:
```bash
cp .env.example .env
```
- Otwórz plik `.env` i wklej swój klucz API OpenAI:
```
OPENAI_API_KEY="sk-..."
```
4. **Uruchom aplikację:**
```bash
python app.py
```
Aplikacja będzie dostępna pod adresem `http://127.0.0.1:7860`.
### 3. Testowanie
Przed wdrożeniem warto uruchomić prosty test startowy, aby upewnić się, że agent inicjalizuje się poprawnie:
```bash
python test_startup.py
```
---
## ☁️ Wdrożenie na Hugging Face Spaces
Aplikacja jest skonfigurowana do wdrożenia jako Gradio App na Hugging Face Spaces.
### 1. Konfiguracja w Hugging Face
- W ustawieniach swojego Space, w sekcji **Secrets**, dodaj sekret o nazwie `OPENAI_API_KEY` i wklej swój klucz API.
### 2. Kluczowe aspekty wdrożenia
- **Baza danych `lancedb`**: Baza jest tylko do odczytu i musi znajdować się w repozytorium, aby była dostępna dla aplikacji. Zalecane jest użycie `git lfs` do śledzenia katalogu `lancedb/`.
- **Plik `app.py`**: Logika startowa aplikacji jest dostosowana do wymogów HF Spaces - nie używa bloku `if __name__ == "__main__:"` do uruchomienia i nie wymaga ręcznego wywoływania `demo.launch()`.
- **Zarządzanie zasobami**: Mechanizm `atexit` został celowo wyłączony, aby uniknąć przedwczesnego zamykania aplikacji w środowisku HF Spaces.
## 📄 Licencja
Ten projekt służy celom edukacyjnym. Baza wiedzy pochodzi z publicznych źródeł (W3C, MDN).