Olá pessoal, identifiquei que algumas coisas nesse código ficaram desatualizadas. Abaixo um código completo atualizado (09/08/2024):
from langchain_openai import ChatOpenAI
from langchain.globals import set_debug
from langchain_openai import OpenAIEmbeddings
from langchain_community.document_loaders import TextLoader
from langchain_community.vectorstores.faiss import FAISS
from langchain_text_splitters import CharacterTextSplitter
import os
from langchain.chains.retrieval_qa.base import RetrievalQA
from dotenv import load_dotenv
load_dotenv()
set_debug(True)
llm = ChatOpenAI(
model="gpt-4o-mini",
temperature=0.5,
api_key=os.getenv("OPENAI_API_KEY"))
carregador = TextLoader(file_path="data.txt", encoding='utf-8')
documentos = carregador.load()
quebrador = CharacterTextSplitter(separator=".", chunk_size=500, chunk_overlap=200)
textos = quebrador.split_documents(documentos)
embeddings = OpenAIEmbeddings()
db = FAISS.from_documents(textos, embeddings)
qa_chain = RetrievalQA.from_chain_type(llm, retriever=db.as_retriever())
while True:
pergunta = input("Digite sua pergunta (ou 'sair' para encerrar): ")
if pergunta.lower() == 'sair':
print("Saindo...")
break
resultado = qa_chain.invoke({"query": pergunta})
print(resultado)
Caso tenham algum problema relacionado a ModuleNotFoundError: No module named 'faiss'
, instalem:
pip install faiss-cpu