Laya 版本更新日志:0.4.22 新功能

追踪 Laya 每个版本的更新,到 0.4.22 为止新增了官方 Rust SDK、能直接跑模型的 Go 版、轻量 Python HTTP 客户端和新的 MCP 工具。

最后更新: 2026/11/4
最新版本: v0.4.30· 2026/11/8

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

安装或升级:

pip install -U laya

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

0.4.4 到 0.4.22 — 2026 年 10 月 12 日到 11 月 3 日

三周发了 19 个版本。模型权重没有变,Python 包的默认答案也不变。主要工作是移植到其他语言、给 HTTP 服务加新工具,以及一大批修复:错误输入现在会给出明确的报错,而不是直接崩溃。来源:各版本的 GitHub 发布说明。

Python 以外的语言

  • 官方 Rust SDK(0.4.11)。 laya-rust 在 ONNX Runtime 上直接在进程里运行三个 checkpoint,运行时不需要 Python,并用 Python 包录下的输出做对照测试。0.4.13 加了 predict_long,0.4.16 加了 predict_batch、min_confidence 门槛和 jev_confidence,0.4.17 加了按语言设置温度。包名是 laya-onnx,代码里按 laya 导入;截至 11 月 4 日还没发布到 crates.io,需要从仓库添加,并用自带脚本导出一次 ONNX 模型。见 用 Rust 运行 Laya。
  • Go 版能跑模型了(0.4.8 起)。 laya-go 先后加了基于 ONNX Runtime 的 Predict 和 PredictLong(0.4.8)、min_confidence 门槛和按语言设置温度(0.4.9)、预设、embedding 预筛选和邮件清洗(0.4.14),路由器正在分步移植(0.4.14、0.4.17)。运行模型需要它的 cgo onnx 模块。
  • .NET 补齐功能。 Laya.Onnx 加了 PredictLong(0.4.12)、批量预测、路由批量和 min_confidence 门槛(0.4.16),以及校准文件和按语言设置温度(0.4.17)。
  • C++ 还在早期(0.4.17、0.4.18)。 新的 laya-cpp 先搭好了构建环境,随后加了 ONNX Runtime 后端,但它的 README 仍写着只是骨架,暂时不要依赖。
  • TypeScript。 新增 decideBatch 和 answerConfidence(0.4.11)、本地选项稳定性诊断(0.4.13)、Agent 和 Router 上的 predictLong(0.4.21),另外修了很多处,让语言检测、选项顺序和 token 预算都和 Python 版一致。

服务端、HTTP 客户端和 MCP

  • 批量接口也支持超多选项(0.4.7)。 /v1/systemone/batch 现在也认 LAYA_TOURNAMENT_GROUP,和 0.4.3 起的 /v1/systemone 一样:选项数超过分组大小的选择题,逐条 state 用分组淘汰来回答。
  • 用 HTTP 查路由(0.4.19)。 POST /v1/route 返回服务端会选哪个 checkpoint(model、repo、reason),不做推理;加 explain: true 会附上路由诊断。
  • 轻量 Python HTTP 客户端(0.4.9、0.4.13)。 sdk/python 里的 laya-client 只用标准库调用自托管的 laya-serve,应用里不用装 PyTorch、Transformers 或 NumPy;0.4.13 加了 predict_batch。它没有发布到 PyPI,要在仓库目录里用 pip install ./sdk/python 安装。
  • MCP 工具。 laya_tournament(0.4.7)用分组淘汰从大量选项里选一个,laya_predict_long(0.4.11)处理超出模型窗口的长文本,0.4.18 加了可选的路由诊断。
  • 服务端加固(0.4.15)。 上传卡住的请求不再一直占着名额,调用方传的 batch_size 只能把一批改小,开启 API Key 后不再公开 docs 和 schema 页面。

Python 包

  • OptionStabilityHook(0.4.12)。 可选的 hook:在同一次前向计算里,把每道选择题的选项打乱、倒序、换成字母标签再问一遍,报告答案有多稳定,作为 answer_confidence 之外的可靠性信号。
  • Agent 框架(0.4.11)。 laya[agno] 给 Agno agent 做路由和防护;LayaToolSelector(在 laya.integrations.tools)一次前向计算就为请求选出该用的工具或函数,带置信度门槛和兜底。
  • 语言路由(0.4.14、0.4.17)。 疑问词和助动词现在算作英文的证据;越南语不会再被分到英文 checkpoint。
  • 其余都是修复和提速: 格式不对的问题、非有限数值、带 BOM 的文件、超出范围的设置,现在都会给出带名字的报错而不是一堆调用栈;批量编码和语言检测也更快了。

0.4.3 — 2026 年 10 月 11 日

改动不大:服务端多了一个选项,TypeScript SDK 补了两项功能,文档终于和 0.4.0 的路由默认值对上了。来源:0.4.3 发布说明。

  • 服务端支持超多选项:LAYA_TOURNAMENT_GROUP。 以前 /v1/systemone 遇到超过 100 个选项的 choice 题会直接拒绝。设 LAYA_TOURNAMENT_GROUP=16(2 到 255 之间任意值,不设就是关闭)后,选项数超过这个值的选择题会用 predict_tournament 分组淘汰来回答,上限也提高到 255 个,和 Jev 一样。选项少的题和其他题型照旧。返回格式仍和 Jev 一致:每个选项都出现在 probabilities 里,早轮被淘汰的选项概率记为 0.0,x_tournament 列出决赛选项和轮数(开了 LAYA_JEV_STRICT 时不返回)。上游只测了一组数据:CLINC150 全部 150 个意图、English checkpoint、CPU,准确率 86.7%,每次请求中位 0.77 秒;同样 50 个选项,一次读完是 82.7%,分组淘汰是 94.0%。只是一个数据集,请用自己的标签再测。
  • TypeScript SDK 补齐。 Node 和浏览器里也能用 predictTournament;cached(...) 可以给 embedder 加缓存,固定的选项列表(商品目录、意图列表)只需要算一次向量,不用每次 shortlistChoice 都重算。
  • laya.jev_confidence(answer)。 服务端 x_jev_confidence 字段背后的公式现在可以直接导入,在自己代码里跑 Laya 的用户不经过 HTTP 服务也能拿到同口径的 Jev 置信度。
  • 文档改成 multilingual。 HTTP API 文档和服务端自带说明一直写着认不出语言时默认走 english,0.4.3 改正了:不设 LAYA_DEFAULT_MODEL 时,0.4.x 服务端走 multilingual(见下面 0.4.0 一条)。只有英语流量占多数时才需要设成 english。
  • 修复。 MCP 服务遇到被丢弃的 option_order 时改为提示,不再拒绝调用;TypeScript SDK 的置信度字段和报错文字与 HTTP 返回、Python SDK 对齐。

0.3.28 到 0.4.2 — 2026 年 10 月 5 日至 10 日

六天发了五个版本。唯一一个你不改代码、答案也可能变的改动在 0.4.0:Laya 认不出语言的文本,现在改走多语言 checkpoint。其余是一条命令完成微调的工具、突破选项数量上限的方法,以及和 Jev 同口径的置信度字段。来源:0.3.28、0.3.29、0.4.0、0.4.1、0.4.2 的发布说明,以及上游新上线的文档站 nandhakishorm.github.io/laya。

  • 认不出语言的文本默认改走多语言 checkpoint(0.4.0)。 文本太短、或者只有几个实词(比如葡萄牙语的 "Quero cancelar")时,语言检测给不出结论,Router 以前退回 english,现在退回 multilingual。检测为英文的文本仍然走英文 checkpoint。上游的理由:在 51 种语言的测试里,多语言 checkpoint 有 50 种领先,只在英文上落后(0.710 对 0.820);而英文 checkpoint 处理其他语言时会答错却依然很自信,min_confidence 门槛拦不住。如果你的流量大部分是英文(上游算出的分界点约 62%),设置 Router(default="english")。LAYA_DEFAULT_MODEL 没设时,laya-serve 不会给 Router 传默认值,所以服务端也会跟着变;想保持原来的行为,设 LAYA_DEFAULT_MODEL=english。
  • laya-train:一条命令完成微调(0.3.28、0.3.29)。 laya-train --data tickets.csv --text-column body --label-column department --base english --out ./tickets-checkpoint 会生成训练数据、在单个设备上微调(CUDA、MPS 或 CPU)、用训练前留出的一部分数据拟合校准温度,最后保存一个 laya.load 能直接打开的 checkpoint,问题定义另存为旁边的 questions.json。也支持每条样本带多个问题的 JSONL。--dry-run 不训练,只报告读到多少行、跳过了哪些问题、会执行多少次参数更新;--eval 指定留出的评测文件,打印微调前后的准确率、ECE 和 Brier 分数,同时写入 train_report.json;--target-error 用来拟合弃答门槛。Python 里对应的是 laya.train.finetune。详见我们的微调指南。
  • 选项太多、一次装不下:predict_tournament(0.3.28)。 laya.predict_tournament(agent, state, questions) 把选项分成每组最多 16 个,所有组在同一次前向计算里作答,再在各组胜出者之间问一次,所以最多 256 个选项只要两次调用,也不需要向量模型。上游用英文 checkpoint 实测:BANKING77(77 个类别)从 0.430 提到 0.610,CLINC150(150 个类别)从 0.625 提到 0.876,耗时约为单个问题的两倍。返回的概率只覆盖进入决赛的选项。
  • 按名字使用自己的 checkpoint(0.3.28、0.4.1)。 Router(models={...}) 和 Router.register(name, source) 可以在三个内置 checkpoint 之外注册微调过的模型,和内置模型一样用 model= 指定。服务端用 LAYA_EXTRA_MODELS 传一个 JSON 对象达到同样效果,比如 {"tickets": "/models/tickets-checkpoint"};如果注册的名字是 english,就能在客户端完全不改的情况下换成你微调的模型(0.4.1)。
  • x_jev_confidence(0.4.2)。 /v1/systemone 返回的 choice 和 score 答案多了一个字段:按 TypeSafe 的公式,用同一组概率算出 Jev 会报告的置信度。Laya 自己的 confidence 不变,所以从 Jev 迁移过来的门槛应该和 x_jev_confidence 比,而不是和 confidence 比。开启 LAYA_JEV_STRICT 时不返回这个字段。
  • 修复。 laya-serve 收到像路径或未发布仓库名的 model 值时返回 422,不再悄悄改用内置模型(0.3.28);安装包重新带上推理后端(0.3.28);微调结果退化成只猜最常见的类别时会给出警告(0.3.29);ONNX 运行时处理只有一个选项的问题不再报错(0.4.1);服务在应用生命周期重启后能继续服务(0.4.1)。Java SDK 新增 Router.predictBatch 和 predictTournament(0.4.2)。

0.3.24 到 0.3.27 — 2026 年 10 月 2 日至 4 日

三天发了四个版本:以修复为主,另外弃答(abstention)的校准更准了,还多了两种语言的 SDK。来源:0.3.24, 0.3.25, 0.3.26, 0.3.27 的发布说明。

  • 按选项数分别设弃答门槛(0.3.24)。 一个 min_confidence 管不了所有问题:2 个选项和 12 个选项的答案,置信度不在一个尺度上。上游在英文 checkpoint 上实测,同一个门槛在 2 选项问题上放过了 24% 的错误答案,在 12 选项问题上只有 5%。现在可以按选项数分组设门槛(分组方式和 temperature_by_options 一样,比如 "choice:3-5"),评测工具也新增了 Brier 分数、AURC 和选择性准确率,用来衡量弃答效果。
  • 直方图分箱校准(0.3.25 加入,0.3.27 修复)。 agent.fit_binning(records) 在温度校准之上再拟合一张分箱表,save_calibration 会把它和 checkpoint 一起保存。装上分箱表后,answer_confidence 按分箱后的数值报告,没用分箱表拟合的门槛就不再准确。0.3.27 新增 fit_abstention_thresholds(..., binning_map=agent.binning_map):如果你用了分箱表,请带上它重新拟合门槛。
  • laya-serve(0.3.24、0.3.25)。 LAYA_IDLE_UNLOAD_SECONDS(默认关闭)在一段时间没有请求后卸载 checkpoint,空闲时释放内存。MCP 服务可以转发到一个共享的 laya-serve,不必各自加载模型:设置 LAYA_BASE_URL,以及 LAYA_API_KEY、LAYA_REMOTE_TIMEOUT。很大的 /v1/systemone/batch 请求(最多 64 条 × 64 个问题)现在会拆成多次前向计算,不再拼成一个张量;它的 total_usage 也会正确统计输出 token,不再是 0。
  • .NET 和 Java(0.3.26、0.3.27)。 laya-dotnet(包名 Laya.Onnx)和 laya-java 直接在进程内运行导出为 ONNX 的 checkpoint,不需要另起 Python 服务,并用 Python 包的输出做了对照测试。两者都还没发布到 NuGet 或 Maven Central,需要从仓库源码构建。TypeScript 版(laya-ts)也加上了分组门槛和分箱校准。
  • 值得升级的修复。 装了 TensorFlow 但无法加载时,laya.load() 不会再让解释器崩溃(0.3.27);predict_batch 和 route_batch 支持单次调用的 hooks(0.3.27);load() 能识别 checkpoint 名称和别名,LangChain 封装的 .batch() 和 .invoke() 一样转发 lang、min_confidence(0.3.24);CUDA 设备可以写 auto(0.3.25)。

0.3.23 — 2026 年 10 月 1 日

以修复为主,另外让单条请求的参数在各种调用方式里都能生效。来源:0.3.23 发布说明。

  • 批量接口支持同样的参数。 POST /v1/systemone/batch 现在也会转发 0.3.22 起 /v1/systemone 已经支持的单次请求参数(如 task、lang、min_confidence)。MCP 工具、命令行、Python SDK 以及 LangChain、CrewAI、LlamaIndex 封装也都会把它们传下去。
  • 修复 predict_long。 之前它可能跳过长文档的一部分,却报告已经读完。用到 predict_long 的建议升级。
  • 每个答案都带弃答状态。 返回结果里会标明弃答门槛的状态,可以看出是不是 min_confidence 让 Laya 放弃作答。各框架封装的阈值判断改为使用 answer_confidence,不再用基于熵的置信度。
  • ONNX 导出。 --quantize 默认改为 per-tensor 量化(per-channel 量化会让模型失效);torch 2.9 以下的版本也能正常导出了。
  • 语言与评测。 新增瑞典语识别、中文可靠性评测,以及西班牙语电话对话轮次基准和微调方法。
  • Docker。 构建镜像时可以直接从 ModelScope(魔搭)拉取权重,国内访问 Hugging Face 慢或打不开时很有用。
  • 修复。 GPU 显存不足时的回退不再影响同时在处理的其他请求;checkpoint 下载不完整时会自动修复,而不是直接使用。

0.3.22 — 2026 年 9 月 29 日

这一版合并了大批社区贡献,重点在自托管和微调。来源:0.3.22 发布说明。

  • 批量 HTTP 接口。 laya-serve 新增 POST /v1/systemone/batch:传一组 states 加一份共用的 questions,每条 state 返回一个结果,另附 total_usage 合计。每次最多 64 条,超过返回 413。
  • /v1/systemone 支持更多参数。 0.3.22 之前,请求体里的 task、lang、lang_guess、min_confidence 会被读取但直接忽略;现在和 model、max_len、head_max_len 一样会真正生效。钩子相关设置(hooks、hooks_raise、hooks_timeout 等)改为明确拒绝,不再静默丢弃。
  • 支持反向代理路径前缀。 通过代理把服务挂在某个路径下(比如 /laya)时,设置 LAYA_ROOT_PATH,OpenAPI 文档里的地址就会用对外路径。
  • 不再非得两张 T4 才能微调。 新增 research/scripts/finetune_single_device.py,在单张 GPU 或 CPU 上跑和 Notebook 相同的训练流程,任何 checkpoint 都能用(包括 laya-multilingual);notebooks/laya_finetune_typed_decisions_mps.py 面向 Apple Silicon。
  • agent.warmup()。 开启 compile=True 时,启动阶段调用一次,编译耗时就不会落到最早的线上请求上。不调用则行为不变。
  • MCP。 决策类工具支持 min_confidence。
  • TypeScript。 仓库里的 TypeScript 版本补上了 predict_batch / route_batch、基于 answer_confidence 的弃答、按 checkpoint 的 SHA-256 校验,输入校验也和 Python 对齐。类型化 HTTP 客户端 @laya/typescript-sdk 已进仓库,但还没发布到 npm。
  • 修复。 DecisionResult 带上了 answer_confidence;predict_long 会合并各窗口的 token 用量;Docker Compose 现在会传递 LAYA_REVISION,固定版本才真正生效。

0.3.21 — 2026 年 9 月 27 日

这是 0.3.13 之后改动最大的一个版本。来源:0.3.21 发布说明。

  • 长文档:predict_long。 agent.predict_long(state, questions, window=256) 把超出上下文窗口的状态切成相互重叠的窗口,批量打分,再取最有把握的那个窗口的答案。每个答案都会注明是哪个窗口给出的(answer["window"])。返回的概率是那个窗口的,不代表整篇文档的校准概率。Router.predict_long 用法相同。
  • 可选的"拿不准就不答":min_confidence。 predict、predict_batch、decide、decide_batch 新增 min_confidence= 参数。answer_confidence 低于阈值的答案会标上 low_confidence: True,decide 对这类答案返回 None。默认关闭。
res = agent.predict(state, questions, min_confidence=0.85)
if res["answers"]["department"].get("low_confidence"):
    send_to_human(state)
  • 评估命令行工具。 laya-evals(也可以写成 laya eval)用带标注的 JSONL 文件给 checkpoint 打分;准确率或校准误差超出阈值时返回失败,还能和基线报告对比,可以直接放进 CI 当质量关卡。见评估文档。
  • ONNX 追上 PyTorch。 ONNXAgent 新增 predict_batch、predict_long、decide_batch;scripts/export_onnx.py --quantize 可以导出给 CPU 用的 INT8 版本。
  • 到处都能批处理。 decide_batch、laya --batch FILE、新的 MCP 批量工具(laya_predict_batch、laya_route_batch、laya_decide)以及 LangChain 的 batch() / abatch() 都共用前向计算。新增 LlamaIndex 选择器(laya[llamaindex])和 CrewAI 路由(laya[crewai])。
  • 按请求设置 token 上限。 max_len、head_max_len 现在在 laya-serve(受 LAYA_MAX_TOKEN_BUDGET 限制)、命令行(--max-len、--head-max-len)、MCP 工具和 LangChain 里都能用。
  • 运维。 新增 LAYA_MAX_LOADED、LAYA_REVISION;/health 会报告每个 checkpoint 实际跑在哪个设备上;服务繁忙时返回的 503 带 Retry-After;POST /v1/systemone 返回 Server-Timing 和 X-Inference-Time-Ms 响应头。
  • 输入检查更严格。 choice 标签为空或重复、状态为 None、问题不是字典时,会直接报错并指出问题所在。
  • 修复。 Router.predict_batch 现在会使用每个请求自己的 lang(批处理里的 lang_temperatures 终于生效);超长输入不会再卡住语言检测和 TypeScript 分词器。

0.3.19 与 0.3.20 — 2026 年 9 月 24 日

  • laya-multilingual 支持长文档。 这个 checkpoint 默认只读 1,024 个 token,长文档会被截断,但它的 encoder 实际最多能读 8,192 个 token。上游在 0.3.19 中给出长文档用法和实测数据,0.3.20 起直接推荐 8,192:
result = router.predict(long_document, questions, model="multilingual", max_len=8192)
  • 实测结果。 问题前的文本在约 4,000 个 token 以内时,20 次请求中有 16 到 18 次答对;超过之后结果波动较大(20 次中 8 到 17 次),所以长文档请先用自己的数据验证准确率。短文本在 max_len=8192 下结果完全一致,速度只取决于实际文本长度:4,000 token 的输入在苹果 GPU 上约 1.7 秒。
  • 记得指定模型。 长文档要传 model="multilingual",否则以英文为主的长文本会被路由到只能读 512 token 的英文 checkpoint。
  • 测试可以用 research/scripts/bench_long_context.py 复现。

0.3.14 至 0.3.18 — 2026 年 9 月 24 日

只更新了文档:新增文档站和 DeepWiki 徽章,README 把安装和快速上手移到最前面,增加多语言快速上手和微调说明。推理代码没有变化。

0.3.13 — 2026 年 9 月 24 日

  • 推理与运行时加固(#319):
    • laya-serve 在流式接收时就执行请求体大小限制,格式错误的非 ASCII 认证头返回 401。
    • ONNX 运行时在空问题、保留最新对话轮次的截断、分词器兼容和 CUDA 回退上,与 PyTorch 版行为一致。
    • GPU 加速路径修正了单选项的置信度计算,串行化 CUDA graph 调用,显存不足改用 CPU 重试前先恢复标准推理路径,超长序列会给出明确报错。
    • LangChain 远程调用拒绝跨域和 HTTPS 降级的重定向;默认 Router 和 MCP Server 的延迟初始化改为线程安全。
    • TypeScript 运行时在嵌套分词器结构、noul 标签、截断、JSON 序列化和温度处理上更接近 Python 版;命令行的 choice 概率显示也修正了。
  • TypeScript 钩子。 laya-ts 新增 BaseHook 和进程级默认钩子,与 Python 版对齐(#321)。
  • 研究:两种置信度定义。 新脚本基于已记录的中文职场诊断测试,分别用 max(p) 和基于熵的置信度重新计算校准指标(#327)。在这个测试中(64 个 AI 辅助生成的中文场景、各跑 3 次、未经微调的多语言基础模型),Laya 的准确率为 31%,Jev 为 99%。上游说明这只是诊断性测试,不是通用排名,也不代表英文模型或微调后的效果。
  • 贡献规范。 新增 AGENTS.md,写明机器可读的贡献规则。

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 triage;laya-ts 增加钩子、一次性 state 分词,路由和邮件处理与 Python 版对齐。

0.3.11 — 2026 年 9 月 23 日

  • 路由批处理。 Router.predict_batch(requests) 先路由每个请求,再按 checkpoint 和问题集分组,每组共享前向计算。每个请求都可以单独设置 model、task、lang 或 lang_guess。
  • 预测钩子。 Agent、Router、ONNXAgent 的每次决策前后都可以挂钩子,用于审计、追踪、脱敏、缓存或拦截。
  • 兼容 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-serve、laya 命令行、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 形状变化可能在阈值附近带来细微的浮点差异。
  • 多语言模型处理长文档时,请传入 max_len=8192 和 model="multilingual"(0.3.19 起)。

相关阅读

最后对照上游发布说明和 PyPI 核实:2026 年 11 月 4 日。