FAISS LangChain
FAISS (Facebook AI Similarity Search) is a vector library developed by Facebook that is used to store and search embeddings efficiently. It is particularly useful for tasks like question answering within documents, where you need to retrieve relevant parts of the content based on semantic similarity. By converting text into embeddings, FAISS allows you to quickly find the most relevant information in response to a given query. The typical workflow involves generating a query, using FAISS as a retriever to find the most similar embeddings, and saving or loading the FAISS index for reuse and scalability.
!pip install langchain langchain-openai langchain-community faiss-cpu tiktoken

from langchain_openai import OpenAI
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import FAISS
from langchain_core.vectorstores import VectorStoreRetriever
from langchain.chains import RetrievalQA
import os
os.environ["OPENAI_API_KEY"] = "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"
loader = TextLoader("metallica.txt")
documents = loader.load()
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]
df.loc[idx]