TheoLeeCJ/SemIf-OpenJev

Semantic ifs from open models, on a 3090 at home. Independent; not affiliated with Jev or TypeSafe.

解决的问题

SemIf 提供了一种无需生成完整文本响应即可使用开源 LLM 进行快速、类型化决策的方法。它消除了模型生成句子或 JSON 对象后由软件解析的开销,这通常会拖慢决策较小的代理工作流(例如请求路由或重试任务)。

工作原理

与自回归采样标记不同,SemIf 通过单次前向传播直接从模型输出层读取特定类型选项的概率(logits)。

关键技术特性包括:

  • 运行时定义的标准:决策标准和选项随请求一起提供。
  • 共享状态感知:长上下文(状态)可一次性预加载,然后并行分支到多个不同的决策标准,显著提升吞吐量。
  • 多后端支持:支持 PyTorch、Apple Silicon(MLX/MPS)以及通过 llama.cpp 实现的纯 CPU 执行。
  • 温度校准:包含按工作负载的温度缩放,确保模型的置信度(概率)与其实际准确性一致。

适用人群

需要基于结构化选项进行高速、可靠且可审计的语义决策的 AI 代理或自动化工作流开发者。

主要亮点

  • 高速性能:直接读取 logits 的方式比生成紧凑的 JSON 数组答案快得多(最高快 5.21 倍)。
  • 开源替代方案:复现了 Jev 等闭源服务的接口模式。
  • 高效状态重用:支持串行前缀重用和并行后缀处理,可高效处理同一状态上的多个决策。
  • 浏览器就绪:包含 WebGPU 演示,无需等待即可立即测试。

相关

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