Splitter - semantic
基本介绍
语义分割器是 Document Transformer 接口的一个实现,用于基于语义相似度将长文档切分成更小的片段。该组件实现了 Eino: Document Transformer 使用说明。
工作原理
语义分割器通过以下步骤工作:
- 首先使用基本分隔符(如换行符、句号等)将文档分割成始片段
- 使用向量嵌入模型为每个片段生成语义向量
- 计算相邻片段之间的余弦相似度
- 根据相似度阈值决定是否在两个片段之间进行分割
- 对小于最小大小的片段进行合并
使用方式
组件初始化
语义分割器通过 NewSplitter
函数进行初始化,主要配置参数如下:
配置参数说明:
Embedding
:必需参数,用于生成文本向量的嵌入器实例BufferSize
:上下文缓冲区大小,用于在计算语义相似度时包含更多上下文信息MinChunkSize
:最小片段大小,小于此大小的片段会被合并Separators
:用于初始分割的分隔符列表,按顺序使用Percentile
:分割阈值的百分位数,范围 0-1,越大分割越少LenFunc
:自定义文本长度计算函数,默认使用len()
完整使用示例
高级用法
自定义长度计算:
调整分割粒度:
优化语义判断:
相关文档
最后修改
January 22, 2025
: docs: update eino doc (#1215) (805b4b6)