from dotenv import load_dotenv load_dotenv() import time from openai import OpenAI from datetime import datetime import config, debug, prompt from entity_extraction_process import entityExtractionProcess import os, sys, time, json, traceback from utils.logger import logger base_dir = os.path.dirname(os.path.abspath(__file__)) relative_path = os.path.join(base_dir, "iCloudEngine/src") sys.path.append(relative_path) from queue_processor import QueueProcessor DEBUG = False class Main(QueueProcessor): def processor_handle(self, input): print("input:", input) currentEngineId = input["currentEngineId"] inputData = json.loads(input["inputData"]) match currentEngineId: case 3000: # InfoExtractor 实体信息提取 input_text = inputData["text"] return entityExtractionProcess.entity_extract(input_text) if __name__ == "__main__": if DEBUG: input_text = debug.input_text response = entityExtractionProcess.entity_extract(input_text) print(response) exit() else: logger.warning("application start") try: Main().startV2() except Exception as e: logger.warning(f"excute exception:{e}") exc_type, exc_value, exc_traceback = sys.exc_info() traceback_details = traceback.extract_tb(exc_traceback) filename, line_number, function_name, text = traceback_details[-1] logger.error(f"Exception occurred in {filename} at line {line_number}: {e}") logger.error(f"Function name: {function_name}") logger.error(f"Text: {text}") import traceback logger.warning(f"Crawler_NewsCN {traceback.format_exc()}") finally: logger.warning("application completed")