jseb4s commited on
Commit
a735fbb
·
verified ·
1 Parent(s): 185414c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -4
app.py CHANGED
@@ -3,6 +3,7 @@ import requests
3
  import yaml
4
  from tools.final_answer import FinalAnswerTool
5
  import gradio as gr
 
6
 
7
  # Import tool from Hub
8
  image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
@@ -26,7 +27,19 @@ def get_game_of_thrones_character_info(character_name: str) -> str:
26
  characters = response.json()
27
 
28
  if not characters:
29
- return f"No se encontró información para el personaje: {character_name}"
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
  # Tomar el primer resultado (puede haber varios con el mismo nombre)
32
  character = characters[0]
@@ -61,7 +74,7 @@ def get_game_of_thrones_character_info(character_name: str) -> str:
61
  books.append(book_name)
62
 
63
  # Formatear la respuesta en español
64
- result = f"**Información sobre {name}**:\n\n"
65
  result += f"- **Género**: {gender}\n"
66
  result += f"- **Cultura**: {culture}\n"
67
  result += f"- **Nacimiento**: {born}\n"
@@ -120,10 +133,10 @@ def display_character_info(character_name):
120
  interface = gr.Interface(
121
  fn=display_character_info,
122
  inputs=gr.Textbox(label="Nombre del personaje", placeholder="Ejemplo: Jon Snow"),
123
- outputs=gr.Textbox(label="Información del personaje"),
124
  title="Información de Personajes de Juego de Tronos",
125
  description="Ingresa el nombre de un personaje de Juego de Tronos para obtener información detallada.",
126
- examples=["Jon Snow", "Daenerys Targaryen", "Tyrion Lannister"],
127
  theme="soft"
128
  )
129
 
 
3
  import yaml
4
  from tools.final_answer import FinalAnswerTool
5
  import gradio as gr
6
+ from difflib import get_close_matches
7
 
8
  # Import tool from Hub
9
  image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
 
27
  characters = response.json()
28
 
29
  if not characters:
30
+ # Si no se encuentra el personaje, buscar nombres similares
31
+ all_characters_response = requests.get(base_url, params={"pageSize": 1000})
32
+ all_characters_response.raise_for_status()
33
+ all_characters = all_characters_response.json()
34
+ all_names = [char.get("name", "") for char in all_characters if char.get("name")]
35
+
36
+ # Buscar nombres similares
37
+ close_matches = get_close_matches(character_name, all_names, n=2, cutoff=0.5)
38
+ if close_matches:
39
+ suggestions = "\n- " + "\n- ".join(close_matches)
40
+ return f"No se encontró información para el personaje: {character_name}.\n\n¿Quizás quisiste decir alguno de estos?\n{suggestions}"
41
+ else:
42
+ return f"No se encontró información para el personaje: {character_name}."
43
 
44
  # Tomar el primer resultado (puede haber varios con el mismo nombre)
45
  character = characters[0]
 
74
  books.append(book_name)
75
 
76
  # Formatear la respuesta en español
77
+ result = f"**Información sobre {name}**\n\n"
78
  result += f"- **Género**: {gender}\n"
79
  result += f"- **Cultura**: {culture}\n"
80
  result += f"- **Nacimiento**: {born}\n"
 
133
  interface = gr.Interface(
134
  fn=display_character_info,
135
  inputs=gr.Textbox(label="Nombre del personaje", placeholder="Ejemplo: Jon Snow"),
136
+ outputs=gr.Textbox(label="Información del personaje", markdown=True), # Habilitar Markdown
137
  title="Información de Personajes de Juego de Tronos",
138
  description="Ingresa el nombre de un personaje de Juego de Tronos para obtener información detallada.",
139
+ examples=["Jon Snow", "Daenerys Targaryen", "Tyrion Lannister", "Viserys Targaryen"],
140
  theme="soft"
141
  )
142