文本分割器:示例
分割器是用于将文本划分为更小、更易管理的部分或特定段落的组件或工具。这种划分可能是为了各种原因,例如提高对大型或复杂文本处理、分析或理解的效果。分割器可以很简单,比如按句子或段落来分隔文本,也可以很复杂,如基于主题、话题或特定语法结构进行分割。
创建分割器时可使用PDF、文本或HTML
func main(){
func textToSplit() []schema.Document {
f, err := os.Open("./splitters/docs/transcript.txt")
if err != nil {
fmt.Println("Error opening file: ", err)
}
p := documentloaders.NewText(f)
split := textsplitter.NewRecursiveCharacter()
split.ChunkSize = 300 // 分块大小是以字符数表示的
split.ChunkOverlap = 30 // 重叠是指分块之间重复的字符数量
docs, err := p.LoadAndSplit(context.Background(), split)
if err != nil {
fmt.Println("Error loading document: ", err)
}
log.Println("Document loaded: ", len(docs))
}
📄️ 示例
分割器是用于将文本划分为更小、更易管理的部分或特定段落的组件或工具。这种划分可能是为了各种原因,例如提高对大型或复杂文本处理、分析或理解的效果。分割器可以很简单,比如按句子或段落来分隔文本,也可以很复杂,如基于主题、话题或特定语法结构进行分割。