feat: 海运协同不再补问贸易条款

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-20 17:52:19 +08:00
co-authored by Cursor
parent 698ac43878
commit 88a66d40bb
6 changed files with 32 additions and 13 deletions
+1 -1
View File
@@ -246,7 +246,7 @@ def extract_collab_fields(
"""
群里协同字段:标签(冒号可省)+ 口语含油/含电/含磁/危险品、货好时间。
allowed_keys 传入则只返回本单该有的项。不传则海运六项 ∪ 陆运协同键,给意图分类。
allowed_keys 传入则只返回本单该有的项。不传则海运协同五项 ∪ 贸易条款(陆运跨境仍要)∪ 陆运协同键,给意图分类。
闲聊、只说「纸箱」不进这里。商品海关编码 / HS 折成 HS编码。
"""
from agent.schema.field_validate import (
+2 -2
View File
@@ -2091,12 +2091,12 @@ def group_fields_not_recognized(
keys: tuple[str, ...] | None = None,
business_line: str = "",
) -> str:
"""没认出协同字段。陆运列出本单可补项;海运保持原六项口。"""
"""没认出协同字段。陆运列出本单可补项;海运列出协同五项(不含贸易条款)。"""
if keys:
line = (business_line or "").strip().upper() or "SEA"
names = [collab_display_name(k, line) for k in keys]
return "听到了。请直接说" + "、".join(names) + "。"
return "听到了。请直接说贸易条款、货好时间、商品海关编码、是否含油/含电/含磁。"
return "听到了。请直接说货好时间、商品海关编码、是否含油/含电/含磁。"
def group_deal_stale(*, work_order_no: str) -> str:
+1 -1
View File
@@ -2,7 +2,7 @@
海运协同群业务:填表进群、补字段重发、产品报价、附件、解散、成交跟进。
本文件职责:群里副作用(主账+企微群)。私聊按钮仍走 sea_text_flow.on_button。
禁止:改询价七项;终态默默忽略;把销售附件当报价。
禁止:改询价十项;终态默默忽略;把销售附件当报价。
"""
from __future__ import annotations
+1 -1
View File
@@ -231,7 +231,7 @@ def _classify_with_model(text: str, settings) -> str:
client = LlmHttpClient.from_settings(settings)
system = (
"你是海运协同群意图分类。只回复一个英文词,不要解释。"
"collab_fields=在补贸易条款/货好时间/商品海关编码/含油含电含磁;"
"collab_fields=在补货好时间/商品海关编码/含油含电含磁;"
"quote_adjust=销售在调已有费用,口令不写死(上升、上浮、往上抬、加一成、减、改到某金额都算),不是新产品报价;"
"product_quote=产品在报价格或费用(含具体金额);"
"quote_confirm_tms=产品确认沿用当前TMS报价,没有报新金额;"
+4 -4
View File
@@ -60,7 +60,7 @@ LAND_DISPLAY = {
# 协同补充字段:拉群后可静默写入,不挡首次查价。内部键仍是 HS编码。
SEA_COLLAB_FIELDS = ("货好时间", "HS编码", "是否含油", "是否含电", "是否含磁")
# 空运群只补含电/含磁,摘要不要把海运六项搬过去。
# 空运群只补含电/含磁,摘要不要把海运协同五项搬过去。
AIR_COLLAB_FIELDS = ("是否含电", "是否含磁")
# 群摘要对外展示名。内部继续用 HS编码,避免改合同键。
SEA_COLLAB_DISPLAY = {
@@ -143,11 +143,11 @@ _LAND_COLLAB_BY_PAIR: dict[tuple[str, str], tuple[str, ...]] = {
"是否为危险品",
),
}
# 意图分类用:海运六项 ∪ 陆运全部协同键。
# 意图分类用:海运协同五项 ∪ 贸易条款(陆运跨境仍要)∪ 陆运协同键。
ALL_COLLAB_KEYS = tuple(
dict.fromkeys(
list(SEA_COLLAB_FIELDS)
+ ["客户名称", "包装方式", "货值", "是否为危险品", "车型/数量"]
+ ["贸易条款", "客户名称", "包装方式", "货值", "是否为危险品", "车型/数量"]
)
)
@@ -319,7 +319,7 @@ def land_collab_fields(land_type: str, route: str) -> tuple[str, ...]:
"""
本单陆运协同内部键,顺序与规格一致。
对不上填写样例返回空元组,调用方不得按海运六项去列。
对不上填写样例返回空元组,调用方不得按海运协同五项去列。
海关编码内部仍是 HS编码。副作用:无。
"""
from agent.schema.land_options import canonicalize_route, canonicalize_transport_type