feat(W20): 新增 E2c-my 出口 + 展示层净化 + P2 自助流程豁免(金标零回归)
用户口径:既智能又安全,不靠"答不上就转人工";按本人画像测评列出可购买的产品, 但不引导购买。 出口由五个扩为六个: - 新增 E2c-my:按客户本人权威测评等级给出可购买范围 + 在售清单 (只列代码/名称/类别/风险等级,按代码升序;出口后置引导词护栏,命中即降级为仅范围) - 点名档位(「我可以买 R3 的产品吗」)先给一句直接裁决再列范围 —— 修复前只给清单,"不"字始终没说出来 - 新工具 query_eligible_products(suitability:read)+ 发布 release 220 真实业务缺陷: - P2_SELF_SERVICE_PATTERNS:问「怎么修改绑定的银行卡」不再建单转人工(FAQ 里就有答案); 「帮我把绑定银行卡换一下」仍走 P2 - 展示层净化 render_plain / drop_yield_claims / prettify_title 接在 E3/E4/E5b/澄清四处 (E4 模型会照抄证据包的 markdown 标记) - 空结果护栏:语料里 15 个纯收益切片被净化清空时回退 E5b,不给空气泡 测试:定向 334 passed;全量回归 1969 passed / 3 skipped / 0 failed(基线 1946); 46 条金标 M-1 46/46=100%、M-4 100%、M-6 5/46=10.9%、M-7~M-10 全 0 —— 与 score_w11b 逐项一致(零回归)。 落档:D1.6 §4.49 / D2.1 v6.36 / D1.1 §30
This commit is contained in:
@@ -69,7 +69,12 @@ from app.service.risk_tools import (
|
||||
search_risk_alerts_tool,
|
||||
)
|
||||
from app.service.runtime_config_service import load_active_intent_configs
|
||||
from app.service.suitability_service import SuitabilityToolInput, suitability_tool_handler
|
||||
from app.service.suitability_service import (
|
||||
EligibleProductQuery,
|
||||
SuitabilityToolInput,
|
||||
query_eligible_products_tool,
|
||||
suitability_tool_handler,
|
||||
)
|
||||
from app.service.tool_executor import ToolDefinition, ToolExecutor, ToolRegistry
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -284,6 +289,15 @@ def get_agent_factory() -> AgentFactory:
|
||||
required_permission="suitability:read",
|
||||
allowed_roles=("customer", "advisor", "operator", "admin"),
|
||||
))
|
||||
registry.register(ToolDefinition(
|
||||
name="query_eligible_products",
|
||||
input_model=EligibleProductQuery,
|
||||
handler=cast(Any, query_eligible_products_tool),
|
||||
# 复用适当性权限码:这份清单本身就是「按等级匹配」的结果,与 `check_suitability`
|
||||
# 同权、同数据源(`fin_risk_assessment` + `fin_product`),不新开权限面。
|
||||
required_permission="suitability:read",
|
||||
allowed_roles=("customer", "advisor", "operator", "admin"),
|
||||
))
|
||||
registry.register(ToolDefinition(
|
||||
name="query_fund_quote",
|
||||
input_model=FundQuoteQuery,
|
||||
|
||||
Reference in New Issue
Block a user