外观
Profiles 与可靠性设计
内置 profiles
decision:
| profile | 说明 |
|---|---|
default | 通用电话外呼意图分类策略 |
sales-intent | 销售外呼意向决策,识别是否愿意继续沟通 |
renewal-intent | 续费或续签场景意向决策 |
service-satisfaction | 售后回访场景满意度、未解决事项与跟进意图决策 |
complaint-routing | 投诉处理场景普通跟进、加急处理与转人工路由 |
extract:
| profile | 说明 |
|---|---|
default | 通用字段抽取策略 |
customer-base | 客户基础信息抽取,如姓名、年龄 |
customer-profile | 客户资料抽取,如姓名、联系电话、年龄、城市 |
sales-intent | 销售线索、偏好或跟进信息抽取 |
appointment-confirm | 预约回访日期、时间段、主题和短信提醒抽取 |
service-feedback | 售后满意度评分、问题描述和客户建议抽取 |
complaint-summary | 投诉摘要、处理诉求和紧急程度抽取 |
小模型可靠性设计
服务默认面向 qwen3.5:2b 这类小体量本地模型,可靠性不依赖模型自觉:
- 结构化输出硬约束:每次请求都会按输入动态生成 JSON Schema 传给 Ollama
format。 decision 的key用枚举限定在候选分支内,extract 的字段按声明类型生成可空 Schema, 从根上消灭字段名漂移、非法 key 和 JSON 尾部杂质。 - reason 先行:Schema 属性顺序固定为
reason → key/fields → confidence,Ollama 按该 顺序生成,让模型先写完分析再下结论,可显著降低小模型在否定句上的误判。 - 兜底可识别:Ollama 调用失败、返回非法 key 或缺失
fields时,走关键词/原文兜底, 此时confidence固定为0.3,reason带「××兜底:」前缀,且会输出decision-invalid-key/extract-invalid-fields日志事件;不会出现「兜底 key 配模型高 置信度」的混合结果,调用方可按此识别降级答案。 - 兜底否定检测:关键词兜底的分支 key 子串匹配会跳过否定语境命中(「不愿意」不会 命中「愿意」分支),并按 key 长度降序匹配,否定句优先落到拒绝类分支。