calendar / app.py
Roboti's picture
Update app.py
f2839a2 verified
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()