|
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""" |
|
|
|
self.assistant.user_preferences['style_history'].append(style_preferences) |
|
|
|
|
|
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 |
|
|
|
|
|
def create_interface(): |
|
equity_space = EquitySpace() |
|
|
|
|
|
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 |
|
|
|
|
|
if __name__ == "__main__": |
|
interface = create_interface() |
|
interface.launch() |