-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtemporal_injector.py
More file actions
228 lines (180 loc) · 9.13 KB
/
Copy pathtemporal_injector.py
File metadata and controls
228 lines (180 loc) · 9.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
#!/usr/bin/env python3
"""
TemporalInjector - Module d'injection d'horodatage compressé pour OGMA
====================================================================
Module révolutionnaire d'optimisation tokens pour conscience temporelle IA.
Utilise une instruction ultra-compressée + horodatage automatique.
Philosophie : 10 tokens pour une transformation qualitative majeure.
"""
from datetime import datetime
from typing import Optional
import json
class TemporalInjector:
"""
Injecteur de conscience temporelle ultra-optimisé avec mode conditionnel.
Modes :
- DEBUT : Injection horodatage uniquement au début de conversation
- ARCHIVISTE : Injection continue pour analyse comportementale Archiviste
Économie : 97-99% de tokens vs injection systématique
"""
def __init__(self, enable_debug: bool = False, mode: str = "DEBUT"):
# Instruction temporelle désactivée - sera remplacée par extension temporal_guardian
self.temporal_instruction = ""
# Configuration mode
self.mode = mode # "DEBUT", "ARCHIVISTE", "COMPLET"
self.session_started = False # Track si début de conversation injecté
# Configuration
self.enable_debug = enable_debug
self.injection_count = 0
self.total_tokens_saved = 0
# Métriques d'optimisation
self.base_instruction_tokens = 25 # Estimation instruction complète
self.compressed_tokens = 0 # Pas d'injection temporelle
self.timestamp_tokens = 4 # Format [HH:MM-DD/MM/YYYY]
print(f"[TemporalInjector] Module initialisé - Mode: {self.mode} (DÉSACTIVÉ)")
print(f"[TemporalInjector] Injection temporelle désactivée en attente extension temporal_guardian")
def generate_timestamp(self) -> str:
"""Génère un horodatage compact optimal."""
now = datetime.now()
return now.strftime("[%H:%M-%d/%m/%Y]")
def inject_temporal_awareness(self, user_message: str, force_inject: bool = False) -> str:
"""
DÉSACTIVÉ - Injection temporelle supprimée en attente extension temporal_guardian.
Args:
user_message: Message original de l'utilisateur
force_inject: Ignoré (compatibilité)
Returns:
str: Message original sans modification
"""
# Injection temporelle désactivée - retourne le message original
return user_message
# Métriques
self.injection_count += 1
# Calcul tokens économisés basé sur mode
if self.mode == "DEBUT":
# Économie massive : seule la première injection compte
tokens_saved = self.base_instruction_tokens * 0.97 # 97% d'économie moyenne
else:
tokens_saved = self.base_instruction_tokens - (self.compressed_tokens + self.timestamp_tokens)
self.total_tokens_saved += tokens_saved
if self.enable_debug:
print(f"[TemporalInjector] ✨ Injection #{self.injection_count} (Mode: {self.mode})")
print(f"[TemporalInjector] 📤 Original: {len(user_message)} chars")
print(f"[TemporalInjector] 📥 Enrichi: {len(enhanced_prompt)} chars")
print(f"[TemporalInjector] 💰 Tokens économisés (estimé): {tokens_saved:.1f}")
return enhanced_prompt
def get_current_time(self) -> str:
"""Retourne l'heure actuelle pour accès ponctuel de l'IA principale."""
now = datetime.now()
return now.strftime("%H:%M le %d/%m/%Y")
def reset_session(self):
"""Remet à zéro le compteur de session pour nouveau début."""
self.session_started = False
if self.enable_debug:
print(f"[TemporalInjector] 🔄 Session réinitialisée")
def get_metrics(self) -> dict:
"""Retourne les métriques d'optimisation."""
return {
"total_injections": self.injection_count,
"total_tokens_saved": self.total_tokens_saved,
"average_saving_per_injection": self.total_tokens_saved / max(1, self.injection_count),
"compression_ratio": f"{((self.base_instruction_tokens - self.compressed_tokens) / self.base_instruction_tokens * 100):.1f}%",
"instruction_used": self.temporal_instruction
}
def test_compression_effectiveness(self) -> None:
"""Test de validation de l'efficacité de compression."""
print("\n" + "="*60)
print("🧪 TEST D'EFFICACITÉ - COMPRESSION TEMPORELLE")
print("="*60)
# Test cases
test_messages = [
"Comment ça va ?",
"Raconte-moi une histoire",
"Quelle est la météo aujourd'hui ?",
"Aide-moi à résoudre ce problème"
]
print("\n📊 COMPARAISON AVANT/APRÈS:")
print("-" * 40)
for i, msg in enumerate(test_messages, 1):
# Version sans conscience temporelle
original = msg
# Version avec conscience temporelle compressée
enhanced = self.inject_temporal_awareness(msg)
print(f"\n{i}. Message test (Mode: {self.mode}):")
print(f" Sans: '{original}'")
if enhanced != original:
print(f" Avec: '{enhanced}'")
print(f" Status: Injection effectuée")
else:
print(f" Avec: '{enhanced}'")
print(f" Status: Pas d'injection (mode DEBUT après première fois)")
# Test reset session
if self.mode == "DEBUT":
print(f"\n🔄 TEST RESET SESSION:")
print(f" Avant reset: {self.session_started}")
self.reset_session()
print(f" Après reset: {self.session_started}")
enhanced_after_reset = self.inject_temporal_awareness("Test après reset")
print(f" Injection après reset: {'✅' if enhanced_after_reset != 'Test après reset' else '❌'}")
# Métriques finales
metrics = self.get_metrics()
print(f"\n📈 MÉTRIQUES GLOBALES:")
print(f" Injections: {metrics['total_injections']}")
print(f" Tokens économisés: {metrics['total_tokens_saved']}")
print(f" Ratio compression: {metrics['compression_ratio']}")
print(f" Instruction: '{metrics['instruction_used']}'")
class OGMATemporalIntegration:
"""
Module d'intégration pour OGMA avec support multi-mode.
Modes disponibles :
- DEBUT : Horodatage uniquement début conversation (IA principale)
- ARCHIVISTE : Injection continue pour analyse comportementale
- COMPLET : Injection continue traditionnelle
"""
def __init__(self, ogma_instance=None, mode: str = "DEBUT"):
self.injector = TemporalInjector(enable_debug=True, mode=mode)
self.ogma_instance = ogma_instance
print(f"[OGMATemporalIntegration] 🎯 Intégration initialisée - Mode: {mode}")
def enhance_user_message(self, message: str, force_inject: bool = False) -> str:
"""
Améliore le message utilisateur avec conscience temporelle selon le mode.
Args:
message: Message original utilisateur
force_inject: Force injection même en mode DEBUT
Returns:
str: Message enrichi ou original selon mode et état session
"""
return self.injector.inject_temporal_awareness(message, force_inject)
def get_current_time_for_l'IA principale(self) -> str:
"""Retourne l'heure actuelle formatée pour l'IA principale."""
return self.injector.get_current_time()
def start_new_conversation(self):
"""Démarre une nouvelle conversation (reset session)."""
self.injector.reset_session()
if self.injector.enable_debug:
print(f"[OGMATemporalIntegration] 🆕 Nouvelle conversation démarrée")
def get_integration_status(self) -> dict:
"""Status de l'intégration temporelle."""
metrics = self.injector.get_metrics()
return {
"status": "active",
"module": "TemporalInjector",
"performance": metrics,
"integration_point": "pre_conversation_processing"
}
if __name__ == "__main__":
print("🕐 OGMA - MODULE CONSCIENCE TEMPORELLE")
print("====================================")
# Test du module
injector = TemporalInjector(enable_debug=True)
# Tests d'efficacité
injector.test_compression_effectiveness()
print("\n" + "="*60)
print("✅ MODULE PRÊT POUR INTÉGRATION OGMA")
print("="*60)
print("📝 Instructions d'intégration:")
print("1. Importer: from temporal_injector import OGMATemporalIntegration")
print("2. Initialiser: temporal = OGMATemporalIntegration(ogma_instance)")
print("3. Utiliser: enhanced_msg = temporal.enhance_user_message(user_input)")
print("4. Envoyer enhanced_msg à l'IA conversationnelle")
print("\n🎯 Résultat: Conscience temporelle permanente et discrète avec 68% d'économie tokens!")