Merlintxu commited on
Commit
a1463f9
verified
1 Parent(s): 03a9af3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -0
app.py CHANGED
@@ -32,7 +32,27 @@ logging.basicConfig(
32
  format='%(asctime)s - %(levelname)s - %(message)s'
33
  )
34
  logger = logging.getLogger(__name__)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
 
 
36
  class SEOSpaceAnalyzer:
37
  def __init__(self):
38
  self.session = self._configure_session()
@@ -40,6 +60,19 @@ class SEOSpaceAnalyzer:
40
  self.base_dir = Path("content_storage")
41
  self.base_dir.mkdir(parents=True, exist_ok=True)
42
  self.current_analysis = {}
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
  def _configure_session(self) -> requests.Session:
45
  """Configura sesi贸n HTTP con reintentos"""
 
32
  format='%(asctime)s - %(levelname)s - %(message)s'
33
  )
34
  logger = logging.getLogger(__name__)
35
+ def setup_spacy_model():
36
+ """Descarga el modelo de spaCy si no est谩 instalado"""
37
+ try:
38
+ spacy.load("es_core_news_lg")
39
+ logger.info("Modelo spaCy 'es_core_news_lg' cargado correctamente")
40
+ except OSError:
41
+ logger.info("Descargando modelo spaCy 'es_core_news_lg'...")
42
+ try:
43
+ subprocess.run(
44
+ [sys.executable, "-m", "spacy", "download", "es_core_news_lg"],
45
+ check=True,
46
+ stdout=subprocess.PIPE,
47
+ stderr=subprocess.PIPE
48
+ )
49
+ logger.info("Modelo descargado exitosamente")
50
+ except subprocess.CalledProcessError as e:
51
+ logger.error(f"Error al descargar modelo: {e.stderr.decode()}")
52
+ raise RuntimeError("No se pudo descargar el modelo spaCy") from e
53
 
54
+ # Configurar modelo antes de iniciar
55
+ setup_spacy_model()
56
  class SEOSpaceAnalyzer:
57
  def __init__(self):
58
  self.session = self._configure_session()
 
60
  self.base_dir = Path("content_storage")
61
  self.base_dir.mkdir(parents=True, exist_ok=True)
62
  self.current_analysis = {}
63
+ def _load_models(self) -> Dict:
64
+ """Carga modelos optimizados para Hugging Face"""
65
+ try:
66
+ device = 0 if torch.cuda.is_available() else -1
67
+ return {
68
+ 'summarizer': pipeline("summarization", model="facebook/bart-large-cnn", device=device),
69
+ 'ner': pipeline("ner", model="dslim/bert-base-NER", device=device),
70
+ 'semantic': SentenceTransformer('paraphrase-multilingual-MiniLM-L12-v2'),
71
+ 'spacy': spacy.load("es_core_news_lg") # Ahora seguro que existe
72
+ }
73
+ except Exception as e:
74
+ logger.error(f"Error loading models: {e}")
75
+ raise
76
 
77
  def _configure_session(self) -> requests.Session:
78
  """Configura sesi贸n HTTP con reintentos"""