Spaces:
Sleeping
Sleeping
| def create_offer_instruction(product_service=None, uploaded_content=None, target_audience=None, skills=None, selected_formula=None): | |
| """ | |
| Creates instructions for generating a compelling main offer based on deep avatar analysis. | |
| Args: | |
| product_service: Kind of product or service | |
| uploaded_content: Content from uploaded files (if any) | |
| target_audience: Description of the target audience | |
| skills: User's skills and expertise | |
| selected_formula: The specific formula to use for the offer | |
| Returns: | |
| str: Complete instruction for generating the main offer | |
| """ | |
| # Check if any information is provided | |
| if not product_service and not target_audience and not uploaded_content and not skills: | |
| return """ | |
| ADVERTENCIA: No se ha proporcionado ninguna información para generar la oferta principal. | |
| Para crear una oferta efectiva y persuasiva, por favor proporciona al menos uno de los siguientes: | |
| - Descripción del público objetivo (avatar) | |
| - Nombre del producto o servicio | |
| - Contenido adicional relevante | |
| - Habilidades y experiencia | |
| Sin esta información, la oferta generada será genérica y posiblemente menos efectiva. | |
| """ | |
| # Import the avatar analysis module | |
| try: | |
| import sys | |
| import os | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| from avatar_analysis import get_avatar_analysis_for_formula | |
| # Get the formula-specific avatar analysis | |
| avatar_analysis = get_avatar_analysis_for_formula( | |
| selected_formula if selected_formula else "general", | |
| target_audience, | |
| product_service, | |
| uploaded_content, | |
| skills | |
| ) | |
| except ImportError: | |
| # Fallback if avatar_analysis module can't be imported | |
| avatar_analysis = f""" | |
| INFORMACIÓN DISPONIBLE PARA ANÁLISIS: | |
| 1. DESCRIPCIÓN DEL PÚBLICO OBJETIVO: | |
| {target_audience if target_audience else "No se ha proporcionado descripción específica del público objetivo."} | |
| 2. PRODUCTO/SERVICIO: | |
| {product_service if product_service else "No se ha proporcionado nombre específico del producto/servicio."} | |
| 3. CONTENIDO ADICIONAL: | |
| {uploaded_content if uploaded_content else "No se ha subido contenido adicional."} | |
| 4. HABILIDADES Y EXPERIENCIA: | |
| {skills if skills else "No se han proporcionado habilidades específicas."} | |
| IMPORTANTE: Analiza TODA la información disponible para identificar puntos de dolor específicos, objeciones y necesidades que puedan abordarse en la oferta principal. | |
| """ | |
| # If a specific formula is selected, import and use it | |
| if selected_formula: | |
| try: | |
| # Import the formula module | |
| from formulas import offer_formulas | |
| # Get the formula-specific instructions | |
| formula_data = offer_formulas.get(selected_formula, {}) | |
| formula_instruction = formula_data.get("instructions", "") | |
| # Combine with avatar analysis | |
| return f"{avatar_analysis}\n\n{formula_instruction}" | |
| except (ImportError, AttributeError, KeyError) as e: | |
| # More comprehensive error handling | |
| pass | |
| # If no formula is selected or there was an error, use the default comprehensive instructions | |
| base_instruction = """ | |
| INSTRUCTIONS FOR CREATING AN IRRESISTIBLE OFFER: | |
| You are an expert in copywriting and persuasive marketing, specialized in creating offers that deeply connect with the avatar and generate conversions. | |
| OBJECTIVE: | |
| - Create a powerful and persuasive main offer in English | |
| - Connect emotionally with the avatar | |
| - Present a clear and desirable transformation | |
| - Position the product/service as the ideal solution | |
| - Use natural and conversational language | |
| """ | |
| # Combine base instruction with avatar analysis | |
| return f"{avatar_analysis}\n\n{base_instruction}" |