feat: unify multimodels translation providers, remove self-hosting (Ollama/LibreTranslate), and fix local SQLite configuration
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m21s

This commit is contained in:
2026-06-14 10:44:46 +02:00
parent feea02033b
commit 5fd087979b
21 changed files with 157 additions and 1942 deletions

View File

@@ -22,7 +22,7 @@
| Google Translate | Classique | Non (via deep_translator) |
| DeepL | Classique | Oui (`DEEPL_API_KEY`) |
| OpenAI (GPT-4o-mini) | LLM | Oui (`OPENAI_API_KEY`) |
| Ollama (Llama3) | LLM local | Non (local) |
| DeepSeek / Minimax | LLM | Oui (`DEEPSEEK_API_KEY` / `MINIMAX_API_KEY`) |
| OpenRouter | LLM | Oui (`OPENROUTER_API_KEY`) |
Les fournisseurs sont utilisés via une **chaîne de fallback** configurable (si un échoue, le suivant prend le relais).
@@ -165,21 +165,7 @@ Le frontend est accessible sur http://localhost:3000
## Services optionnels en production
### Ollama (LLM local)
Pour utiliser un modèle LLM local (Ollama), ajouter le profil `with-ollama` :
```bash
docker compose --profile with-ollama up -d
```
Configurer dans `.env` :
```env
TRANSLATION_SERVICE=ollama
OLLAMA_BASE_URL=http://ollama:11434
OLLAMA_MODEL=llama3
```
### Monitoring (Prometheus + Grafana)
@@ -210,7 +196,7 @@ docker compose --profile with-monitoring up -d
3. **Choisir la langue source** et la **langue cible**
4. **Sélectionner le mode de traduction** :
- **Classique** : Google Translate / DeepL (rapide, < 15 sec)
- **LLM** : Ollama / OpenAI (1-3 min, meilleure qualité contextuelle)
- **LLM** : OpenAI / DeepSeek / Minimax (1-3 min, meilleure qualité contextuelle)
5. Cliquer sur **Traduire**
6. Suivre la **barre de progression** en temps réel
7. **Télécharger** le fichier traduit une fois terminé
@@ -295,7 +281,7 @@ Générer des clés API pour accéder au service programmatiquement :
- Vérifier que le fournisseur de traduction est configuré (`TRANSLATION_SERVICE` dans `.env`)
- Pour Google Translate : aucune clé nécessaire
- Pour DeepL/OpenAI : vérifier que la clé API est valide
- Pour Ollama : vérifier que le service est lancé et que le modèle est téléchargé
- Pour DeepSeek/Minimax : vérifier que la clé API correspondante est configurée
### Logs
@@ -338,7 +324,7 @@ office_translator/
├── alembic/ # Migrations de base de données
├── routes/ # Endpoints API
├── services/ # Logique métier
│ ├── providers/ # Fournisseurs de traduction (Google, DeepL, OpenAI, Ollama)
│ ├── providers/ # Fournisseurs de traduction (Google, DeepL, OpenAI, DeepSeek, etc.)
│ ├── translation_service.py
│ └── ...
├── translators/ # Traducteurs de documents (Excel, Word, PowerPoint)