Spaces:
Sleeping
Sleeping
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): | |
if isinstance(image_data, str): # Si es una ruta de archivo | |
with open(image_data, "rb") as image_file: | |
encoded_string = base64.b64encode(image_file.read()).decode("utf-8") | |
elif isinstance(image_data, bytes): # Si son datos de imagen en memoria | |
encoded_string = base64.b64encode(image_data).decode("utf-8") | |
else: | |
raise ValueError("Invalid image data type. Expected string (file path) or bytes.") | |
return encoded_string # | |
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) | |
#handler = FlexibleAnalysisHandler(result) | |
#concept_graph = handler.get_graph('concept_graph') | |
#entity_graph = handler.get_graph('entity_graph') | |
#key_concepts = handler.get_key_concepts() | |
concept_graph = result['concept_graph'] | |
entity_graph = result['entity_graph'] | |
key_concepts = result['key_concepts'] | |
# Convertir los gráficos a base64 | |
concept_graph_base64 = fig_to_base64(concept_graph) if concept_graph else None | |
entity_graph_base64 = fig_to_base64(entity_graph) if entity_graph else None | |
logger.info("Semantic analysis processing completed successfully") | |
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, [] # Retorna valores vacíos en caso de error | |
''' | |
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 | |
''' |