LangChain-21 Text Splitters 内容切分器 支持多种格式 HTML JSON md Code(JS/Py/TS/etc) 进行切分并输出 方便将数据进行结构化后检索
在LangChain中,Text Splitter是一种工具,用于将大段的文本内容分割成更小的、易于处理的部分。LangChain支持多种文本格式,包括HTML、JSON、Markdown和代码。
以下是一个使用LangChain中的Text Splitter来处理Markdown文件的例子:
from langchain import TextSplitter, MarkdownDocument
# 创建一个MarkdownSplitter对象
splitter = TextSplitter(MarkdownDocument)
# 需要处理的Markdown文本
text = """
# 标题一
这是第一部分的内容。
## 标题二
这是第二部分的内容。
"""
# 使用split方法分割文本
splitted_texts = splitter.split(text)
# 输出分割后的各个部分
for part in splitted_texts:
print(part)
在这个例子中,MarkdownDocument
类被用来指定文本应该被当作Markdown处理。TextSplitter
会根据Markdown的标题级别来分割文本,将每个标题及其下的内容作为一个独立的部分输出。
对于其他格式,如HTML或代码,你可以使用对应的Document类,如HTMLDocument
或CodeDocument
。例如,对于代码,你可以这样做:
from langchain import TextSplitter, CodeDocument
code = """
def hello_world():
print("Hello, world!")
class MyClass:
def my_method(self):
print("Hello, LangChain!")
"""
splitter = TextSplitter(CodeDocument)
splitted_code = splitter.split(code)
for part in splitted_code:
print(part)
在这个例子中,CodeDocument
被用来分割Python代码。TextSplitter
会根据代码块(如函数定义或类定义)来分割代码。
评论已关闭