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
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_keysont 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éofivem_rp→ vocabulaire roleplayeducation→ 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.).