以 Jev 为代表的决策模型仅能够处理单选、判断等问题类型, 然而产业决策过程中除了做选择判断,还需要从上下文中抽取部分信息来综合决策,例如金额,日期等,当前的决策模型暂时无法提供此类问题的解决方案。
针对此类问题, 蚂蚁数科决策模型 LingDT-Decision 对 System One 协议进行拓展,首发信息抽取能力。该模型通过 mid-train、强化学习等技术深度适配产业侧对决策精度和效率的双重需求。
目前,LingDT-Decision 模型的信息抽取性能已经超过同尺寸甚至更大尺寸生成式模型的效果,并且兼具速度优势和推理可靠性。LingDT Decision 模型目前已在蚂蚁数科 DTMaaS平台开放,Slotting 功能可参考 DTMaaS 公开调用示例进行免费体验。
以 Jev 为例:决策模型的能力边界
客服后台进来一条新工单:
订单 A123 多扣了 199 元,退款等了一周还没到。
系统需要判断工单派给谁,用 Jev 等决策模型处理上述工单,大致流程: 把客户原话放进 state,再在 questions 里问「这条工单该交给谁」,给出账单、物流、账号三个选项,然后调用请求:
{"state": "订单 A123 多扣了 199 元,退款等了一周还没到。","questions": {"department": {"type": "choice","instructions": "这条工单最适合交给哪个团队处理?", "criteria": { "billing": "扣款、账单或退款问题", "shipping": "物流、包裹或配送问题", "account": "登录或账号设置问题" } } }}对应的响应如下所示,概率和置信度为示意值。
{"answers": {"department": {"type": "choice","choice": "billing","probabilities": { "billing": 0.94, "shipping": 0.04, "account": 0.02 },"confidence": 0.91 } }}后台读到 answers.department.choice 是 billing,就可以把工单送进账单队列。
客服点开工单,得先找到客户说的「199 元」,再和扣款记录核对,但退款金额是一个开口的数值类型,难以使用选择、判断或者评分功能来提取。
System One 模型从设计上来看,目前难以处理这种信息抽取类问题。
针对当前 System One 模型的缺陷,LingDT-Decision 在 System One 协议上新增了信息抽取功能,原生支持 extract 题型来处理信息抽取。应用指定要找「多扣金额」,模型可以返回对应的原文片段和位置,客服就能在工单里看到「199 元」被划出来。
不同 System One 模型支持的问题类型
从 jev 的开源实现出发:答案究竟怎样被读出来?
思考一个问题,上述 Jev 响应里的三个概率是怎么来的?以 Jev 的开源实现 Kev 来看,整个过程可以拆成几步:
拼接输入 → 基座 Prefill → 取特定 Token 的向量 → 计算目标 token 的概率 → 返回结果,如下图所示:

先把请求拼成一条序列
<state>订单 A123 多扣了 199 元,退款等了一周还没到。<instruct>这条工单最适合交给哪个团队处理?<opt>billing: 扣款、账单或退款问题</opt><opt>shipping: 物流、包裹或配送问题</opt><opt>account: 登录或账号设置问题</opt><decide>Prefill 之后,选取特定位置 Token 的向量表示计算
基座模型对编码后的序列做一次前向计算,得到每个 token 位置的隐藏向量。针对 Choice、Score、Noul 问题取三个 和最后一个
从选择答案,到定位答案:信息抽取 怎样接上这套思路
还是以上述工单为例,问题从「交给哪个部门」换成了「多扣了用户多少钱」。前者有三个预设选项,而后者的答案就在客户原话里。LingDT-Decision 沿用了拼接输入 → 基座 Prefill → 取特定 Token 的向量 → 计算目标 token 的概率这条路径,解决信息抽取的问题,如下图所示:

请求怎么拼接?
如下所示,
<state> 此处放历史上下文信息<instruct>从下面正文中抽取预定义的实体类型<context>订单 A123 多扣了 199 元,退款等了一周还没到。</context><slot>overcharge_amount:这笔订单中多扣的金额,保留原文单位。</slot><decide>取哪些位置的 token 向量?
Prefill 之后,除了
概率怎么算?
抽取头为原文的每个 token 给出三个分数:B 是片段的开头,I 是片段的延续,O 表示不属于这个片段。在同一个 token 的 B、I、O 三个分数之间利用 softmax 计算标签概率。与 Choice 给每个选项分配概率不同,这里概率是针对
LingDT-Decision 的效果
LingDT-Decision 整体性能
相比于其他决策模型,LingDT-Decision 目前额外支持信息抽取和多选两种原生能力,并通过 mid-train、强化学习、OPD 等技术实现企业真实应用场景的深度对齐。在 23 项开源评测基准中,LingDT-Decision 模型的综合评分超过了 Microsoft-Decision-1、Jev 1.13 等热门决策模型,其中 27B 的版本在同参数规模的模型中取得最高准确率。

(图注:LingDT Decision 的 4B/27B 版本的优势区域,覆盖了相关尺寸包括 Jev、MS Decision、GLiDE 等决策模型,表现出极强的综合性价比)
信息抽取效果
选取信息抽取 10 个典型的 bench 进行评测,结果显示,目前 LingDT-Decision 模型的整体性能已经超过同尺寸甚至更大尺寸生成式模型的效果,并且兼具速度优势和推理可靠性。

(图注:图中均分为各数据集的 macro F1)
单选和多选效果
覆盖 23 项主流开源评测基准的测试结果显示,LingDT-Decision 的 27B 版本综合评分(90%x 单选评分+10%x 多选评分)位居第一,准确率超过 Microsoft-Decision-1、Jev 1.13.0、Fastino/GLiDE 等热门决策模型。
其中,在多选任务上,LingDT-Decision 的 4B 和 27B 版本的准确率表现超过 Microsoft-Decision-1、Jev 1.13.0、Star-lux 等 16 个决策模型,体现出原生多选能力在多标签与组合判定任务中的优势,在单选任务上,位居第一梯队。

LingDT-Decision 的体验
请求和返回
以前述工单案例为例,使用 LingDT-Decision 解决抽取类问题,可按下列请求体提交请求:
{ "state": ".....", "questions": { "overcharge": { "type": "extract", "instructions": "抽取这条工单中多扣的金额。", "criteria": { "overcharge_amount": "这笔订单中多扣的金额,保留原文单位。" }, "context": "订单 A123 多扣了 199 元,退款等了一周还没到。" } }}返回结果如下所示:
{ "answers": { "overcharge": { "type": "extract", "spans": [ { "type": "overcharge_amount", "text": "199 元", "start": 12, "end": 17 } ] } }}LingDT Decision 模型目前已在蚂蚁数科 DTMaaS平台开放,Slotting 功能可参考 DTMaaS 公开调用示例进行免费体验。





