Update app.py
Browse files
app.py
CHANGED
@@ -101,7 +101,23 @@ def check_coherence(response):
|
|
101 |
return False
|
102 |
return True
|
103 |
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
response_type = determine_response_type(message)
|
106 |
|
107 |
if response_type == "short":
|
@@ -112,12 +128,16 @@ def generate(message, chat_history, system_prompt, max_new_tokens=DEFAULT_MAX_NE
|
|
112 |
max_new_tokens = max(100, max_new_tokens)
|
113 |
|
114 |
conversation = []
|
|
|
|
|
115 |
enhanced_system_prompt = f"{system_prompt}\n\n{LUCAS_KNOWLEDGE_BASE}"
|
116 |
conversation.append({"role": "system", "content": enhanced_system_prompt})
|
117 |
|
|
|
118 |
for user, _ in chat_history[-5:]:
|
119 |
conversation.append({"role": "user", "content": user})
|
120 |
|
|
|
121 |
conversation.append({"role": "user", "content": message})
|
122 |
|
123 |
input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt")
|
|
|
101 |
return False
|
102 |
return True
|
103 |
|
104 |
+
@spaces.GPU(duration=120)
|
105 |
+
def generate(
|
106 |
+
message: str,
|
107 |
+
chat_history: list[tuple[str, str]],
|
108 |
+
system_prompt: str,
|
109 |
+
max_new_tokens: int = DEFAULT_MAX_NEW_TOKENS,
|
110 |
+
temperature: float = 0.7,
|
111 |
+
top_p: float = 0.95,
|
112 |
+
) -> Iterator[str]:
|
113 |
+
global is_first_interaction
|
114 |
+
|
115 |
+
if is_first_interaction:
|
116 |
+
warning_message = """⚠️ Attention : Je suis un modèle en version alpha (V.0.0.3.5) et je peux générer des réponses incohérentes ou inexactes. Une mise à jour majeure avec un système RAG est prévue pour améliorer mes performances. Merci de votre compréhension ! 😊
|
117 |
+
"""
|
118 |
+
yield warning_message
|
119 |
+
is_first_interaction = False
|
120 |
+
|
121 |
response_type = determine_response_type(message)
|
122 |
|
123 |
if response_type == "short":
|
|
|
128 |
max_new_tokens = max(100, max_new_tokens)
|
129 |
|
130 |
conversation = []
|
131 |
+
|
132 |
+
# Ajout du system prompt et du LUCAS_KNOWLEDGE_BASE
|
133 |
enhanced_system_prompt = f"{system_prompt}\n\n{LUCAS_KNOWLEDGE_BASE}"
|
134 |
conversation.append({"role": "system", "content": enhanced_system_prompt})
|
135 |
|
136 |
+
# Ajout des 5 derniers inputs utilisateur uniquement
|
137 |
for user, _ in chat_history[-5:]:
|
138 |
conversation.append({"role": "user", "content": user})
|
139 |
|
140 |
+
# Ajout du message actuel de l'utilisateur
|
141 |
conversation.append({"role": "user", "content": message})
|
142 |
|
143 |
input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt")
|