Zacznij terazZacznij za darmo

Podział według znaku

Kluczowym etapem wdrażania Retrieval Augmented Generation (RAG) jest dzielenie dokumentów na fragmenty (ang. chunks) w celu zapisania ich w wektorowej bazie danych.

W LangChain dostępnych jest kilka strategii podziału – niektóre z nich są bardziej złożone od innych. W tym ćwiczeniu zaimplementujesz podział tekstu według znaku, który dzieli dokumenty na podstawie wskazanego znaku i mierzy długość fragmentu liczbą znaków.

Pamiętaj, że nie istnieje jedna idealna strategia podziału – możliwe, że trzeba będzie wypróbować kilka różnych, zanim znajdziesz tę właściwą dla swojego przypadku użycia.

To ćwiczenie jest częścią kursu

Tworzenie aplikacji LLM z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj klasę CharacterTextSplitter z modułu langchain_text_splitters.
  • Utwórz instancję klasy CharacterTextSplitter z parametrami separator="\n", chunk_size=24 i chunk_overlap=10.
  • Użyj metody .split_text(), aby podzielić zmienną quote, a następnie wyświetl fragmenty oraz ich długości.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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])
Edytuj i uruchom kod