Plusieurs gros ajouts :
- Possibilité de discuter avec un PDF ; RAG ou analyse approfondie. Enlèvement de l'autre outil PDF de discussion qui analysait d'abord un PDF en proposant directement une intégration sans attendre qu'on pose de question - Mise en place de l'import directement dans les outils dans la sidebar - Mise en place d'un outil pour créer des tables aléatoires avec possibilité d'utiliser pendant la partie - Mise en place d'un outil pour mettre en place des PNJ, scènes, chapitre.... directement à partir de la discussion avec le PDF - Mise en place RAG avec mistal-embeding ou nomic si on utilise ollama - Mise en place mistral, google en fournisseurs alternatifs pour l'IA dans le cloud - version 0.11.0-bêta
This commit is contained in:
@@ -25,8 +25,9 @@ class Settings(BaseSettings):
|
||||
extra="ignore",
|
||||
)
|
||||
|
||||
# Provider LLM actif. "ollama" = local ; "onemin" = 1min.ai ; "openrouter" = OpenRouter.
|
||||
llm_provider: Literal["ollama", "onemin", "openrouter"] = "ollama"
|
||||
# Provider LLM actif. "ollama" = local ; "onemin" = 1min.ai ;
|
||||
# "openrouter" = OpenRouter ; "mistral" = Mistral ; "gemini" = Google Gemini.
|
||||
llm_provider: Literal["ollama", "onemin", "openrouter", "mistral", "gemini"] = "ollama"
|
||||
|
||||
ollama_base_url: str = "http://localhost:11434"
|
||||
llm_model: str = "gemma4:26b"
|
||||
@@ -53,6 +54,35 @@ class Settings(BaseSettings):
|
||||
openrouter_api_key: str = ""
|
||||
openrouter_model: str = "openrouter/free"
|
||||
|
||||
# Mistral (La Plateforme, OpenAI-compatible). Cle + modele modifiables depuis
|
||||
# l'UI. Tier gratuit « Experiment » sur console.mistral.ai (sans CB). Defaut =
|
||||
# mistral-large-latest (128k contexte, bon en francais et en JSON fidele).
|
||||
mistral_api_key: str = ""
|
||||
mistral_model: str = "mistral-large-latest"
|
||||
|
||||
# Google Gemini (endpoint OpenAI-compatible). Cle gratuite sur
|
||||
# aistudio.google.com (sans CB). Defaut = gemini-2.0-flash : ~1M de contexte
|
||||
# (un livre tient en 1-2 appels), rapide, fidele, quota gratuit genereux.
|
||||
gemini_api_key: str = ""
|
||||
gemini_model: str = "gemini-2.0-flash"
|
||||
|
||||
# Embeddings (RAG des notebooks/ateliers). Modele SEPARE du chat.
|
||||
# "ollama" = local (gratuit, illimite, ideal pour indexer un livre = bcp
|
||||
# d'appels) ; "mistral" = cloud EU (mistral-embed, soumis au rate limit).
|
||||
embedding_provider: Literal["ollama", "mistral"] = "ollama"
|
||||
ollama_embedding_model: str = "nomic-embed-text"
|
||||
mistral_embedding_model: str = "mistral-embed"
|
||||
# Au démarrage, si le provider d'embeddings est Ollama et que le modèle n'est
|
||||
# pas présent, le Brain le télécharge automatiquement (en arrière-plan) → le RAG
|
||||
# marche "out of the box" pour un nouvel utilisateur. Désactivable (connexion
|
||||
# limitée, gestion manuelle des modèles).
|
||||
auto_pull_embedding_model: bool = True
|
||||
|
||||
# Nombre d'extraits récupérés par question dans le chat des ateliers (RAG).
|
||||
# Plus haut = plus de couverture pour les questions larges (« liste les… »),
|
||||
# mais prompt plus long. 8 par défaut (montable jusqu'à ~20 sur grand contexte).
|
||||
rag_top_k: int = 8
|
||||
|
||||
# Taille cible d'un morceau (en tokens) pour l'import de PDF (regles/campagne).
|
||||
# Plus c'est gros, moins il y a de morceaux => moins de fragmentation et un
|
||||
# import plus rapide, MAIS il faut que ca tienne dans la fenetre du modele.
|
||||
|
||||
@@ -31,6 +31,15 @@ _ALLOWED_KEYS = frozenset({
|
||||
"onemin_model",
|
||||
"openrouter_api_key",
|
||||
"openrouter_model",
|
||||
"mistral_api_key",
|
||||
"mistral_model",
|
||||
"gemini_api_key",
|
||||
"gemini_model",
|
||||
"embedding_provider",
|
||||
"ollama_embedding_model",
|
||||
"mistral_embedding_model",
|
||||
"auto_pull_embedding_model",
|
||||
"rag_top_k",
|
||||
"import_chunk_tokens",
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user