Retrieval Augmented Generation (RAG) com LangChain
Meri Nova
Machine Learning Engineer

Codifica chunks como um único vetor com componentes não zero

Codifica chunks como um único vetor com componentes não zero

Codifica por correspondência de palavras, com componentes majoritariamente zero

TF-IDF: Codifica documentos usando as palavras que tornam o documento único

BM25: Reduz o efeito de palavras muito frequentes saturarem a codificação
from langchain_community.retrievers import BM25Retrieverchunks = [ "Python was created by Guido van Rossum and released in 1991.", "Python is a popular language for machine learning (ML).", "The PyTorch library is a popular Python library for AI and ML." ]bm25_retriever = BM25Retriever.from_texts(chunks, k=3)
results = bm25_retriever.invoke("When was Python created?")
print("Most Relevant Document:")
print(results[0].page_content)
Most Relevant Document:
Python was created by Guido van Rossum and released in 1991.
retriever = BM25Retriever.from_documents( documents=chunks, k=5 )chain = ({"context": retriever, "question": RunnablePassthrough()} | prompt | llm | StrOutputParser() )
print(chain.invoke("How can LLM hallucination impact a RAG application?"))
O app RAG pode gerar respostas fora do tópico ou imprecisas.
Retrieval Augmented Generation (RAG) com LangChain