落地销售调价:按自然语言改价并单独记销售价,拉群和后台不再把调后价当成 TMS 原价。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -55,9 +55,23 @@ class IntentRouter:
|
||||
"""
|
||||
return self._a().route_stub_fixture(text=text, sender_id=sender_id)
|
||||
|
||||
def route(self, *, text: str, sender_id: str) -> RouteDecision:
|
||||
"""一条入站一个 RouteDecision。"""
|
||||
return self._a().route(text=text, sender_id=sender_id)
|
||||
def route(
|
||||
self,
|
||||
*,
|
||||
text: str,
|
||||
sender_id: str,
|
||||
session_quoted: bool = False,
|
||||
fee_names: Optional[list[str]] = None,
|
||||
work_order_no: str = "",
|
||||
) -> RouteDecision:
|
||||
"""一条入站一个 RouteDecision。已报价时把书签事实交给 A 认调价。"""
|
||||
return self._a().route(
|
||||
text=text,
|
||||
sender_id=sender_id,
|
||||
session_quoted=session_quoted,
|
||||
fee_names=fee_names,
|
||||
work_order_no=work_order_no,
|
||||
)
|
||||
|
||||
def route_inbound(
|
||||
self,
|
||||
@@ -70,7 +84,7 @@ class IntentRouter:
|
||||
入站后再路由。
|
||||
|
||||
点卡片是结构化事件,不进大模型。
|
||||
自由文字交给 DeepSeek A 认意图(续办 / 新询价 / 闲聊),不要求固定口令。
|
||||
自由文字交给 DeepSeek A 认意图(续办 / 新询价 / 调价 / 闲聊),不要求固定口令。
|
||||
"""
|
||||
if not sender_id:
|
||||
return RouteDecision(intent="reject_no_sender", confidence=1.0)
|
||||
@@ -92,7 +106,28 @@ class IntentRouter:
|
||||
logger.info("route 陆运核对卡确定:跳过闲聊模型 sender=%s", sender_id)
|
||||
return RouteDecision(intent="ordinary_text_inquiry", confidence=1.0)
|
||||
logger.info("route 确定类短句但无陆运核对卡,仍走模型 sender=%s", sender_id)
|
||||
return self.route(text=text, sender_id=sender_id)
|
||||
quoted = False
|
||||
names: list[str] = []
|
||||
wo = ""
|
||||
try:
|
||||
from agent.policy.quote_adjust_ops import quoted_adjust_flow
|
||||
from agent.schema.quote_adjust import quote_fee_rows
|
||||
|
||||
flow = quoted_adjust_flow(sender_id)
|
||||
sess = flow.session_of(sender_id) if flow is not None else None
|
||||
if sess is not None:
|
||||
quoted = True
|
||||
wo = str(getattr(sess, "work_order_no", "") or "")
|
||||
names = [str(r.get("name") or "") for r in quote_fee_rows(getattr(sess, "quote", None))]
|
||||
except Exception:
|
||||
logger.exception("route 收集调价书签失败 sender=%s", sender_id)
|
||||
return self.route(
|
||||
text=text,
|
||||
sender_id=sender_id,
|
||||
session_quoted=quoted,
|
||||
fee_names=names,
|
||||
work_order_no=wo,
|
||||
)
|
||||
|
||||
def enqueue_ordered_actions(
|
||||
self,
|
||||
|
||||
Reference in New Issue
Block a user