project
SemIf - 开源的 AI 决策模型,复现 Jev 语义决策模式
SemIf(原 OpenJev)是开源的 AI 决策模型,用开源模型复现 TypeSafe 闭源服务 Jev 的语义决策接口模式。SemIf单次前向传播直接读取候选选项对应的 logits 打...
SemIf是什么
SemIf(原 OpenJev)是开源的 AI 决策模型,用开源模型复现 TypeSafe 闭源 Jev 的语义决策接口模式。SemIf单次前向传播直接读取候选选项对应的 logits 打分,由服务端构造结构化结果;多个问题共享状态时还可复用前缀,提速近一个数量级。SemIf在 RTX 3090 上即可运行,提供浏览器演示,包含逐行可复现的基准、温度校准和 27B 模型桥接。
SemIf的主要功能
- 直接 logit 打分:一次前向传播读取候选选项的 logits 得到概率,不生成答案文本再解析,比自回归生成快约 5 倍。
- 共享状态复用:多个决策共享同一上下文时预填充一次前缀,再串行或并行评估各标准,吞吐量可提升近一个数量级。
- 运行时可定义决策:标准和选项描述随请求传入,无需微调或预定义任务,适用路由、重试判断等小型 agent 决策。
- 完全可审计:固定的 prompt、模型版本、prompt 哈希、逐行输出和已知失败全部提交在仓库,支持精确复现。
- 温度校准:内置按工作负载拟合的温度缩放,改善概率置信度与实际准确率的一致性。
- 多后端支持:支持 CUDA GPU、Apple Silicon(MPS/MLX)、CPU及浏览器 WebGPU 演示。
微信关注回复“开源”,加入AI开源项目交流群
如何使用SemIf
-
环境准备:安装 Python 3.10+、CUDA 及能容纳 4B BF16 模型的显卡。
-
安装项目:创建虚拟环境后执行
pip install -e '.[test]'。 -
准备输入:编写 JSONL 格式的决策文件,每行包含
id、state、question和options候选列表。 -
运行打分:执行
semif-score --mode direct --model Qwen/Qwen3.5-4B --revision <固定版本> --input examples/decisions.jsonl --output results.jsonl得到逐行选项概率、耗时和 prompt 哈希。 -
共享状态模式:当所有行 state 完全相同时改用
--mode shared,预填充一次前缀后并行评估所有标准。 -
校准应用:用项目自带脚本在目标工作负载上拟合温度缩放,使输出置信度与实际准确率匹配。
SemIf的核心优势
-
决策速度快:直接读取选项 logits 免去生成-解析流程,21 个二元决策仅需约 1 秒,比生成 JSON 快 5.2 倍。
-
共享前缀复用:一次预填充、多次分支评估,共享状态场景的吞吐量从 2.33 提升到最高 20.03 决策/秒。
-
零生成 token:不采样答案文本,杜绝 JSON 格式错误、解码循环和输出解析失败的问题。
-
硬件门槛低:冻结的 4B 模型单张 RTX 3090 即可运行,还支持 CPU、Apple Silicon 和浏览器 WebGPU。
-
完全开源可复现:所有 prompt、模型版本、逐行结果和已知失败均提交仓库,可逐条审计与验证。
-
置信度可校准:内置按工作负载的温度缩放,让概率置信度与实际准确率对齐,输出可直接用于自动化决策。
SemIf的项目地址
- 项目官网:https://openjev.com/
- GitHub仓库:https://github.com/TheoLeeCJ/SemIf-OpenJev
SemIf的同类竞品对比
| 对比维度 | SemIf | Jev |
|---|---|---|
| 产品性质 | 独立开源项目(MIT 协议),前身为 OpenJev | TypeSafe 闭源商业托管服务 |
| 决策机制 | 单次前向传播直接读取选项 logits,0 输出 token | 内部机制未公开,语义决策接口 |
| 可用性 | 无等待名单,浏览器/WebGPU 即可体验,本地可跑 | 闭源服务,需申请接入 |
| 硬件门槛 | 单张 RTX 3090 可跑 4B 模型,另支持 CPU、Apple Silicon | 云端托管,用户无需自备硬件 |
| 决策速度 | 21 个二元决策约 1.02 秒,共享状态复用最高 20 决策/秒 | 无公开延迟数据 |
| 质量表现 | TypeSafe 选定 102 行子集一致率 0.845;27B 桥接在人工决策上达 0.958 | 同子集一致率 0.883 |
SemIf的应用场景
-
客服工单路由:根据客户问题描述和账户状态,直接在”账号支持 / 计费支持”等队列选项上打分,实现毫秒级自动分派。
-
Agent 动作防火墙:Agent 执行高风险操作前,对候选动作做二元判断,0.700 的复合准确率可承担第一层防线。
-
证据检索与排序:在代码库检索和企业知识库问答(0.929)中替代传统 reranker,一次前向给出候选文档得分。
-
推理结论核验:用于 NLI 类任务,判断”证据是否支持结论”,校准后置信度可直接驱动下游自动化。