@if (errorMessage) {
{{ errorMessage }}
} @if (successMessage) {
{{ successMessage }}
} @if (settings) {

## Moteur IA

Choix du fournisseur de modele de langage utilise par le chat et la generation de pages.

Fournisseur
Ollama (local) 1min.ai (cloud) OpenRouter (cloud) Mistral (cloud) Gemini (cloud)
} @if (settings && settings.llm_provider === 'ollama') {

## Configuration Ollama

URL du serveur Ollama
Modele
@if (ollamaModels.length === 0) {

Aucun modele detecte. Verifie que Ollama tourne et que l'URL est correcte.

}
} @if (settings && settings.llm_provider === 'onemin') {

## Configuration 1min.ai

Cle API @if (settings.onemin_api_key_set) { Effacer la cle enregistree }
Fournisseur
Modele
} @if (settings && settings.llm_provider === 'openrouter') {

## Configuration OpenRouter

Cle API @if (settings.openrouter_api_key_set) { Effacer la cle enregistree }
Modele Gratuits seulement

Liste chargee automatiquement depuis OpenRouter. Pour rester gratuit : un modele marque `· gratuit` ou le routeur `openrouter/free` (choisit un modele gratuit tout seul). Pour les imports, prefere un gratuit a grand contexte (valeur « ctx »).

} @if (settings && settings.llm_provider === 'mistral') {

## Configuration Mistral

Cle API @if (settings.mistral_api_key_set) { Effacer la cle enregistree }
Modele

Cle gratuite sur `console.mistral.ai` (tier « Experiment », sans CB). Pour les imports, prefere `mistral-large-latest` (128k contexte, fidele et bon en francais) ou `mistral-small-latest` (plus rapide).

} @if (settings && settings.llm_provider === 'gemini') {

## Configuration Gemini

Cle API @if (settings.gemini_api_key_set) { Effacer la cle enregistree }
Modele

Cle gratuite sur `aistudio.google.com` (sans CB). Ideal pour les imports : `gemini-2.0-flash` a un contexte ~1M → un livre entier tient en 1-2 appels (plus de morceaux perdus). Pense a monter la taille des morceaux d'import pour en profiter.

} @if (settings) {

## Embeddings (Atelier RAG)

Modèle utilisé pour indexer les sources PDF des ateliers et y faire de la recherche. C'est un modèle séparé du modèle de chat ci-dessus.

Fournisseur d'embeddings
Ollama (local, gratuit) Mistral (cloud, EU)
@if (settings.embedding_provider === 'ollama') {
Modèle d'embedding Ollama

Recommandé : `nomic-embed-text` (léger). Gratuit et illimité (local).

Installer automatiquement le modèle au démarrage s'il manque
}
Extraits récupérés par question (couverture RAG)

Plus haut = l'IA voit plus de passages par question (mieux pour les questions larges « liste les… »), mais prompt plus long. Défaut 8. Avec un modèle gros-contexte (Gemini), tu peux monter à 50-150 pour une couverture quasi « document entier ». Pour les questions exhaustives, préfère le bouton « Analyse approfondie » de l'atelier.

@if (settings.embedding_provider === 'mistral') {
Clé API Mistral @if (settings.mistral_api_key_set) { ✓ configurée } @if (settings.mistral_api_key_set) { Effacer la clé enregistrée }

C'est la même clé que pour le chat Mistral (une seule clé partagée). Soumis au rate limit du tier gratuit.

Modèle d'embedding Mistral
}
} @if (settings && settings.llm_provider === 'ollama') {

## Fenetre de contexte

@if (settings.llm_provider === 'ollama') {
Tokens alloues au modele {{ settings.llm_num_ctx | number }} @if (ollamaModelMaxContext > 0) { / {{ ollamaModelMaxContext | number }} max } @if (ollamaModelMaxContext > 0) {

Le modele {{ settings.llm_model }} accepte jusqu'a {{ ollamaModelMaxContext | number }} tokens. Plus la valeur est elevee, plus l'IA peut tenir d'historique et de contexte — au prix de VRAM et de latence.

} @if (ollamaModelMaxContext === 0) {

Impossible de determiner la fenetre max du modele (Ollama injoignable ou modele inconnu). Slider borne a {{ CTX_FALLBACK_MAX | number }} par securite.

}
}
} @if (settings) {

## Import de PDF

Taille des morceaux a l'import (tokens)

Lors de l'import d'un PDF (regles ou campagne), le texte est decoupe en morceaux de cette taille avant d'etre analyse par l'IA. Plus gros = moins de morceaux, donc plus rapide et moins de fragmentation/doublons — mais le morceau doit tenir dans la fenetre du modele.
Repere : ~10 000 pour Ollama (16k de contexte) ; jusqu'a ~100 000 pour un modele a grand contexte (ex : GPT-5 mini, 400k) afin de traiter un livre entier en une seule passe. Attention : un gros morceau = generation plus longue (voir le timeout ci-dessous).

Timeout des appels IA (secondes)

Delai max d'attente d'une reponse du modele. Si un import lourd echoue avec « delai depasse » (timeout), augmentez cette valeur (ex : 600) ou reduisez la taille des morceaux ci-dessus. Defaut : 300 s.

} @if (settings) {
}