| import gradio as gr |
| from huggingface_hub import InferenceClient |
|
|
| client = InferenceClient("HuggingFaceH4/zephyr-7b-beta") |
|
|
| def planificar_metas_ads( |
| producto, |
| tipo_producto, |
| precio_producto, |
| meta_ventas, |
| plazo, |
| presupuesto_ads_por_venta, |
| plataformas_ads, |
| audiencia_objetivo, |
| observaciones, |
| otros_gastos_por_venta, |
| ): |
| system_message = f""" |
| Eres un experto en publicidad en redes sociales y planificación de metas. Tu tarea es crear un plan detallado para que un marketer alcance sus objetivos de ventas utilizando anuncios en redes sociales. |
| |
| Considera los siguientes parámetros: |
| - Producto: {producto} |
| - Tipo de producto: {tipo_producto} (físico, digital, ebook) |
| - Precio del producto: {precio_producto} |
| - Meta de ventas: {meta_ventas} |
| - Plazo: {plazo} |
| - Presupuesto para anuncios por venta: {presupuesto_ads_por_venta} |
| - Plataformas de anuncios: {plataformas_ads} |
| - Audiencia objetivo: {audiencia_objetivo} |
| - Observaciones adicionales: {observaciones} |
| - Otros gastos por venta: {otros_gastos_por_venta} |
| |
| Genera un plan detallado que incluya: |
| - Estrategias de publicidad en redes sociales recomendadas (segmentación, creatividades, etc.). |
| - Distribución del presupuesto entre las plataformas seleccionadas. |
| - Calendario de publicaciones y campañas publicitarias. |
| - Métricas clave a monitorear (CTR, CPC, ROAS). |
| - Consejos para optimizar las campañas y superar posibles obstáculos. |
| - Considera las observaciones adicionales y los gastos por venta del usuario para personalizar el plan y calcular la proyección. |
| |
| Organiza la información de forma clara y concisa. |
| Asegúrate de que todas tus respuestas estén en español y sean lo más prácticas y útiles posible. |
| """ |
|
|
| prompt = "Crea un plan detallado para alcanzar la meta de ventas mediante anuncios en redes sociales, considerando los gastos por venta." |
|
|
| messages = [ |
| {"role": "system", "content": system_message}, |
| {"role": "user", "content": prompt}, |
| ] |
|
|
| response = "" |
| for message in client.chat_completion( |
| messages, |
| max_tokens=2048, |
| stream=True, |
| temperature=0.7, |
| top_p=0.95, |
| ): |
| token = message.choices[0].delta.content |
| if token: |
| response += token |
| yield response |
|
|
| with gr.Blocks(title="Planificador de Metas con Anuncios en Redes Sociales") as demo: |
| gr.Markdown("# Planificador de Metas con Anuncios en Redes Sociales") |
|
|
| with gr.Row(): |
| with gr.Column(): |
| producto_input = gr.Textbox(label="Nombre del Producto") |
| tipo_producto_input = gr.Dropdown( |
| choices=["Físico", "Digital (Curso)", "Ebook"], label="Tipo de Producto" |
| ) |
| precio_producto_input = gr.Number(label="Precio del Producto") |
| meta_ventas_input = gr.Number(label="Meta de Ventas") |
| plazo_input = gr.Textbox(label="Plazo (Ej: 1 mes, 3 meses)") |
| presupuesto_ads_por_venta_input = gr.Number(label="Presupuesto para Anuncios por Venta") |
| plataformas_ads_input = gr.Textbox(label="Plataformas de Anuncios (Ej: Facebook Ads, Instagram Ads)") |
| audiencia_objetivo_input = gr.Textbox(label="Audiencia Objetivo") |
| observaciones_input = gr.Textbox(label="Observaciones Adicionales") |
| otros_gastos_por_venta_input = gr.Number(label="Otros Gastos por Venta") |
|
|
| planificar_button = gr.Button("Planificar Meta con Anuncios") |
| output_text = gr.Textbox(label="Plan de Metas con Anuncios", lines=20) |
|
|
| planificar_button.click( |
| planificar_metas_ads, |
| inputs=[ |
| producto_input, |
| tipo_producto_input, |
| precio_producto_input, |
| meta_ventas_input, |
| plazo_input, |
| presupuesto_ads_por_venta_input, |
| plataformas_ads_input, |
| audiencia_objetivo_input, |
| observaciones_input, |
| otros_gastos_por_venta_input, |
| ], |
| outputs=output_text, |
| ) |
|
|
| if __name__ == "__main__": |
| demo.launch() |