使用大型语言模型时,切勿忽略文本分块的重要性,其对处理结果的好坏有重大影响。接下来介绍常用的一些文本分块方法。
1.1 一般的文本分块方法
如果不借助任何包,直接按限制长度切分方案。
text =" 我是一个名为 chatGLm3-68 的人工智能助手,是基于清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练的语言模型开发的。我的目标是通过回答用户提出的问题来帮助他们解决问题。由于我是一个计算机程序,所以我没有实际的存在,只能通过互联网来与用户交流。"
chunks = []
chunk_size=128
for i in range(0, len(text), chunk_size):
chunk = text[i:i+chunk_size]
chunks.append(chunk)
print(chunks)
2.2 正则拆分的文本分块方法
import re
def split_sentences(text):
# 使用正则表达式匹配中文句子结束的标点符号
sentence_delimiters = re.compile(u'[。?!;]|\n')
sentences = sentence_delimiters.split(text)
# 过滤掉空字符串
sentences = [s.strip() for s in sentences if s.strip()]
return sentences
text =