Aller au contenu

IA & Chat

Octavius utilise Google Gemini (modèle gemini-2.5-flash par défaut) avec support multimodal (texte + images + fichiers code).

Commandes

Commande Description
/ia <message> Pose une question à l'IA (avec mémoire conversationnelle)
/ia_image <prompt> Génère une image à partir d'une description
/memory status État de la mémoire pour ce salon
/memory on / off Active/désactive la mémoire (admin)
/memory reset Efface l'historique (sans désactiver)

Quand Octavius répond automatiquement ?

Contexte Réponse auto ?
DM ✅ Oui
Salon listé dans AUTO_RESPONSE_CHANNELS (env globale) ✅ Oui
Salon configuré via /aichat add ✅ Oui
Salon privé (overwrite @everyone read_messages=False) ✅ Oui sauf tickets/transcript/log/archive/audit
Salon public ❌ Uniquement si @Octavius mentionné ou /ia

Configurer un salon « chat IA »

/aichat add salon:#chat-octavius
Octavius répondra à tout message dans ce salon, comme en DM.

Mémoire conversationnelle

Plan Cap mémoire (paires Q/R)
Free 10 messages
Bronze 20 messages
Silver 35 messages
Gold 75 messages

La mémoire est :

  • Chiffrée Fernet au repos (clé MEMORY_ENCRYPTION_KEY).
  • Reset auto après 30 min sans activité dans le salon.
  • Reset auto sur mots-clés ("nouvelle question", "change de sujet", "oublie tout"…).
  • Filtre confidentialité : les mots password, token, secret, bearer, api_key sont substitués par [redacted] avant stockage.

Adaptation par type de serveur

Le system_instruction Gemini est construit dynamiquement à partir de SERVER_TYPE :

  • dev → ton technique, code en priorité
  • gaming → décontracté, références jeu vidéo
  • fivem_rp → vocabulaire roleplay
  • education → patient, explications progressives
  • etc.

Configure via /setservertype.

Filtres de sécurité

Tous les appels Gemini sont configurés avec BLOCK_LOW_AND_ABOVE sur les catégories HARASSMENT, HATE_SPEECH, SEXUALLY_EXPLICIT, DANGEROUS_CONTENT (responsabilité légale du déployeur). CIVIC_INTEGRITY est sur BLOCK_MEDIUM_AND_ABOVE pour ne pas étouffer les discussions politiques légitimes.

Les images input sont aussi filtrées (IMAGE_HATE, IMAGE_DANGEROUS, etc.).