parkerjj commited on
Commit
558076d
·
1 Parent(s): f56051d

优化预测函数的错误处理逻辑,返回空列表以替代错误信息;增加对空文本和股票代码的处理,确保输入有效性

Browse files
Files changed (3) hide show
  1. app.py +1 -1
  2. blkeras.py +6 -2
  3. preprocess.py +4 -0
app.py CHANGED
@@ -76,7 +76,7 @@ async def predict(request: PredictRequest):
76
  )
77
  return result
78
  except Exception as e:
79
- return {"error": str(e)}
80
 
81
  @app.get("/")
82
  async def root():
 
76
  )
77
  return result
78
  except Exception as e:
79
+ return []
80
 
81
  @app.get("/")
82
  async def root():
blkeras.py CHANGED
@@ -99,7 +99,11 @@ def predict(text: str, stock_codes: list):
99
  from preprocess import get_document_vector, get_stock_info, process_entities, process_pos_tags, processing_entry
100
 
101
  try:
102
-
 
 
 
 
103
  print(f"Input Text Length: {len(text)}, Start with: {text[:200] if len(text) > 200 else text}")
104
  print("Input stock codes:", stock_codes)
105
 
@@ -406,7 +410,7 @@ def predict(text: str, stock_codes: list):
406
  traceback_str = traceback.print_exc()
407
  print(f"predict() error: {e}")
408
  print(traceback_str)
409
- return {"predict() error": str(e), "traceback": traceback_str}
410
  finally:
411
  end_time = datetime.now()
412
  print(f"predict() Text: {input_text[:200] if len(input_text) > 200 else input_text} \n execution time: {end_time - start_time}, Text Length: {len(input_text)} \n")
 
99
  from preprocess import get_document_vector, get_stock_info, process_entities, process_pos_tags, processing_entry
100
 
101
  try:
102
+ if text.strip() == "" and not stock_codes:
103
+ return []
104
+ if stock_codes and text.strip() == "":
105
+ text = "EMPTY_TEXT"
106
+
107
  print(f"Input Text Length: {len(text)}, Start with: {text[:200] if len(text) > 200 else text}")
108
  print("Input stock codes:", stock_codes)
109
 
 
410
  traceback_str = traceback.print_exc()
411
  print(f"predict() error: {e}")
412
  print(traceback_str)
413
+ return []
414
  finally:
415
  end_time = datetime.now()
416
  print(f"predict() Text: {input_text[:200] if len(input_text) > 200 else input_text} \n execution time: {end_time - start_time}, Text Length: {len(input_text)} \n")
preprocess.py CHANGED
@@ -266,6 +266,10 @@ def process_long_text(text, tokenizer, max_length=512):
266
  return segments
267
 
268
  def get_sentiment_score(text):
 
 
 
 
269
  try:
270
  import torch
271
 
 
266
  return segments
267
 
268
  def get_sentiment_score(text):
269
+ if text and text.strip() == "EMPTY_TEXT":
270
+ return 0.0
271
+
272
+
273
  try:
274
  import torch
275