File size: 3,126 Bytes
1dab660 5fb63e2 1dab660 b1e48a7 32addc8 1dab660 5fb63e2 a010946 1dab660 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 5fb63e2 ed9cfa3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
---
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). |