--- 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 cd ``` 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).