ÎncepețiÎncepe gratuit

Împărțirea recursivă după caractere

Mulți dezvoltatori folosesc un splitter recursiv după caractere pentru a împărți documentele pe baza unei liste specifice de caractere. Implicit, acestea sunt paragrafele, liniile noi, spațiile și șirurile goale: ["\n\n", "\n", " ", ""].

Practic, splitter-ul încearcă mai întâi să împartă textul după paragrafe, verifică dacă valorile chunk_size și chunk_overlap sunt respectate și, dacă nu, trece la împărțirea după propoziții, apoi după cuvinte și, în final, după caractere individuale.

De cele mai multe ori, va trebui să experimentezi cu diferite valori pentru chunk_size și chunk_overlap pentru a le găsi pe cele care funcționează cel mai bine pentru documentele tale.

Acest exercițiu face parte din cursul

Developing LLM Applications with LangChain

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă clasa RecursiveCharacterTextSplitter din langchain_text_splitters.
  • Creează o instanță RecursiveCharacterTextSplitter cu separators=["\n", " ", ""], chunk_size=24 și chunk_overlap=10.
  • Folosește metoda .split_text() pentru a împărți quote, apoi afișează fragmentele obținute și lungimile acestora.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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])
Editează și rulează codul