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,用于从预训练模型构建受限分类或评分系统,并透明地报告优缺点。它不是一个可部署的安全系统——在信任它处理任何重要事项之前,你必须在自己的数据上验证其输出。
相关
- 项目
- 项目
- 项目
- 项目
- 项目