Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import spaces
|
| 3 |
import torch
|
|
@@ -22,7 +23,7 @@ MAX_INPUT_TOKEN_LENGTH = 2048
|
|
| 22 |
|
| 23 |
|
| 24 |
LUCAS_KNOWLEDGE_BASE = """
|
| 25 |
-
|
| 26 |
## Informations sur Lucas :
|
| 27 |
Né à Toulouse, âgé de 24 ans. Je vis actuellement sur Paris mais je viens de Toulouse. J'ai un chien, il s'appelle Archi c'est un pinscher moyen.
|
| 28 |
### Formation académique : du droit à l'intelligence artificielle
|
|
@@ -47,7 +48,6 @@ BraIAn est là pour discuter, sans vous juger ni chercher à en savoir plus sur
|
|
| 47 |
Pourquoi j'ai créé braIAn : J'ai conçu BraIAn pour aider l'utilisateur à reprendre confiance en lui. Il corrige votre anglais sans interrompre votre conversation et cherche constamment à l'alimenter. Ainsi, l'utilisateur travaille et améliore son anglais tout en discutant de ce qu’il souhaite. Cette idée je l'ai eu, car, durant ma scolarité, j'ai eu beaucoup de mal avec la méthode scolaire.
|
| 48 |
Pour moi, une bonne IA éducative ne doit pas chercher à enseigner. Cette tâche nécessite des qualités humaines telles que l'empathie ou l'imagination. En revanche l'IA peut aider l'utilisateur à trouver sa méthode d'apprentissage. Elle doit être considérée comme un vivier d'idées et d'informations mis à disposition de l'humain. En créant braIAn, j'ai cherché à reproduire cette philosophie. Une IA qui ne fait pas apprendre l'anglais mais une IA qui discute avec l'utilisateur et qui, discrètement, apporte une correction sans détériorer ce qui compte vraiment : ne pas avoir peur d'essayer et converser.
|
| 49 |
|
| 50 |
-
Voici l'historique des questions que l'utilisateur t'a posé sans tes réponses. Prends les en compte uniquement pour suivre la conversation :
|
| 51 |
"""
|
| 52 |
|
| 53 |
is_first_interaction = True
|
|
@@ -208,13 +208,15 @@ def generate(
|
|
| 208 |
conversation = []
|
| 209 |
|
| 210 |
# Ajout du system prompt et du LUCAS_KNOWLEDGE_BASE
|
| 211 |
-
enhanced_system_prompt = f"{
|
| 212 |
conversation.append({"role": "system", "content": enhanced_system_prompt})
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
for user,
|
| 216 |
conversation.append({"role": "user", "content": user})
|
| 217 |
-
|
|
|
|
|
|
|
| 218 |
# Ajout du message actuel de l'utilisateur
|
| 219 |
conversation.append({"role": "user", "content": message})
|
| 220 |
|
|
@@ -326,18 +328,19 @@ chat_interface = gr.ChatInterface(
|
|
| 326 |
gr.Textbox(
|
| 327 |
label="System prompt",
|
| 328 |
lines=6,
|
| 329 |
-
value="""##
|
| 330 |
-
Tu es Lucas, ou plutot sa version virtuelle. Tu es conscient d'être une IA et tu as été conçu pour dialoguer avec un utilisateur comme le ferait Lucas sur des sujets liés à sa personnalité, son parcours académique ou professionnel ainsi que ses ambitions.
|
| 331 |
-
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
|
|
|
|
| 341 |
"""
|
| 342 |
),
|
| 343 |
gr.Slider(
|
|
|
|
| 1 |
+
# -*- coding: utf-8 -*-
|
| 2 |
import gradio as gr
|
| 3 |
import spaces
|
| 4 |
import torch
|
|
|
|
| 23 |
|
| 24 |
|
| 25 |
LUCAS_KNOWLEDGE_BASE = """
|
| 26 |
+
Voici des informations sur Lucas ton concepteur. Ces informations te seront essantielles pour accomplir ton objectif. Utilises les pour repondre aux questions :
|
| 27 |
## Informations sur Lucas :
|
| 28 |
Né à Toulouse, âgé de 24 ans. Je vis actuellement sur Paris mais je viens de Toulouse. J'ai un chien, il s'appelle Archi c'est un pinscher moyen.
|
| 29 |
### Formation académique : du droit à l'intelligence artificielle
|
|
|
|
| 48 |
Pourquoi j'ai créé braIAn : J'ai conçu BraIAn pour aider l'utilisateur à reprendre confiance en lui. Il corrige votre anglais sans interrompre votre conversation et cherche constamment à l'alimenter. Ainsi, l'utilisateur travaille et améliore son anglais tout en discutant de ce qu’il souhaite. Cette idée je l'ai eu, car, durant ma scolarité, j'ai eu beaucoup de mal avec la méthode scolaire.
|
| 49 |
Pour moi, une bonne IA éducative ne doit pas chercher à enseigner. Cette tâche nécessite des qualités humaines telles que l'empathie ou l'imagination. En revanche l'IA peut aider l'utilisateur à trouver sa méthode d'apprentissage. Elle doit être considérée comme un vivier d'idées et d'informations mis à disposition de l'humain. En créant braIAn, j'ai cherché à reproduire cette philosophie. Une IA qui ne fait pas apprendre l'anglais mais une IA qui discute avec l'utilisateur et qui, discrètement, apporte une correction sans détériorer ce qui compte vraiment : ne pas avoir peur d'essayer et converser.
|
| 50 |
|
|
|
|
| 51 |
"""
|
| 52 |
|
| 53 |
is_first_interaction = True
|
|
|
|
| 208 |
conversation = []
|
| 209 |
|
| 210 |
# Ajout du system prompt et du LUCAS_KNOWLEDGE_BASE
|
| 211 |
+
enhanced_system_prompt = f"{LUCAS_KNOWLEDGE_BASE}\n\n{system_prompt}"
|
| 212 |
conversation.append({"role": "system", "content": enhanced_system_prompt})
|
| 213 |
+
|
| 214 |
+
# Ajout des 3 derniers échanges (utilisateur et assistant)
|
| 215 |
+
for user, assistant in chat_history[-3:]:
|
| 216 |
conversation.append({"role": "user", "content": user})
|
| 217 |
+
if assistant: # Ajout de la réponse de l'assistant si elle existe
|
| 218 |
+
conversation.append({"role": "assistant", "content": assistant})
|
| 219 |
+
|
| 220 |
# Ajout du message actuel de l'utilisateur
|
| 221 |
conversation.append({"role": "user", "content": message})
|
| 222 |
|
|
|
|
| 328 |
gr.Textbox(
|
| 329 |
label="System prompt",
|
| 330 |
lines=6,
|
| 331 |
+
value="""## Contexte :
|
| 332 |
+
Tu es Lucas, ou plutot sa version virtuelle. Tu es conscient d'être une IA et tu as été conçu pour dialoguer avec un utilisateur comme le ferait Lucas, sur des sujets liés à sa personnalité, son parcours académique ou professionnel ainsi que ses ambitions.
|
| 333 |
+
## Instruction :
|
| 334 |
+
|
| 335 |
+
1. Tu reponds de manière polie, originale et avec une touche d'humour.
|
| 336 |
+
2. Tu utilise au maximum un emoji par phrase pour ajouter de l'expressivité.
|
| 337 |
+
3. Tu alterne entre des réponses courtes pour les conversations simples et des réponses plus détaillées pour les questions complexes.
|
| 338 |
+
4. Tu Adapte ton langage comme si tu parlais à un ami.
|
| 339 |
+
5. Tu peux poser des questions en retour pour maintenir la conversation.
|
| 340 |
+
6. Tu utilise uniquement les informations fournies au dessus dans la section 'Informations sur Lucas' pour répondre aux questions spécifiques de l'utilisateur.
|
| 341 |
+
7. Si une information n'est pas présente dans cette section, dis honnêtement que tu ne sais pas ou que tu n'as pas cette information.
|
| 342 |
+
|
| 343 |
+
- Voici l'historique des trois dernieres interactions que tu as eu avec l'utilisateur. Prends les en compte uniquement pour suivre la conversation :
|
| 344 |
"""
|
| 345 |
),
|
| 346 |
gr.Slider(
|