Nancy1906 commited on
Commit
7ca40c9
·
verified ·
1 Parent(s): f348df0
Files changed (1) hide show
  1. app.py +22 -9
app.py CHANGED
@@ -1,18 +1,31 @@
1
  import os
2
  import nltk
3
 
4
- # 1) Apuntar a la carpeta nltk_data (ya creada en el build)
5
- os.environ["NLTK_DATA"] = "nltk_data"
6
 
7
- # 2) Ponerla al inicio de las rutas de búsqueda de NLTK
 
8
  nltk.data.path.insert(0, "nltk_data")
9
 
10
- # 3) Verificar que existan 'punkt' y 'stopwords'; si falta alguno, imprimir warning
11
- try:
12
- nltk.data.find("tokenizers/punkt")
13
- nltk.data.find("corpora/stopwords")
14
- except LookupError as e:
15
- print(f"WARNING: Recurso NLTK no encontrado en nltk_data: {e}")
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
  # ── Ahora SÍ traemos el resto de librerías que usan nltk y llama_index ──────
18
  import gradio as gr
 
1
  import os
2
  import nltk
3
 
4
+ # 1) Asegurarnos de que la carpeta nltk_data exista
5
+ os.makedirs("nltk_data", exist_ok=True)
6
 
7
+ # 2) Apuntar NLTK a usar esa carpeta
8
+ os.environ["NLTK_DATA"] = "nltk_data"
9
  nltk.data.path.insert(0, "nltk_data")
10
 
11
+ # 3) Verificar si 'punkt' y 'stopwords' ya están descargados; si no, descargarlos ahora.
12
+ # Así evitamos el error y hacemos la descarga solo una vez en runtime.
13
+ def ensure_nltk_resource(res_name):
14
+ try:
15
+ nltk.data.find(res_name)
16
+ return True
17
+ except LookupError:
18
+ return False
19
+
20
+ # Si falta 'punkt', lo descargamos
21
+ if not ensure_nltk_resource("tokenizers/punkt"):
22
+ print("DEBUG: 'punkt' no encontrado en nltk_data, descargando...")
23
+ nltk.download("punkt", download_dir="nltk_data", quiet=True)
24
+
25
+ # Si falta 'stopwords', lo descargamos
26
+ if not ensure_nltk_resource("corpora/stopwords"):
27
+ print("DEBUG: 'stopwords' no encontrado en nltk_data, descargando...")
28
+ nltk.download("stopwords", download_dir="nltk_data", quiet=True)
29
 
30
  # ── Ahora SÍ traemos el resto de librerías que usan nltk y llama_index ──────
31
  import gradio as gr