| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import asyncio
- from sse_starlette import EventSourceResponse
- from utils.yaml_utils import fixed_question_intent_config
- from logger.loggering import server_logger
- from agent.fixed_intent import fixed_intent_identify_client
- from utils.tool_utils import get_fixed_problem_answer_txt_content ,verify_user_role
- def get_fixed_problem_answer_txt(trace_id, input , user_role):
- """
- 获取固定答案
-
- """
- # 验证用户角色,租户才能查询固定问题
- flag_tenant = verify_user_role(user_role)
- if not flag_tenant:
- # 普通用户直接返回
- return False , input
- result = fixed_intent_identify_client.recognize_intent(input)
- server_logger.info(trace_id=trace_id, msg=f"固定问题意图识别系统: input={input}, result={result}")
- # 获取固定问题 配置列表,判断意图识别是否在配置列表中
- if result not in get_fixed_problem_answer_recognize_out_list(trace_id=trace_id):
- # 不在 配置列表中
- return False , input
-
- answer_result = get_fixed_problem_answer_txt_content(result)
- return True , answer_result
- def get_fixed_problem_answer_recognize_out_list(trace_id: str):
- """
- 获取固定问题 意图识别结果配置列表
- 如:
- [
- "question_1",
- "question_2",
- "question_3",
- "question_4",
- "question_5",
- "question_6",
- "question_7",
- "question_8",
- "question_9",
- ]
- """
- fixed_problem_answer_list = fixed_question_intent_config["fixed_problem_answer"]
- recognize_intent_out_list = list(map(lambda x: x["out"], fixed_problem_answer_list))
- server_logger.info(trace_id=trace_id, msg=f"配置固定问题意图识别结果列表: recognize_intent_out_list={recognize_intent_out_list}")
- return recognize_intent_out_list
|