You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Sentence-BERT在文本超max_seq_length时抛异常?all-MiniLM-L6-v2最大长度?

问题解答

1. 如何设置输入超长时抛出异常

在调用model.encode()方法时,传入truncation=False参数即可禁用自动截断逻辑,当输入文本的token数量超过设定的max_seq_length时,就会直接抛出异常。

修改后的代码示例:

from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')
model.max_seq_length = 512
# 禁用自动截断,超长时触发异常
model.encode(text, truncation=False)

2. all-MiniLM-L6-v2支持的最大max_seq_length

该模型基于预训练的MiniLM架构,预训练阶段使用的最大序列长度为512,因此它支持的最大max_seq_length就是512。无法将这个值设置得更大——因为模型的位置编码是固定按512长度训练的,强行设置更大值会导致位置编码不匹配,引发运行错误。

内容的提问来源于stack exchange,提问作者BlackHawk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:07:01