entity_extraction/main.py

62 lines
2.0 KiB
Python

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 实体信息提取
# logger.warning(f"get queueing inputData= {inputData}")
input_text = inputData["text"]
result = entityExtractionProcess.entity_extract(input_text)
logger.warning(f"process result= {result}")
return result
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"Exception: {traceback.format_exc()}")
finally:
logger.warning("application completed")