1 Star 9 Fork 7

蒋茂苇/本地知识库(LangChain+LLMs)

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
chinese_text_splitter.py 847 Bytes
一键复制 编辑 原始数据 按行查看 历史
yanxin_Thomas 提交于 2023-04-28 01:34 . 完善系列问题
import re
from typing import List
from langchain.text_splitter import CharacterTextSplitter
class ChineseTextSplitter(CharacterTextSplitter):
def __init__(self, pdf: bool = False, **kwargs):
super().__init__(**kwargs)
self.pdf = pdf
def split_text(self, text: str) -> List[str]:
if self.pdf:
text = re.sub(r"\n{3,}", "\n", text)
text = re.sub('\s', ' ', text)
text = text.replace("\n\n", "")
sent_sep_pattern = re.compile(
'([﹒﹔﹖﹗.。!?]["’”」』]{0,2}|(?=["‘“「『]{1,2}|$))')
sent_list = []
for ele in sent_sep_pattern.split(text):
if sent_sep_pattern.match(ele) and sent_list:
sent_list[-1] += ele
elif ele:
sent_list.append(ele)
return sent_list
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/jiang_maowei/LangChain_plus_LLMs.git
git@gitee.com:jiang_maowei/LangChain_plus_LLMs.git
jiang_maowei
LangChain_plus_LLMs
本地知识库(LangChain+LLMs)
master

搜索帮助