kdevoe commited on
Commit
fdf0bc5
·
verified ·
1 Parent(s): 2fcee0d

Adding memory to chat

Browse files
Files changed (1) hide show
  1. app.py +17 -12
app.py CHANGED
@@ -28,23 +28,28 @@ qa_chain = RetrievalQA.from_chain_type(
28
  retriever=vectordb.as_retriever()
29
  )
30
 
31
- question = "production is broken how do I fix it?"
32
-
33
- result = qa_chain({"query": question})
 
 
 
34
 
35
- print(result['result'])
 
 
 
 
 
 
36
 
37
 
38
  # Streamed response emulator
39
  def response_generator(prompt):
40
- # response = random.choice(
41
- # [
42
- # result['result']
43
- # ]
44
- # )
45
-
46
- response = qa_chain({"query": prompt})['result']
47
-
48
  for word in response.split():
49
  yield word + " "
50
  time.sleep(0.05)
 
28
  retriever=vectordb.as_retriever()
29
  )
30
 
31
+ # Conversation memory
32
+ from langchain.memory import ConversationBufferMemory
33
+ memory = ConversationBufferMemory(
34
+ memory_key="chat_history",
35
+ return_messages=True
36
+ )
37
 
38
+ from langchain.chains import ConversationalRetrievalChain
39
+ retriever=vectordb.as_retriever()
40
+ qa_memory = ConversationalRetrievalChain.from_llm(
41
+ llm,
42
+ retriever=retriever,
43
+ memory=memory
44
+ )
45
 
46
 
47
  # Streamed response emulator
48
  def response_generator(prompt):
49
+
50
+ response = qa_memory({"query": prompt})['result']
51
+
52
+ # Fake streaming
 
 
 
 
53
  for word in response.split():
54
  yield word + " "
55
  time.sleep(0.05)