Laya 版本更新日志:0.3.12、0.3.11、0.3.10 新功能

追踪 Laya Python 包的版本更新:路由批处理、基于 schema 的 decide()、预测钩子、分语言校准、更快的加载、Jev 兼容服务等。

最后更新: 2026/9/24

Laya 迭代非常快:laya 包在 PyPI 上从 0.2.1 到 0.3.12,只用了 2026 年 9 月 19 日到 24 日这几天。本页汇总每个版本中对开发者有影响的变化,并附上上游来源。

安装或升级:

pip install -U laya

资料来源:PyPI 发布历史上游 README。这些版本之间模型权重本身没有变化。

0.3.12 — 2026 年 9 月 24 日

  • 修正路由批处理。 当两个请求的 choice 选项相同但顺序不同时,Router.predict_batch 会把它们分开处理,保证每个请求的结果与单独调用 predict 一致(#166)。预测钩子现在对 batch 中的每个请求都会执行,脱敏钩子也能覆盖批量流量。
  • 基于 schema 的决策。 agent.decide(state, schema=...) 接受 JSON schema 或 pydantic 模型,一次前向计算返回类型化的值:
schema = {
    "type": "object",
    "properties": {
        "department": {"type": "string", "enum": ["billing", "support", "sales"]},
        "urgency": {"type": "integer", "minimum": 0, "maximum": 2},
        "needs_human": {"type": "boolean"},
    },
}
agent.decide("I was charged twice, refund me.", schema=schema)
# {"department": "billing", "urgency": 2, "needs_human": True}
  • 更快,结果不变。 每次调用只对 state 分词一次(原来是每个问题一次);predict_batch(..., sort_by_length=True) 减少长短不一的 batch 中的 padding;Apple GPU 在问题行数足够多时使用 fp16。
  • 更多钩子。 新增可继承的 BaseHook,以及进程级默认钩子,便于接入 tracer 和 metrics。
  • 分语言校准。 lang_temperatures= 可按语言设置温度,Router 会把识别出的语言传下去。官方没有预置数值。
  • answer_confidence 每个答案额外返回 max(p),原有的 confidence 不变。
  • 修复。 lang= 为空时会回退到自动识别;laya-serve 对 chunked 上传也执行请求体大小限制。
  • 命令行与 TypeScript。 新增 laya "..." --preset triagelaya-ts 增加钩子、一次性 state 分词,路由和邮件处理与 Python 版对齐。

0.3.11 — 2026 年 9 月 23 日

  • 路由批处理。 Router.predict_batch(requests) 先路由每个请求,再按 checkpoint 和问题集分组,每组共享前向计算。每个请求都可以单独设置 modeltasklanglang_guess
  • 预测钩子。 AgentRouterONNXAgent 的每次决策前后都可以挂钩子,用于审计、追踪、脱敏、缓存或拦截。
  • 兼容 transformers 4.x 与 Apple GPU。 由 transformers 5 重新保存的 checkpoint 在 4.x 上能以正确的 RoPE 设置加载;在没有 autocast 后端的 MPS 环境下 predict() 不再崩溃。
  • 更严格的 noul 题。 criteria 的 key 不是 true/false 时会直接报错;想改措辞请用 labels
  • 更安全的 HTTP 服务。 防时序攻击的 API Key 校验,请求大小与问题数量限制(413),JSON 格式错误返回 400,不泄露路径。Docker Compose 默认只绑定 loopback。
  • 更多硬件支持。 原生 ARM64 与 DGX Spark 容器构建,以及本地 Web 界面示例。

0.3.10(及 0.3.9)— 2026 年 9 月 23 日

0.3.10 只改了 README,代码与 0.3.9 相同。自 0.3.6 以来的新内容:

  • 加载快约 10 倍。 CPU 上 laya.load() 从约 22 秒降到约 2 秒,结果逐位一致。
  • import laya 不再加载 torch,路由、语言识别和邮件清洗可以在轻量进程中运行。
  • 批量打分agent.predict_batch(states, questions)
  • 可选的加速路径:TileLang GPU 路径(laya.load(..., fast=True))、torch.compile,以及基于 ONNX Runtime 的 ONNXAgent
  • 本地服务:兼容 Jev 的 laya-servelaya 命令行、MCP Server、LangChain/LangGraph 集成和 TypeScript 包 laya-ts。见 自托管 Laya
  • 更好的路由:纯 ASCII 书写的西班牙语、意大利语、葡萄牙语、法语,含英文品牌名的中日韩文本,罗马化孟加拉语和阿塞拜疆语,都能正确路由到多语言 checkpoint。
  • 微调 Notebook 修复:校准改为在留出数据上拟合,而不是训练数据(#186)。

更早的版本

版本发布日期
0.3.62026 年 9 月 22 日
0.3.52026 年 9 月 21 日
0.3.42026 年 9 月 20 日
0.2.1 – 0.3.32026 年 9 月 19 日

升级注意事项

  • 需要 Python 3.10 或更高版本
  • 如果用到 batch 或混合精度,升级后请重新检查置信度阈值;上游提示 batch 形状变化可能在阈值附近带来细微的浮点差异。
  • Hugging Face 模型卡中已经出现 0.3.13 的描述,但截至本文撰写时 PyPI 上尚未发布。

相关阅读

最后核实:2026 年 9 月 24 日。