Equityone commited on
Commit
4390781
·
verified ·
1 Parent(s): 8a29e53

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +73 -56
app.py CHANGED
@@ -1,65 +1,82 @@
1
  import gradio as gr
2
- from equity_assistant import EquityAssistant, DesignRecommender, InteractionManager, LearningModule
3
 
4
- class EquitySpace:
5
  def __init__(self):
6
- self.assistant = EquityAssistant()
7
- self.recommender = DesignRecommender()
8
- self.interaction = InteractionManager()
9
- self.learning = LearningModule()
 
 
10
 
11
- def process_consultation(self, poster_type, style_preferences, main_message):
12
- """Traite la consultation initiale et retourne des recommandations"""
13
- # Mise à jour des préférences utilisateur
14
- self.assistant.user_preferences['style_history'].append(style_preferences)
 
 
 
15
 
16
- # Génération des recommandations
17
- color_scheme = self.recommender.recommend_colors(poster_type, {})
18
- layout = self.recommender.suggest_layout(poster_type, main_message)
19
- typography = self.recommender.recommend_typography(style_preferences, main_message)
20
-
21
- response = f"""
22
- Recommandations pour votre affiche :
23
-
24
- Type d'affiche: {poster_type}
25
- Style choisi: {style_preferences}
26
- Message principal: {main_message}
27
-
28
- Suggestions:
29
- - Mise en page: {layout if layout else 'Layout suggestions will appear here'}
30
- - Typographie: {typography if typography else 'Typography suggestions will appear here'}
31
- - Couleurs: {color_scheme if color_scheme else 'Color scheme suggestions will appear here'}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  """
33
-
34
- return response
35
 
36
- # Configuration de l'interface Gradio
37
- def create_interface():
38
- equity_space = EquitySpace()
39
-
40
- # Création de l'interface
41
- iface = gr.Interface(
42
- fn=equity_space.process_consultation,
43
- inputs=[
44
- gr.Dropdown(
45
- choices=["Affiche événement", "Présentation", "Infographie", "Autre"],
46
- label="Type d'affiche"
47
- ),
48
- gr.Textbox(label="Préférences de style (ex: moderne, minimaliste, coloré...)"),
49
- gr.Textbox(label="Message principal à communiquer")
50
- ],
51
- outputs=gr.Textbox(label="Recommandations"),
52
- title="Assistant Equity - Création d'affiches",
53
- description="""
54
- Bienvenue dans l'Assistant Equity!
55
- Cet outil vous aide à créer des affiches efficaces et équitables.
56
- Commencez par répondre aux questions ci-dessous pour recevoir des recommandations personnalisées.
57
- """,
58
- theme="huggingface"
59
- )
60
- return iface
61
 
62
- # Lancement de l'application
63
  if __name__ == "__main__":
64
- interface = create_interface()
65
- interface.launch()
 
1
  import gradio as gr
 
2
 
3
+ class EquityAssistant:
4
  def __init__(self):
5
+ self.user_preferences = {
6
+ 'style_history': [],
7
+ 'color_preferences': [],
8
+ 'layout_choices': [],
9
+ 'expertise_level': 'novice'
10
+ }
11
 
12
+ def process_request(self, poster_type, style_pref, message):
13
+ """Traite la demande de l'utilisateur et génère des recommandations"""
14
+ recommendations = {
15
+ 'layout': self.suggest_layout(poster_type),
16
+ 'style': self.process_style(style_pref),
17
+ 'message': self.analyze_message(message)
18
+ }
19
 
20
+ return self.format_response(recommendations)
21
+
22
+ def suggest_layout(self, poster_type):
23
+ layouts = {
24
+ "événement": "Layout vertical avec focus sur la date et le lieu",
25
+ "présentation": "Layout structuré avec hiérarchie claire",
26
+ "infographie": "Layout en grille ou flux avec données visuelles",
27
+ "autre": "Layout flexible selon le contenu"
28
+ }
29
+ return layouts.get(poster_type.lower(), "Layout personnalisé selon vos besoins")
30
+
31
+ def process_style(self, style_pref):
32
+ return f"Style recommandé basé sur vos préférences : {style_pref}"
33
+
34
+ def analyze_message(self, message):
35
+ return f"Recommendations pour votre message : {message}"
36
+
37
+ def format_response(self, recommendations):
38
+ return f"""
39
+ 📋 Recommandations pour votre affiche :
40
+
41
+ 🎯 Layout suggéré :
42
+ {recommendations['layout']}
43
+
44
+ 🎨 Style :
45
+ {recommendations['style']}
46
+
47
+ 💡 Message :
48
+ {recommendations['message']}
49
+
50
+ Tips pour l'équité :
51
+ • Utilisez des contrastes adaptés pour la lisibilité
52
+ • Privilégiez des polices inclusives
53
+ • Vérifiez l'accessibilité des couleurs
54
  """
 
 
55
 
56
+ # Création de l'interface
57
+ assistant = EquityAssistant()
58
+
59
+ demo = gr.Interface(
60
+ fn=assistant.process_request,
61
+ inputs=[
62
+ gr.Dropdown(
63
+ choices=["Événement", "Présentation", "Infographie", "Autre"],
64
+ label="Type d'affiche"
65
+ ),
66
+ gr.Textbox(
67
+ label="Style souhaité",
68
+ placeholder="Ex: moderne, minimaliste, coloré..."
69
+ ),
70
+ gr.Textbox(
71
+ label="Message principal",
72
+ placeholder="Décrivez le message clé de votre affiche"
73
+ )
74
+ ],
75
+ outputs=gr.Textbox(label="Recommandations"),
76
+ title="🎨 Equity Assistant",
77
+ description="Assistant IA pour la création d'affiches équitables et efficaces",
78
+ theme="soft"
79
+ )
 
80
 
 
81
  if __name__ == "__main__":
82
+ demo.launch()