枚举值的向量化存储
是否有上限?
枚举值向量化存储设置了以下两项上限:
为什么要设置上限?
- 向量检索性能:枚举值需逐一向量化并构建索引,分类/名称数量过大会导致索引膨胀,相似度检索延迟显著上升,直接影响问答响应时间。
- 语义匹配精度:候选集越大,向量相似度排序的噪声越多,容易将不相关的枚举值误排到前列,导致生成的 SQL 字段取值错误。
- 资源防护:防止单表单字段枚举暴增耗尽向量库存储和计算资源,影响其他租户/业务的正常使用。
结论
60,000 分类和 100,000 名称的上限,是在向量检索效率、LLM 上下文容量、语义匹配准确度三者之间的工程权衡。绝大多数业务场景的枚举规模远小于此阈值;
若实际业务中确有超大规模枚举字段,可通过"问字段 + 内容"的方式解决:在提问时直接指定字段名和具体值进行精确匹配,而非依赖枚举向量化的语义检索。
对于公司名称、地址等不适合向量化匹配的字段,以及超大规模枚举字段,可采用”字段 = XX”的精准匹配或”字段包含 YY”的模糊匹配问法,参考 字段模糊查询场景解决方案,通过提示词改写绕过枚举向量化的限制。

