From b3574c823629a7e5d6bf29878bd29b35fca4a5f5 Mon Sep 17 00:00:00 2001
From: xRoark <xroark@protonmail.com>
Date: Wed, 29 Mar 2023 23:31:08 -0600
Subject: [PATCH 1/2] Update langchain to latest

---
 main.py          | 4 ++--
 qa.py            | 9 +++++----
 requirements.txt | 3 ++-
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/main.py b/main.py
index 3012caeb..f330a166 100644
--- a/main.py
+++ b/main.py
@@ -3,7 +3,7 @@
 from streamlit_chat import message
 import faiss
 from langchain import OpenAI
-from langchain.chains import VectorDBQAWithSourcesChain
+from langchain.chains import RetrievalQAWithSourcesChain
 import pickle
 
 # Load the LangChain.
@@ -13,7 +13,7 @@
     store = pickle.load(f)
 
 store.index = index
-chain = VectorDBQAWithSourcesChain.from_llm(llm=OpenAI(temperature=0), vectorstore=store)
+chain = RetrievalQAWithSourcesChain.from_chain_type(OpenAI(temperature=0), chain_type="stuff", retriever=store.as_retriever())
 
 
 # From here down is all the StreamLit UI.
diff --git a/qa.py b/qa.py
index 9152cc15..476ea300 100644
--- a/qa.py
+++ b/qa.py
@@ -1,9 +1,10 @@
 """Ask a question to the notion database."""
 import faiss
 from langchain import OpenAI
-from langchain.chains import VectorDBQAWithSourcesChain
+from langchain.chains import RetrievalQAWithSourcesChain
 import pickle
 import argparse
+from pprint import pprint
 
 parser = argparse.ArgumentParser(description='Ask a question to the notion DB.')
 parser.add_argument('question', type=str, help='The question to ask the notion DB')
@@ -16,7 +17,7 @@
     store = pickle.load(f)
 
 store.index = index
-chain = VectorDBQAWithSourcesChain.from_llm(llm=OpenAI(temperature=0), vectorstore=store)
+chain = RetrievalQAWithSourcesChain.from_chain_type(OpenAI(temperature=0), chain_type="stuff", retriever=store.as_retriever())
 result = chain({"question": args.question})
-print(f"Answer: {result['answer']}")
-print(f"Sources: {result['sources']}")
+pprint(f"Answer: {result['answer']}")
+pprint(f"Sources: {result['sources']}")
diff --git a/requirements.txt b/requirements.txt
index c99f9572..21ce5d4e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,6 @@
-langchain==0.0.58
+langchain==0.0.126
 openai
 faiss-cpu
 streamlit
 streamlit-chat
+tiktoken

From 1e0cd7ba6325eaa0248d959d748ff3f232608018 Mon Sep 17 00:00:00 2001
From: Diego Anaya <redcpp@gmail.com>
Date: Wed, 29 Mar 2023 23:47:48 -0600
Subject: [PATCH 2/2] Fix use of pprint for debugging

---
 qa.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/qa.py b/qa.py
index 476ea300..63e1614c 100644
--- a/qa.py
+++ b/qa.py
@@ -4,7 +4,6 @@
 from langchain.chains import RetrievalQAWithSourcesChain
 import pickle
 import argparse
-from pprint import pprint
 
 parser = argparse.ArgumentParser(description='Ask a question to the notion DB.')
 parser.add_argument('question', type=str, help='The question to ask the notion DB')
@@ -19,5 +18,5 @@
 store.index = index
 chain = RetrievalQAWithSourcesChain.from_chain_type(OpenAI(temperature=0), chain_type="stuff", retriever=store.as_retriever())
 result = chain({"question": args.question})
-pprint(f"Answer: {result['answer']}")
-pprint(f"Sources: {result['sources']}")
+print(f"Answer: {result['answer']}")
+print(f"Sources: {result['sources']}")