Jatinydv commited on
Commit
8b709fd
1 Parent(s): 6e7d092

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -25
app.py CHANGED
@@ -1,10 +1,10 @@
 
1
  from langchain_community.document_loaders import PyPDFLoader, DirectoryLoader
2
  from langchain.prompts import PromptTemplate
3
  from langchain_community.embeddings import HuggingFaceEmbeddings
4
  from langchain_community.vectorstores import FAISS
5
  from langchain_community.llms import CTransformers
6
  from langchain.chains import RetrievalQA
7
- import gradio as gr
8
 
9
  DB_FAISS_PATH = 'vectorstore/db_faiss'
10
 
@@ -19,20 +19,16 @@ Helpful answer:
19
  """
20
 
21
  def set_custom_prompt():
22
- """
23
- Prompt template for QA retrieval for each vectorstore
24
- """
25
  prompt = PromptTemplate(template=custom_prompt_template,
26
  input_variables=['context', 'question'])
27
  return prompt
28
 
29
  def load_llm():
30
- # Load the locally downloaded model here
31
  llm = CTransformers(
32
- model = "TheBloke/Llama-2-7B-Chat-GGML",
33
  model_type="llama",
34
- max_new_tokens = 512,
35
- temperature = 0.5
36
  )
37
  return llm
38
 
@@ -42,25 +38,26 @@ def qa_bot(query):
42
  db = FAISS.load_local(DB_FAISS_PATH, embeddings)
43
  llm = load_llm()
44
  qa_prompt = set_custom_prompt()
45
- qa_chain = RetrievalQA.from_chain_type(llm=llm,
46
- chain_type='stuff',
47
- retriever=db.as_retriever(search_kwargs={'k': 2}),
48
- return_source_documents=True,
49
- chain_type_kwargs={'prompt': qa_prompt}
50
- )
51
- result = qa_chain({'query': query})
52
- response = result['answers'][0]['text'] if result['answers'] else "Sorry, I don't have an answer for that."
53
-
54
  return response
55
 
56
- iface = gr.Interface(
57
- fn=qa_bot,
58
- inputs="text",
59
- outputs="text",
60
- title="Medical Query Bot",
61
- description="Enter your medical query to get an answer."
62
- )
 
 
 
63
 
64
  if __name__ == '__main__':
65
- iface.launch()
66
 
 
1
+ import streamlit as st
2
  from langchain_community.document_loaders import PyPDFLoader, DirectoryLoader
3
  from langchain.prompts import PromptTemplate
4
  from langchain_community.embeddings import HuggingFaceEmbeddings
5
  from langchain_community.vectorstores import FAISS
6
  from langchain_community.llms import CTransformers
7
  from langchain.chains import RetrievalQA
 
8
 
9
  DB_FAISS_PATH = 'vectorstore/db_faiss'
10
 
 
19
  """
20
 
21
  def set_custom_prompt():
 
 
 
22
  prompt = PromptTemplate(template=custom_prompt_template,
23
  input_variables=['context', 'question'])
24
  return prompt
25
 
26
  def load_llm():
 
27
  llm = CTransformers(
28
+ model="TheBloke/Llama-2-7B-Chat-GGML",
29
  model_type="llama",
30
+ max_new_tokens=512,
31
+ temperature=0.5
32
  )
33
  return llm
34
 
 
38
  db = FAISS.load_local(DB_FAISS_PATH, embeddings)
39
  llm = load_llm()
40
  qa_prompt = set_custom_prompt()
41
+ qa = RetrievalQA.from_chain_type(llm=llm,
42
+ chain_type='stuff',
43
+ retriever=db.as_retriever(search_kwargs={'k': 2}),
44
+ return_source_documents=True,
45
+ chain_type_kwargs={'prompt': qa_prompt}
46
+ )
47
+ response = qa({'query': query})
 
 
48
  return response
49
 
50
+ def main():
51
+ st.title('Medical Bot')
52
+ query = st.text_input('Enter your medical query:')
53
+ if st.button('Submit'):
54
+ response = qa_bot(query)
55
+ st.write('Answer:', response['result'])
56
+ if response['source_documents']:
57
+ st.write('Sources:', response['source_documents'])
58
+ else:
59
+ st.write('No sources found')
60
 
61
  if __name__ == '__main__':
62
+ main()
63