Розбиття за символом
Ключовий етап у реалізації Retrieval Augmented Generation (RAG) — розбиття документів на фрагменти для зберігання у векторній базі даних.
У LangChain доступні кілька стратегій розбиття — деякі простіші, деякі складніші. У цій вправі ви реалізуєте character text splitter — розбивач тексту за символами, який ділить документи на основі символів і вимірює довжину фрагмента за кількістю символів.
Пам'ятайте: ідеальної стратегії розбиття не існує. Можливо, доведеться спробувати кілька варіантів, щоб підібрати оптимальний для вашого випадку.
Ця вправа є частиною курсу
Розроблення застосунків LLM за допомогою LangChain
Інструкції до вправи
- Імпортуйте клас
CharacterTextSplitterзlangchain_text_splitters. - Створіть екземпляр
CharacterTextSplitterзseparator="\n",chunk_size=24іchunk_overlap=10. - Використайте метод
.split_text()для розбиттяquoteі виведіть фрагменти та їхні довжини.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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])