deepopen-com/deepopen

非自回归System 1决策引擎,专为结构化类型决策场景设计 DeepOpen Multilingual, non-autoregressive System 1 decision engine.

DeepOpen:意图分类框架和结构化决策 SDK

DeepOpen 是一个软件框架,它接收一段文本(或 JSON),并回答关于它的预定义问题。它不是生成开放式文本,而是从你提供的严格选项集合中返回一个标签、分数或概率。可以把它看作一种构建小型固定决策引擎的方式——例如,“这个请求应该由哪个部门处理?”——而无需编写自定义机器学习代码。

它的功能

  • 输入: 文本或 JSON(例如,客户消息)。
  • 输出: 你定义的类别之一、数值分数或概率估计。例如,它可以将电子邮件分类为 billing、technical、sales 或 other,并给出置信度值。
  • 它不生成长篇回复——它只从你设置的受限选项中进行选择。

如何使用

首先加载预训练模型(称为检查点)。README 展示了从 Hugging Face(上游 Laya 模型)加载一个模型。然后定义一组问题——每个问题都有类型(choice、score 或 noul)和特定标准——并将它们与输入一起传递。结果包括答案、概率和置信度分数。

提供了一个 Router 类来处理语言检测(粗略启发式,不是准确性预言机)并自动加载正确的模型。你也可以通过显式选择或在你自己的数据上验证后启用 auto_task_detection,在不同检查点(英语、多语言或专门的 typed-decisions 模型)之间切换。

SDK 还包括常见任务的问题模板,如 guard_questions()、moderation_questions()、triage_questions() 和 email_questions()。这些是现成的问题集,但 README 警告说它们不是生产安全保证——在将其用于重大决策之前,你必须验证准确性并校准置信度。

基准测试和质量

README 报告了两个主要的准确性数字:

数据集 测试准确性 配置
BANKING77 94.1234%(三个种子中的最佳) 单一分类器,SAM 种子 13
CLINC150 98.0222% 四编码器集成

但有许多重要的注意事项:

  • BANKING77: 94.1234% 是三次运行中的最佳(三种子平均值为 94.0368%),README 明确表示没有统计学上确定的改进超过重放的基线。
  • CLINC150: 这仅涵盖150 个范围内的意图——它排除了范围外(OOS)检测。结果来自异构集成(一个基于 Laya 的模型加上三个 DeBERTa-v3-large 模型)。
  • README 包含一个早期表格,其中包含来自不同训练运行的不同数字(例如,BANKING77 上的 94.0909%,单个模型的 CLINC150 上的 97.7556%)。这些不可互换——它们是独立的实验。

这些数字均未声称是官方排行榜位置;它们来自项目自己的评估,并链接到 Hugging Face 比较页面。

已知局限性(明确说明)

  • 预测可能错误;高置信度分数不保证正确性。
  • 概率需要在你自己的数据上进行验证。
  • 基础检查点按原样过度自信——温度拟合(一种校准技术)必须使用单独的数据分割。
  • Typed-decisions 准确性较低(在 400 个案例 / 2,000 个决策测试中为 0.766),并且两个基础检查点在该零样本任务上表现接近随机。
  • 在一项报告的实验中,审核准确性仅为 0.530。
  • 语言覆盖(宣称 100+ 语言)不意味着每种语言的质量相同;在测试的 51 种 MASSIVE 语言中,只有 45 种超过了“3× 随机”准确性。
  • 提示预算共享,因此大型选项集会损害性能,序数评分(如 1-5 的尺度)是已知的弱点。
  • 延迟数字是针对特定 GPU(NVIDIA T4)和热推理的;它们不保证固定的推理速度。

这些局限性在 README 中明确说明,以防止过度宣称。

安装和依赖项

  • 需要 Python 3.10+ 和 Git。
  • 直接从仓库安装:pip install "git+https://github.com/deepopen-com/deepopen.git"。
  • 仅 CPU 时,先安装 CPU PyTorch。
  • GPU 用户需要匹配其 CUDA 环境的 PyTorch 构建。

与上游项目的关系

README 指出 SDK 和基础模型架构源自 Laya(一个开源意图分类模型)。此仓库添加了 DeepOpen 打包和文档,以及 BANKING77 和 CLINC150 的复现实验(带有中文指南)。它还包括基准测试脚本、T4 基准测试笔记本和 typed-decisions 模型的微调笔记本。

默认安装的包始终加载上游 Laya 检查点(不是 DeepOpen 训练的任何模型)——实验指南解释了如何训练和导出任务特定模型(如果你需要)。

法律和归属

该项目根据 Apache License 2.0 许可。README 提醒你保留上游归属,并审查单独的模型和数据集许可证以用于预期用途。


简而言之:DeepOpen 是一个文档完善的 SDK,用于从预训练模型构建受限分类或评分系统,并透明地报告优缺点。它不是一个可部署的安全系统——在信任它处理任何重要事项之前,你必须在自己的数据上验证其输出。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目