LangChain:基于文档结构的的Code代码文本切割器
代码文本分割器集成指南。根据编程代码语言自己的风格对 Code 进行分隔,可以切割的更完整,大模型可以更好的理解代码逻辑。
Code代码切割
RecursiveCharacterTextSplitter 包含了预构建的分隔符列表,这些列表对于分割特定编程语言的文本非常有用。支持的语言存储在 langchain_text_splitters.Language 枚举中。包括:
1 | "cpp", |
要查看特定语言的分隔符列表,请将此枚举中的值传入
1 | RecursiveCharacterTextSplitter.get_separators_for_language |
要实例化一个为特定语言定制的分割器,请将枚举中的值传入
1 | RecursiveCharacterTextSplitter.from_language |
下面我们将演示各种语言的示例。
1 | pip install -qU langchain-text-splitters |
1 | from langchain_text_splitters import ( |
要查看所有支持语言的完整列表:
1 | [e.value for e in Language] |
1 | ['cpp', |
还可以查看特定语言使用的分隔符:
1 | RecursiveCharacterTextSplitter.get_separators_for_language(Language.PYTHON) |
1 | ['\nclass ', '\ndef ', '\n\tdef ', '\n\n', '\n', ' ', ''] |
编程语言切割示例
Python
以下是使用 PythonTextSplitter 的示例:
1 | PYTHON_CODE = """ |
JS
以下是使用 JS 文本分割器的示例:
1 | JS_CODE = """ |
TS
以下是使用 TypeScript 文本分割器的示例:
1 | TS_CODE = """ |
Markdown
以下是使用 Markdown 文本分割器的示例:
1 | markdown_text = """ |
1 | md_splitter = RecursiveCharacterTextSplitter.from_language( |
Laex
以下是使用 LaTeX 文本的示例:
1 | latex_text = """ |
1 | latex_splitter = RecursiveCharacterTextSplitter.from_language( |
1 | [Document(metadata={}, page_content='\\documentclass{article}\n\n\x08egin{document}\n\n\\maketitle'), |
HTML
以下是使用 HTML 文本分割器的示例:
1 | html_text = """ |
1 | html_splitter = RecursiveCharacterTextSplitter.from_language( |
1 | [Document(metadata={}, page_content='<!DOCTYPE html>\n<html>'), |
Solidity
以下是使用 Solidity 文本分割器的示例:
1 | SOL_CODE = """ |
1 | [Document(metadata={}, page_content='pragma solidity ^0.8.20;'), |
C#
以下是使用 C# 文本分割器的示例:
1 | C_CODE = """ |
1 | [Document(metadata={}, page_content='using System;'), |
Haskell
以下是使用 Haskell 文本分割器的示例:
1 | HASKELL_CODE = """ |
PHP
以下是使用 PHP 文本分割器的示例:
1 | PHP_CODE = """<?php |
1 | php_splitter = RecursiveCharacterTextSplitter.from_language( |
PowerShell
以下是使用 PowerShell 文本分割器的示例:
1 | POWERSHELL_CODE = """ |
1 | [Document(metadata={}, page_content='$directoryPath = Get-Location\n\n$items = Get-ChildItem -Path $directoryPath'), |
Visual Basic 6
以下是使用 Visual Basic 6 文本分割器的示例:
1 | VISUALBASIC6_CODE = """Option Explicit |
1 | [Document(metadata={}, page_content='Option Explicit'), |
LangChain:基于文档结构的的Code代码文本切割器
http://blog.gxitsky.com/2026/03/12/AI-LangChain-024-TextSpliter-Code/

