Tách đệ quy theo ký tự
Nhiều lập trình viên sử dụng bộ tách ký tự đệ quy để chia tài liệu dựa trên một danh sách ký tự xác định trước. Mặc định, các ký tự đó là đoạn văn, xuống dòng, khoảng trắng và chuỗi rỗng: ["\n\n", "\n", " ", ""].
Về cách hoạt động, bộ tách sẽ thử tách theo đoạn văn, kiểm tra xem các giá trị chunk_size và chunk_overlap đã đạt yêu cầu chưa; nếu chưa, nó tiếp tục tách theo câu, rồi theo từ, và cuối cùng là từng ký tự.
Thường thì bạn sẽ cần thử nghiệm với các giá trị chunk_size và chunk_overlap khác nhau để tìm thiết lập phù hợp với tài liệu của mình.
Bài tập này là một phần của khóa học
Phát triển ứng dụng LLM với LangChain
Hướng dẫn bài tập
- Import lớp
RecursiveCharacterTextSplittertừlangchain_text_splitters. - Tạo một đối tượng
RecursiveCharacterTextSplittervớiseparators=["\n", " ", ""],chunk_size=24, vàchunk_overlap=10. - Dùng phương thức
.split_text()để táchquotevà in ra các mảnh cùng độ dài của từng mảnh.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import the recursive character splitter
from langchain_text_splitters import ____
quote = 'Words are flowing out like endless rain into a paper cup,\nthey slither while they pass,\nthey slip away across the universe.'
chunk_size = 24
chunk_overlap = 10
# Create an instance of the splitter class
splitter = RecursiveCharacterTextSplitter(
separators=____,
chunk_size=____,
chunk_overlap=____)
# Split the document and print the chunks
docs = splitter.____(quote)
print(docs)
print([len(doc) for doc in docs])