|
@@ -2,6 +2,9 @@
|
|
|
@author: luojunhui
|
|
|
"""
|
|
|
import requests
|
|
|
+from requests.exceptions import RequestException, JSONDecodeError
|
|
|
+
|
|
|
+from applications.feishuBotApi import bot
|
|
|
|
|
|
|
|
|
def similarity_between_title_list(target_title_list: list[str], base_title_list: list[str]) -> list[list[float]]:
|
|
@@ -11,7 +14,9 @@ def similarity_between_title_list(target_title_list: list[str], base_title_list:
|
|
|
:param base_title_list: base title_list
|
|
|
:return: list of similarity
|
|
|
"""
|
|
|
- url = 'http://61.48.133.26:6061/nlp'
|
|
|
+
|
|
|
+ url = 'http://61.48.133.26:6060/nlp'
|
|
|
+ url_backup = 'http://61.48.133.26:6061/nlp'
|
|
|
body = {
|
|
|
"data": {
|
|
|
"text_list_a": target_title_list,
|
|
@@ -20,7 +25,45 @@ def similarity_between_title_list(target_title_list: list[str], base_title_list:
|
|
|
"function": "similarities_cross",
|
|
|
"use_cache": False
|
|
|
}
|
|
|
- response_json = requests.post(url, json=body, timeout=120).json()
|
|
|
- score_array = response_json['score_list_list']
|
|
|
- return score_array
|
|
|
|
|
|
+ try:
|
|
|
+ response = requests.post(url, json=body, timeout=120)
|
|
|
+ if response.status_code != 200:
|
|
|
+ response = requests.post(url_backup, json=body, timeout=120)
|
|
|
+ except RequestException as e:
|
|
|
+ bot(
|
|
|
+ title='NLP API 网络异常',
|
|
|
+ detail={
|
|
|
+ "error_type": type(e).__name__,
|
|
|
+ "error_msg": str(e)
|
|
|
+ },
|
|
|
+ mention=False
|
|
|
+ )
|
|
|
+ return []
|
|
|
+
|
|
|
+ if response.status_code != 200:
|
|
|
+ bot(
|
|
|
+ title='NLP API 业务异常',
|
|
|
+ detail={
|
|
|
+ "status_code": response.status_code,
|
|
|
+ "response_text": response.text[:200] # 截取部分内容避免过大
|
|
|
+ },
|
|
|
+ mention=False
|
|
|
+ )
|
|
|
+ return []
|
|
|
+
|
|
|
+ try:
|
|
|
+ response_json = response.json()
|
|
|
+ score_array = response_json['score_list_list']
|
|
|
+ except (JSONDecodeError, KeyError) as e:
|
|
|
+ bot(
|
|
|
+ title='NLP响应数据异常',
|
|
|
+ detail={
|
|
|
+ "error_type": type(e).__name__,
|
|
|
+ "raw_response": response.text[:200]
|
|
|
+ },
|
|
|
+ mention=False
|
|
|
+ )
|
|
|
+ return []
|
|
|
+
|
|
|
+ return score_array
|