ressay1973 commited on
Commit
bf38e1f
·
verified ·
1 Parent(s): afa8b68

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -3
app.py CHANGED
@@ -2,7 +2,9 @@ from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel, load_tool, t
2
  import datetime
3
  import requests
4
  import pytz
5
- import yaml
 
 
6
  from tools.final_answer import FinalAnswerTool
7
  from Gradio_UI import GradioUI
8
 
@@ -41,6 +43,21 @@ def summarize_report(report_text: str) -> str:
41
  else:
42
  return "Error al generar el resumen."
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  final_answer = FinalAnswerTool()
45
 
46
  model = HfApiModel(
@@ -57,7 +74,7 @@ with open("prompts.yaml", 'r') as stream:
57
 
58
  agent = CodeAgent(
59
  model=model,
60
- tools=[final_answer, classify_alert, summarize_report],
61
  max_steps=6,
62
  verbosity_level=1,
63
  grammar=None,
@@ -67,5 +84,15 @@ agent = CodeAgent(
67
  prompt_templates=prompt_templates
68
  )
69
 
70
- GradioUI(agent).launch()
 
 
 
 
 
 
 
 
 
 
71
 
 
2
  import datetime
3
  import requests
4
  import pytz
5
+ yaml
6
+ import PyPDF2
7
+ import gradio as gr
8
  from tools.final_answer import FinalAnswerTool
9
  from Gradio_UI import GradioUI
10
 
 
43
  else:
44
  return "Error al generar el resumen."
45
 
46
+ # Herramienta para extraer texto de un archivo PDF y generar un resumen
47
+ @tool
48
+ def summarize_pdf_report(pdf_path: str) -> str:
49
+ """Extrae texto de un archivo PDF y genera un resumen del contenido.
50
+ Args:
51
+ pdf_path: Ruta al archivo PDF.
52
+ """
53
+ try:
54
+ with open(pdf_path, "rb") as file:
55
+ reader = PyPDF2.PdfReader(file)
56
+ text = "\n".join([page.extract_text() for page in reader.pages if page.extract_text()])
57
+ return summarize_report(text)
58
+ except Exception as e:
59
+ return f"Error procesando el PDF: {str(e)}"
60
+
61
  final_answer = FinalAnswerTool()
62
 
63
  model = HfApiModel(
 
74
 
75
  agent = CodeAgent(
76
  model=model,
77
+ tools=[final_answer, classify_alert, summarize_report, summarize_pdf_report],
78
  max_steps=6,
79
  verbosity_level=1,
80
  grammar=None,
 
84
  prompt_templates=prompt_templates
85
  )
86
 
87
+ def process_pdf(file):
88
+ return summarize_pdf_report(file.name)
89
+
90
+ demo = gr.Interface(
91
+ fn=process_pdf,
92
+ inputs=gr.File(label="Sube un archivo PDF"),
93
+ outputs=gr.Textbox(label="Resumen del reporte")
94
+ )
95
+
96
+ demo.launch()
97
+
98