File size: 2,603 Bytes
c290e43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from equity_assistant import EquityAssistant, DesignRecommender, InteractionManager, LearningModule

class EquitySpace:
    def __init__(self):
        self.assistant = EquityAssistant()
        self.recommender = DesignRecommender()
        self.interaction = InteractionManager()
        self.learning = LearningModule()

    def process_consultation(self, poster_type, style_preferences, main_message):
        """Traite la consultation initiale et retourne des recommandations"""
        # Mise à jour des préférences utilisateur
        self.assistant.user_preferences['style_history'].append(style_preferences)
        
        # Génération des recommandations
        color_scheme = self.recommender.recommend_colors(poster_type, {})
        layout = self.recommender.suggest_layout(poster_type, main_message)
        typography = self.recommender.recommend_typography(style_preferences, main_message)
        
        response = f"""
        Recommandations pour votre affiche :
        
        Type d'affiche: {poster_type}
        Style choisi: {style_preferences}
        Message principal: {main_message}
        
        Suggestions:
        - Mise en page: {layout if layout else 'Layout suggestions will appear here'}
        - Typographie: {typography if typography else 'Typography suggestions will appear here'}
        - Couleurs: {color_scheme if color_scheme else 'Color scheme suggestions will appear here'}
        """
        
        return response

# Configuration de l'interface Gradio
def create_interface():
    equity_space = EquitySpace()
    
    # Création de l'interface
    iface = gr.Interface(
        fn=equity_space.process_consultation,
        inputs=[
            gr.Dropdown(
                choices=["Affiche événement", "Présentation", "Infographie", "Autre"],
                label="Type d'affiche"
            ),
            gr.Textbox(label="Préférences de style (ex: moderne, minimaliste, coloré...)"),
            gr.Textbox(label="Message principal à communiquer")
        ],
        outputs=gr.Textbox(label="Recommandations"),
        title="Assistant Equity - Création d'affiches",
        description="""
        Bienvenue dans l'Assistant Equity! 
        Cet outil vous aide à créer des affiches efficaces et équitables.
        Commencez par répondre aux questions ci-dessous pour recevoir des recommandations personnalisées.
        """,
        theme="huggingface"
    )
    return iface

# Lancement de l'application
if __name__ == "__main__":
    interface = create_interface()
    interface.launch()