Împărțire după caracter
Un pas esențial în implementarea Retrieval Augmented Generation (RAG) este împărțirea documentelor în fragmente pentru stocare într-o bază de date vectorială.
În LangChain există mai multe strategii de împărțire, unele mai complexe decât altele. În acest exercițiu, vei implementa un splitter de text bazat pe caractere, care împarte documentele după caractere și măsoară lungimea fiecărui fragment în număr de caractere.
Reține că nu există o strategie ideală de împărțire – s-ar putea să fie nevoie să experimentezi cu mai multe variante pentru a o găsi pe cea potrivită cazului tău de utilizare.
Acest exercițiu face parte din cursul
Developing LLM Applications with LangChain
Instrucțiuni pentru exercițiu
- Importă clasa
CharacterTextSplitterdinlangchain_text_splitters. - Creează o instanță
CharacterTextSplittercuseparator="\n",chunk_size=24șichunk_overlap=10. - Folosește metoda
.split_text()pentru a împărțiquote, apoi afișează fragmentele și lungimile acestora.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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])