|
@@ -458,12 +458,12 @@ class ToTextBotAgent:
|
|
|
self.call_agent.message_queue.put(message)
|
|
|
break
|
|
|
else:
|
|
|
- self.call_agent.logger.info("响应中没有 'data' 字段")
|
|
|
+ self.call_agent.logger.info(f"to_request::failed, sessionId={request.sessionId}, response_data:{response_data}")
|
|
|
else:
|
|
|
- self.call_agent.logger.info(f"请求失败,状态码: {response.status_code}, 响应内容: {response.text}")
|
|
|
+ self.call_agent.logger.info(f"to_request::请求失败,sessionId:{request.sessionId}, 状态码: {response.status_code}, 响应内容: {response.text}")
|
|
|
except Exception as e:
|
|
|
traceback.print_exc()
|
|
|
- self.call_agent.logger.error(f"TaskId={request.taskId}, 请求发生异常 {e}, URL: {url}")
|
|
|
+ self.call_agent.logger.error(f"to_request::exception, TaskId={request.taskId}, sessionId={request.sessionId}, 请求发生异常: {e}, URL: {url}")
|
|
|
finally:
|
|
|
try_count = try_count - 1
|
|
|
latency = (time.time() - once_start)
|
|
@@ -476,56 +476,57 @@ class ToTextBotAgent:
|
|
|
latency = (time.time() - start_time)
|
|
|
registry.BOT_REQUEST_COUNT.inc()
|
|
|
registry.BOT_REQUEST_LATENCY.labels(request.taskId).observe(latency)
|
|
|
- self.call_agent.logger.info(f"sessionId={ self.call_agent.session_id}, timeCost={latency}, chat::request:{request_data}, response:{response_data if response_data else None}")
|
|
|
-
|
|
|
-
|
|
|
- def to_quest(self, request: BotChatRequest, try_count = 3):
|
|
|
- start_time = time.time()
|
|
|
- request_data = request.to_json_string()
|
|
|
- response = None
|
|
|
- try:
|
|
|
- url = f"http://{SERVE_HOST}:40072/botservice"
|
|
|
- # payload = request.to_json_string()
|
|
|
- # self.call_agent.logger.info(f"请求数据:{request_data},url:{url}")
|
|
|
- with requests.Session() as session:
|
|
|
- message = None
|
|
|
- # try:
|
|
|
- session.headers.update({'Content-Type': 'application/json'})
|
|
|
- while try_count > 0:
|
|
|
- once_start = time.time()
|
|
|
- try:
|
|
|
- response = session.post(url=url, json=request_data, timeout=3)
|
|
|
- # response = requests.post(url=url, json=json.loads(request_data), headers=headers, timeout=10) # 使用占位URL
|
|
|
- self.call_agent.logger.info("to_request come in , try_count=%s", try_count)
|
|
|
- if response.status_code == 200:
|
|
|
- response_data = response.json()
|
|
|
- if "data" in response_data and response_data["code"]==0:
|
|
|
- data = response_data["data"]
|
|
|
- message = ChatMessage.from_json(data)
|
|
|
- self.call_agent.message_queue.put(message)
|
|
|
- break
|
|
|
- else:
|
|
|
- self.call_agent.logger.info("响应中没有 'data' 字段")
|
|
|
- else:
|
|
|
- self.call_agent.logger.info(f"请求失败,状态码: {response.status_code}, 响应内容: {response.text}")
|
|
|
- except Exception as e:
|
|
|
- traceback.print_exc()
|
|
|
- self.call_agent.logger.error(f"TaskId={request.taskId}, 请求发生异常: {e}, URL: {url}")
|
|
|
- finally:
|
|
|
- try_count = try_count - 1
|
|
|
- latency = (time.time() - once_start)
|
|
|
- registry.BOT_REQUEST_ONCE_LATENCY.labels(request.taskId).observe(latency)
|
|
|
-
|
|
|
- if not message:
|
|
|
- message = self.get_default_response()
|
|
|
- self.call_agent.message_queue.put(message)
|
|
|
- # finally:
|
|
|
- # session.close()
|
|
|
- finally:
|
|
|
- latency = (time.time() - start_time)
|
|
|
- registry.BOT_REQUEST_COUNT.inc()
|
|
|
- registry.BOT_REQUEST_LATENCY.labels(request.taskId).observe(latency)
|
|
|
- self.call_agent.logger.info(f"sessionId={ self.call_agent.session_id}, timeCost={latency}, chat::request:{request_data}, response:{response.text if response else None}")
|
|
|
+ self.call_agent.logger.info(f"to_request sessionId={self.call_agent.session_id}, timeCost={latency}, request:{request_data}, response:{response_data if response_data else None}")
|
|
|
+
|
|
|
+
|
|
|
+ # def to_quest(self, request: BotChatRequest, try_count = 3):
|
|
|
+ # start_time = time.time()
|
|
|
+ # request_data = request.to_json_string()
|
|
|
+ # response = None
|
|
|
+ # try:
|
|
|
+ # url = f"http://{SERVE_HOST}:40072/botservice"
|
|
|
+ # # payload = request.to_json_string()
|
|
|
+ # # self.call_agent.logger.info(f"请求数据:{request_data},url:{url}")
|
|
|
+ # with requests.Session() as session:
|
|
|
+ # message = None
|
|
|
+ # # try:
|
|
|
+ # session.headers.update({'Content-Type': 'application/json'})
|
|
|
+ # while try_count > 0:
|
|
|
+ # once_start = time.time()
|
|
|
+ # try:
|
|
|
+ # response = session.post(url=url, json=request_data, timeout=3)
|
|
|
+ # # response = requests.post(url=url, json=json.loads(request_data), headers=headers, timeout=10) # 使用占位URL
|
|
|
+ # # self.call_agent.logger.info("to_request come in , try_count=%s", try_count)
|
|
|
+ # if response.status_code == 200:
|
|
|
+ # response_data = response.json()
|
|
|
+ # if "data" in response_data and response_data["code"]==0:
|
|
|
+ # data = response_data["data"]
|
|
|
+ # message = ChatMessage.from_json(data)
|
|
|
+ # self.call_agent.message_queue.put(message)
|
|
|
+ # break
|
|
|
+ # else:
|
|
|
+ # self.call_agent.logger.info(f"to_request::sessionId:{request.sessionId}, 响应中没有 'data' 字段")
|
|
|
+ # else:
|
|
|
+ # self.call_agent.logger.info(f"to_request::请求失败,sessionId:{request.sessionId}, 状态码: {response.status_code}, 响应内容: {response.text}")
|
|
|
+ # except Exception as e:
|
|
|
+ # traceback.print_exc()
|
|
|
+ # self.call_agent.logger.error(f"to_request::TaskId={request.taskId}, sessionId={request.sessionId}, 请求发生异常: {e}, URL: {url}")
|
|
|
+ # finally:
|
|
|
+ # try_count = try_count - 1
|
|
|
+ # latency = (time.time() - once_start)
|
|
|
+ # registry.BOT_REQUEST_ONCE_LATENCY.labels(request.taskId).observe(latency)
|
|
|
+ #
|
|
|
+ # self.call_agent.logger.info(f"to_request::sessionId:{request.sessionId}, message:{message.to_json_string() if message else None}")
|
|
|
+ # if not message:
|
|
|
+ # message = self.get_default_response()
|
|
|
+ # self.call_agent.message_queue.put(message)
|
|
|
+ # # finally:
|
|
|
+ # # session.close()
|
|
|
+ # finally:
|
|
|
+ # latency = (time.time() - start_time)
|
|
|
+ # registry.BOT_REQUEST_COUNT.inc()
|
|
|
+ # registry.BOT_REQUEST_LATENCY.labels(request.taskId).observe(latency)
|
|
|
+ # self.call_agent.logger.info(f"to_request::sessionId={ self.call_agent.session_id}, timeCost={latency}, request:{request_data}, response:{response.text if response else None}")
|
|
|
|
|
|
def get_default_response(self):
|
|
|
response= {
|