Bắt đầu ngayBắt đầu miễn phí

Tách theo ký tự

Một bước quan trọng khi triển khai Retrieval Augmented Generation (RAG) là tách tài liệu thành các khối (chunk) để lưu trữ trong cơ sở dữ liệu vector.

Có nhiều chiến lược tách khác nhau trong LangChain, một số phức tạp hơn số còn lại. Trong bài tập này, bạn sẽ triển khai một bộ tách văn bản theo ký tự (character text splitter), tách tài liệu dựa trên ký tự và đo độ dài khối theo số lượng ký tự.

Hãy nhớ rằng không có chiến lược tách “chuẩn” cho mọi trường hợp; bạn có thể cần thử nghiệm vài cách để tìm ra phương án phù hợp với bài toán 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

Xem khóa học

Hướng dẫn bài tập

  • Import lớp CharacterTextSplitter từ langchain_text_splitters.
  • Tạo một instance CharacterTextSplitter với separator="\n", chunk_size=24, và chunk_overlap=10.
  • Dùng phương thức .split_text() để tách quote và in ra các khối cùng độ dài của từng khối.

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 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 = CharacterTextSplitter(
    separator=____,
    chunk_size=____,
    chunk_overlap=____)

# Split the string and print the chunks
docs = splitter.____(quote)
print(docs)
print([len(doc) for doc in docs])
Chỉnh sửa và Chạy Mã