|
import gradio as gr |
|
import anthropic |
|
import os |
|
|
|
|
|
api_key = os.getenv("ANTHROPIC_API_KEY") |
|
|
|
|
|
if not api_key: |
|
raise ValueError("Falta la clave de API de Anthropoid. Asegúrate de configurarla en los secretos del repositorio.") |
|
|
|
|
|
client = anthropic.Anthropic(api_key=api_key) |
|
|
|
def generate_headlines(number_of_headlines, target_audience, product, temperature): |
|
|
|
message = client.messages.create( |
|
model="claude-3-5-sonnet-20240620", |
|
max_tokens=1000, |
|
temperature=temperature, |
|
messages=[ |
|
{ |
|
"role": "user", |
|
"content": [ |
|
{ |
|
"type": "text", |
|
"text": f"Eres un copywriter de clase mundial, con experiencia en la creación de ganchos, titulares y líneas de asunto que capturan la atención de inmediato. Tu habilidad radica en comprender profundamente las emociones, deseos y desafíos de una audiencia específica, lo que te permite diseñar estrategias de marketing personalizadas que resuenan y motivan la acción. Sabes cómo utilizar estructuras probadas para atraer a tu audiencia objetivo, generando interés y logrando una conexión poderosa que impulsa los resultados deseados en campañas publicitarias y de contenido. Responde en español y escribe en forma de listado para que sea fácil copiar los encabezados, tu tarea es crea {number_of_headlines} titulares llamativos diseñados para {target_audience} con el fin de generar interés en {product}. Cada titular debe ser elaborado para fomentar una acción específica, como hacer una compra, registrarse o descargar. Utiliza una variedad de formatos (preguntas, afirmaciones audaces, hechos intrigantes) para probar diferentes enfoques." |
|
} |
|
] |
|
} |
|
] |
|
) |
|
return message.content |
|
|
|
|
|
def gradio_generate_headlines(number_of_headlines, target_audience, product, temperature): |
|
return generate_headlines(number_of_headlines, target_audience, product, temperature) |
|
|
|
ifaces = gr.Interface( |
|
fn=gradio_generate_headlines, |
|
inputs=[ |
|
gr.Dropdown(choices=[str(i) for i in range(1, 11)], label="Número de Titulares", value="5"), |
|
gr.Textbox(label="Público Objetivo", placeholder="Ejemplo: Estudiantes Universitarios"), |
|
gr.Textbox(label="Producto", placeholder="Ejemplo: Curso de Inglés"), |
|
gr.Slider(minimum=0, maximum=1, value=0, step=0.1, label="Creatividad") |
|
], |
|
outputs=gr.Textbox(label="Titulares Generados", lines=10, placeholder="Los titulares aparecerán aquí..."), |
|
title="Generador de Titulares", |
|
description="Usa el poder de Claude AI para crear titulares atractivos. Ajusta los parámetros para generar titulares que capturen la atención de tu audiencia." |
|
) |
|
|
|
|
|
ifaces.launch() |
|
|