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()