ComeçarComece de graça

Construindo a retrieval chain

Agora, para o grande final do capítulo! Você vai criar uma retrieval chain usando a Expression Language do LangChain (LCEL). Ela vai combinar o vector store contendo seus chunks de documentos incorporados do artigo de RAG que você carregou anteriormente, um prompt template e um LLM, para que você possa começar a conversar com seus documentos.

Aqui vai um lembrete do prompt_template que você criou no exercício anterior, e que está disponível para você usar:

Use the only the context provided to answer the following question. If you don't know the answer, reply that you are unsure.
Context: {context}
Question: {question}

O vector_store com os chunks de documentos incorporados que você criou anteriormente também foi carregado para você, junto com todas as bibliotecas e classes necessárias.

Este exercício faz parte do curso

Retrieval Augmented Generation (RAG) com LangChain

Ver curso

Instruções do exercício

  • Converta o Chroma vector_store em um objeto retriever para uso na LCEL retrieval chain.
  • Crie a LCEL retrieval chain para combinar o retriever, o prompt_template, o llm e um analisador de saída em string, para que ela possa responder às perguntas de entrada.
  • Invoque a chain na pergunta fornecida.

Exercício interativo prático

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

# Convert the vector store into a retriever
retriever = vector_store.____(search_type="similarity", search_kwargs=____)

# Create the LCEL retrieval chain
chain = (
    {"____": ____, "question": ____}
    | ____
    | ____
)

# Invoke the chain
print(chain.____("Who are the authors?"))
Editar e executar o código