Spaces:
Running
Running
import logging | |
import io | |
import base64 | |
import matplotlib.pyplot as plt | |
from ..text_analysis.semantic_analysis import perform_semantic_analysis | |
from .flexible_analysis_handler import FlexibleAnalysisHandler | |
logger = logging.getLogger(__name__) | |
def encode_image_to_base64(image_data): | |
return base64.b64encode(image_data).decode('utf-8') | |
def process_semantic_analysis(file_contents, nlp_model, lang_code): | |
logger.info(f"Starting semantic analysis processing for language: {lang_code}") | |
try: | |
result = perform_semantic_analysis(file_contents, nlp_model, lang_code) | |
concept_graph = result['concept_graph'] | |
entity_graph = result['entity_graph'] | |
key_concepts = result['key_concepts'] | |
# Convertir los gráficos a base64 | |
concept_graph_base64 = encode_image_to_base64(concept_graph) | |
entity_graph_base64 = encode_image_to_base64(entity_graph) | |
logger.info("Semantic analysis processing completed successfully") | |
logger.debug(f"Concept graph base64 (first 100 chars): {concept_graph_base64[:100]}") | |
return concept_graph_base64, entity_graph_base64, key_concepts | |
except Exception as e: | |
logger.error(f"Error in semantic analysis processing: {str(e)}") | |
return None, None, [] | |
''' | |
logger = logging.getLogger(__name__) | |
logging.basicConfig(level=logging.DEBUG) | |
def process_semantic_analysis(file_contents, nlp_model, lang_code): | |
logger.info(f"Starting semantic analysis for language: {lang_code}") | |
try: | |
logger.debug("Calling perform_semantic_analysis") | |
result = perform_semantic_analysis(file_contents, nlp_model, lang_code) | |
logger.debug(f"Result keys: {result.keys()}") | |
logger.debug(f"Type of concept_graph: {type(result['concept_graph'])}") | |
logger.debug(f"Type of entity_graph: {type(result['entity_graph'])}") | |
logger.debug(f"Number of key_concepts: {len(result['key_concepts'])}") | |
logger.info("Semantic analysis completed successfully") | |
return result['concept_graph'], result['entity_graph'], result['key_concepts'] | |
except Exception as e: | |
logger.error(f"Error in semantic analysis: {str(e)}") | |
raise | |
''' |