newtw66
This commit is contained in:
@@ -11,6 +11,13 @@ from db.chat_log_db import get_conversation, get_customer_orders
|
||||
logger = logging.getLogger("cs_agent")
|
||||
|
||||
|
||||
class TransferSuccessException(Exception):
|
||||
"""转接成功后抛出此异常,用于提前终止 AI 处理流程"""
|
||||
def __init__(self, transfer_cmd: str):
|
||||
self.transfer_cmd = transfer_cmd
|
||||
super().__init__(transfer_cmd)
|
||||
|
||||
|
||||
async def transfer_to_human_tool(ctx: RunContext[Any], reason: str = Field(description="转人工的原因")) -> str:
|
||||
"""
|
||||
【核心工具】执行转人工逻辑。
|
||||
@@ -22,8 +29,9 @@ async def transfer_to_human_tool(ctx: RunContext[Any], reason: str = Field(descr
|
||||
|
||||
if designer_name:
|
||||
magic_cmd = f"正在为您转接|[转移会话],{designer_name},无原因"
|
||||
logger.info(f"[Tool] 成功呼叫设计师: {designer_name}")
|
||||
return magic_cmd
|
||||
logger.info(f"[Tool] 成功呼叫设计师: {designer_name},立即触发转接")
|
||||
# 抛出异常以提前终止 AI 后续处理,节省等待时间
|
||||
raise TransferSuccessException(magic_cmd)
|
||||
else:
|
||||
hour = datetime.now().hour
|
||||
logger.warning(f"[Tool] 派单失败:设计师们不在位 (当前{hour}点)")
|
||||
|
||||
Reference in New Issue
Block a user