Criação de uma cadeia RAG
Agora é só juntar todos os componentes no seu fluxo de trabalho de RAG! Você preparou os documentos e os inseriu em um banco de dados Chroma para posterior recuperação. Você criou um modelo de prompt para incluir os trechos recuperados do artigo acadêmico e responder às perguntas.
O modelo de prompt que você criou no exercício anterior está disponível como prompt_template; um modelo da OpenAI foi inicializado como llm e o código para recriar seu retriever foi incluído no script.
Este exercicio faz parte do curso
Desenvolvimento de aplicativos de LLM com LangChain
Instruções do exercicio
- Crie uma cadeia LCEL usando o operador pipe (
|) para conectarretriever,prompt_templateellmem sequência. - A cadeia deve mapear o recuperador para
"context"e a entrada do usuário para"question". - Chame a cadeia usando o método
.invoke()na pergunta fornecida.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
vectorstore = Chroma.from_documents(
docs,
embedding=OpenAIEmbeddings(api_key='', model='text-embedding-3-small'),
persist_directory=os.getcwd()
)
retriever = vectorstore.as_retriever(
search_type="similarity",
search_kwargs={"k": 3}
)
# Create a chain to link retriever, prompt_template, and llm
rag_chain = ({"context": ____, "question": ____}
| prompt_template
| llm)
# Invoke the chain
response = rag_chain.____("Which popular LLMs were considered in the paper?")
print(response.content)