JeCabrera commited on
Commit
0749b8b
·
verified ·
1 Parent(s): f4c081a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -31
app.py CHANGED
@@ -1,42 +1,38 @@
1
  import gradio as gr
2
- import anthropic
3
- import os # Importa el módulo os para manejar variables de entorno
 
4
 
5
- # Obtén la clave de API desde la variable de entorno
6
- api_key = os.getenv("ANTHROPIC_API_KEY")
7
 
8
- # Verifica si la clave de API está configurada
9
- if not api_key:
10
- raise ValueError("Falta la clave de API de Anthropoid. Asegúrate de configurarla en los secretos del repositorio.")
11
-
12
- # Configura el cliente de la API de Claude (Anthropic)
13
- client = anthropic.Anthropic(api_key=api_key)
14
 
15
  def generate_headlines(number_of_headlines, target_audience, product, temperature):
16
- # Llama a la API de Claude para generar titulares
17
- message = client.messages.create(
18
- model="claude-3-5-sonnet-20240620",
19
- max_tokens=1000, # Configurado a 1000 tokens
20
- temperature=temperature, # Usa el valor del slider aquí
21
- messages=[
22
- {
23
- "role": "user",
24
- "content": [
25
- {
26
- "type": "text",
27
- "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."
28
- }
29
- ]
30
- }
31
- ]
32
  )
33
- return message.content
34
 
35
- # Configura la interfaz de usuario con Gradio
 
 
36
  def gradio_generate_headlines(number_of_headlines, target_audience, product, temperature):
37
  return generate_headlines(number_of_headlines, target_audience, product, temperature)
38
 
39
- ifaces = gr.Interface(
40
  fn=gradio_generate_headlines,
41
  inputs=[
42
  gr.Dropdown(choices=[str(i) for i in range(1, 11)], label="Número de Titulares", value="5"),
@@ -46,8 +42,8 @@ ifaces = gr.Interface(
46
  ],
47
  outputs=gr.Textbox(label="Titulares Generados", lines=10, placeholder="Los titulares aparecerán aquí..."),
48
  title="Generador de Titulares",
49
- 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."
50
  )
51
 
52
  # Lanza la interfaz
53
- ifaces.launch()
 
1
  import gradio as gr
2
+ import google.generativeai as genai
3
+ import os
4
+ from dotenv import load_dotenv
5
 
6
+ # Cargar variables de entorno
7
+ load_dotenv()
8
 
9
+ # Configurar la API de Google Gemini
10
+ genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
 
 
 
 
11
 
12
  def generate_headlines(number_of_headlines, target_audience, product, temperature):
13
+ # Crear el prompt para la API de Gemini
14
+ prompt = (
15
+ f"Eres un copywriter experto. Tu tarea es crear {number_of_headlines} titulares atractivos "
16
+ f"para {target_audience} que generen interés en {product}. "
17
+ "Cada titular debe invitar a la acción, ya sea comprar, registrarse o descargar. "
18
+ "Utiliza diferentes formatos como preguntas, afirmaciones audaces y hechos intrigantes."
19
+ )
20
+
21
+ # Llamar a la API de Gemini para generar los titulares
22
+ response = genai.generate_text(
23
+ model="gemini-1.5-pro", # Modelo por defecto
24
+ prompt=prompt,
25
+ temperature=temperature,
26
+ max_output_tokens=1000,
 
 
27
  )
 
28
 
29
+ return response.text
30
+
31
+ # Configurar la interfaz de usuario con Gradio
32
  def gradio_generate_headlines(number_of_headlines, target_audience, product, temperature):
33
  return generate_headlines(number_of_headlines, target_audience, product, temperature)
34
 
35
+ iface = gr.Interface(
36
  fn=gradio_generate_headlines,
37
  inputs=[
38
  gr.Dropdown(choices=[str(i) for i in range(1, 11)], label="Número de Titulares", value="5"),
 
42
  ],
43
  outputs=gr.Textbox(label="Titulares Generados", lines=10, placeholder="Los titulares aparecerán aquí..."),
44
  title="Generador de Titulares",
45
+ description="Usa el poder de Gemini AI para crear titulares atractivos. Ajusta los parámetros para generar titulares que capturen la atención de tu audiencia."
46
  )
47
 
48
  # Lanza la interfaz
49
+ iface.launch()