ComeçarComece de graça

Dividir recursivamente por caractere

Muitos desenvolvedores estão usando um divisor recursivo de caracteres para dividir documentos com base em uma lista específica de caracteres. Esses caracteres são parágrafos, novas linhas, espaços e strings vazias, por padrão: ["\n\n", "\n", " ", ""].

Basicamente, o divisor tenta dividir por parágrafos, verifica se os valores de chunk_size e chunk_overlap estão certos e, se não estiverem, divide por frases, depois por palavras e, por fim, por caracteres individuais.

Muitas vezes, você vai precisar experimentar diferentes valores de chunk_size e chunk_overlap para encontrar os que funcionam melhor com seus documentos.

Este exercício faz parte do curso

Desenvolvimento de aplicativos de LLM com LangChain

Ver curso

Instruções do exercício

  • Importe a classe certa do LangChain para dividir um documento de forma recursiva por caractere.
  • Defina um divisor recursivo de caracteres para dividir nos caracteres "\n", " " e "" (nessa ordem) com um chunk_size de 24 e chunk_overlap de 10.
  • Divida quote e imprima os trechos e os comprimentos dos trechos.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 = ____

# Split the document and print the chunks
docs = ____
print(docs)
print([len(doc) for doc in docs])
Editar e executar o código