Logo Lanfrica

splint314/linguao

Domain:

natural language processing

Record type:

software
Creator:
spl
Host:
web app Flask + ollama pour traduire le français vers des langues peu prises en charge par des traducteurs classique (darija, wolof, tahitien) # Linguao Application de traduction français → darija / wolof / tahitien, propulsée par Ollama en few-shot prompting. ## Structure ``` linguao/ ├── backend/ │ ├── app.py # API Flask (/translate, /languages, /health) │ ├── translator.py # sélection d'exemples + prompt few-shot + appel Ollama │ ├── translate_exemples.json # base d'exemples (25 phrases par langue) │ └── requirements.txt └── frontend/ ├── index.html ├── style.css ├── script.js ├── manifest.json # PWA installable └── sw.js ``` ## Prérequis - Ollama installé - Python 3.9+ ## Installation ### 1. Récupérer le projet ```bash git clone git@github.com:splint314/linguao.git cd linguao ``` ### 2. Installer un modèle Ollama ```bash ollama pull aya:8b ``` Voir la section Choix du modèle plus bas si ta machine est modeste. ### 3. Installer les dépendances du backend Debian/Ubuntu bloque `pip install` au niveau système (PEP 668) : il faut passer par un environnement virtuel. ```bash cd backend python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` ## Lancer le projet Il faut 3 terminaux ouverts en même temps. ```bash # Terminal 1 — Ollama (si pas déjà lancé en service) ollama serve # Terminal 2 — Backend cd backend source venv/bin/activate # à refaire à chaque nouveau terminal python app.py # Terminal 3 — Frontend cd frontend python3 -m http.server 8000 ``` Ouvre ensuite **http://localhost:8000** dans le navigateur. Sur mobile, ouvre cette même URL puis "Ajouter à l'écran d'accueil" pour installer l'app (PWA). ### Vérifier que ça tourne ```bash curl localhost # doit renvoyer {"status": "ok"} curl localhost # doit lister darija/wolof/tahitien ``` ## Choix du modèle Le modèle est configuré via `MODEL_NAME` dans `backend/translator.py`. - **`aya:8b`** (Cohere Aya, ~5 Go) : spécifiquement entraîné pour le multilingue et les langues peu dotées, meilleur choix qualité. Demande …