Skip to content

向量搜索与文本分块参数配置手册

一、核心参数说明

参数名称类型默认值作用范围影响维度中文说明
thresholdDouble0.8搜索结果过滤精度 vs 召回率相似度阈值:仅返回相似度分数高于此值的结果(0-1 之间,1 为完全匹配)
limitInteger5返回结果数量信息密度返回结果数量:限制搜索返回的最大匹配条目数
chunkSizeint-分块大小(tokens)上下文完整性分块大小:每个文本块的目标 token 数量(1 token≈1 英文单词或 2-3 中文字)
minChunkSizeCharsint-最小字符分块碎片化控制最小字符分块:每个分块的最小字符数,避免过短无意义分块
minChunkLengthToEmbedint-嵌入最小长度噪声过滤最小嵌入长度:短于此长度的分块将被丢弃,不生成向量
maxNumChunksint-单文档最大分块数系统负载最大分块数:单个文档允许生成的最大分块数量

参数关系图示

mermaid
graph LR
    A[chunkSize] -->|影响| B[模型处理效率]
    C[threshold] -->|控制| D[结果精准度]
    E[minChunkSizeChars] -->|必须大于| F[minChunkLengthToEmbed]

二、分行业配置方案

1. 金融/法律(高严谨性)

典型场景:合同条款审查、法律条文检索、合规性检查

java
.threshold(0.9)
.chunkSize(1024)
.minChunkSizeChars(200)
.maxNumChunks(500)
.minChunkLengthToEmbed(30)
.limit(3)

调整逻辑

  • 高阈值(0.9+)避免条款误匹配
  • 大分块保留完整法律实体(如"甲方应在 30 个工作日内...")
  • 限制结果数量确保权威性

2. 医疗健康(术语敏感型)

典型场景:电子病历检索、医学文献问答、症状诊断支持

java
.threshold(0.85)
.chunkSize(768)
.minChunkSizeChars(150)
.maxNumChunks(300)
.minChunkLengthToEmbed(50)  // 过滤"主诉:"等引导词
.limit(1)  // 医疗建议需唯一准确

特殊处理

  • 需自定义停用词表过滤无意义片段
  • 症状描述需保留完整时间序列(如"持续发热 3 天,伴随咳嗽")

[...其他行业配置保持相同完整结构...]

三、动态调优指南

调优流程

  1. 基线测试
    • 使用行业默认值运行基准测试
  2. 指标监控
    • 高要求场景(金融/医疗):准确率>85%
    • 实时系统(客服):响应时间<500ms
  3. 迭代优化
    • 数据量每增加 10 万:threshold提升 0.02
    • 长文档处理超时:maxNumChunks按文档平均长度 ×2 调整

异常处理

问题现象可能原因解决方案
结果遗漏重要信息threshold过高降低 0.05~0.1
返回过多无关结果minChunkSizeChars太小增加 50%~100%
长文档处理超时maxNumChunks不足按文档平均长度 x2 配置

四、附录:行业参数速查表

行业thresholdchunkSizelimit关键原则
金融法律0.85~0.9510241~3大分块+高阈值
医疗0.8~0.97681严格过滤短文本
电商0.6~0.752565~10低阈值+多结果
教育0.75~0.8510243~5超长分块+中阈值
客服0.65~0.751281实时优先+小分块
mermaid
graph TD
    A[chunkSize] -->|决定| B[模型输入限制]
    C[minChunkSizeChars] -->|必须>| D[minChunkLengthToEmbed]
    E[threshold] -->|影响| F[系统QPS]
    G[maxNumChunks] -->|约束| H[内存使用量]

为你构建更智能的应用