| --- |
| title: ELAN-Bot |
| emoji: π€ |
| colorFrom: blue |
| colorTo: green |
| sdk: gradio |
| sdk_version: 4.44.0 |
| app_file: app.py |
| pinned: false |
| license: mit |
| --- |
| |
| # ELAN-Bot π€ |
|
|
| A virtual assistant designed to help users with the ELAN annotation software. The bot can answer questions about ELAN usage and modify EAF (ELAN Annotation Format) files based on user instructions. |
|
|
| ## Features |
|
|
| - **Software Usage Help**: Ask questions about ELAN features and functionality |
| - **XML/EAF File Modification**: Provide EAF file content with instructions to modify it |
| - **Multilingual Support**: Available in English, Spanish, Italian, French, and German |
| - **Vector Search**: Uses semantic search to find relevant information from documentation |
| - **Powered by Llama 3.3 70B**: Advanced language model for accurate responses |
|
|
| ## Usage |
|
|
| Simply interact with the chat interface: |
|
|
| - **Ask questions**: "How can I add a new tier in ELAN?" |
| - **Modify EAF files**: Paste your EAF content with instructions at the beginning like: |
| ``` |
| instructions: change the participant name from Eleonora to Gianni |
| |
| <?xml version="1.0" encoding="UTF-8"?> |
| <ANNOTATION_DOCUMENT...> |
| ``` |
|
|
| ## Examples |
|
|
| Try these sample questions: |
| - "How can I add a new tier in ELAN?" |
| - "ΒΏCΓ³mo puedo exportar anotaciones en formato txt?" |
| - "Come posso cercare all'interno delle annotazioni?" |
|
|
| ## Configuration |
|
|
| The app requires a HF_TOKEN environment variable to be set in the Hugging Face Spaces settings for accessing the Llama model. |
| |
| ## Technical Details |
| |
| - **Backend**: Python with Gradio interface |
| - **Vector Search**: Qdrant + SentenceTransformers |
| - **LLM**: Meta Llama 3.3 70B Instruct via Hugging Face Inference API |
| - **Text Processing**: tiktoken for efficient chunking |
| |
| ## Project Structure |
| |
| ``` |
| elan-bot/ |
| βββ app.py # Main application entry point |
| βββ requirements.txt # Python dependencies |
| βββ config/ |
| β βββ settings.py # Configuration settings |
| βββ prompts/ # Organized prompt templates |
| βββ services/ # Core business logic |
| βββ utils/ # Utility functions |
| βββ ui/ # Gradio interface components |
| βββ data/ # Vector database storage |
| ``` |