1
resposta
# instalar a biblioteca do FAISS
!pip faiss-cpu

# Banco vetorial
from langchain_community.vectorstores import FAISS

# Cria a VectorStore usando FAISS em vez de Chroma 
vectorstore_faiss = FAISS.from_documents(
    documents=chunks,
    embedding=embeddings
)

# Cria o retriever
retriever = vectorstore_faiss.as_retriever(
    search_type="similarity",
    search_kwargs={"k": 3}
)

# Inicializa a cadeia de Perguntas e Respostas (RAG)
qa_chain_faiss = RetrievalQA.from_chain_type(
    llm=llm,                # LLM (gpt-4o-mini) configurada
    chain_type="stuff",      # "empilha" os chunks no prompt
    retriever=retriever,
    return_source_documents=True # de qual página veio a regra
)

# Executa a busca + geração da resposta
resposta = qa_chain_faiss({"query": pergunta})

print("Resposta da IA:")
print(resposta["result"])

print("\nFontes consultadas (Metadados):")
for doc in resposta["source_documents"]:
    print(f"- Fonte: {doc.metadata['source']}, Página: {doc.metadata['page']}")
1 resposta

Olá, Marcus! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso do FAISS para criar um banco vetorial eficiente, utilizou muito bem o retriever para realizar buscas por similaridade e ainda compreendeu a importância de integrar o RAG (RetrievalQA) para gerar respostas contextualizadas junto com as fontes consultadas.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!