Kaushik066 commited on
Commit
74fb9ff
·
verified ·
1 Parent(s): efe1c9f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -29
app.py CHANGED
@@ -15,20 +15,20 @@ from langchain_community.llms import HuggingFaceHub
15
 
16
  # define constants
17
  # Embedding models
18
- EMB_MODEL_bge_base = 'BAAI/bge-base-en-v1.5'
19
  EMB_MODEL_bge_large = 'BAAI/bge-large-en-v1.5'
20
- EMB_MODEL_gtr_t5_base = 'sentence-transformers/gtr-t5-base'
21
  EMB_MODEL_gtr_t5_large = 'sentence-transformers/gtr-t5-large'
22
- EMB_MODEL_e5_base = 'intfloat/e5-large-v2'
23
  # Chat app model
24
  MISTRAL_MODEL1 = 'mistralai/Mixtral-8x7B-Instruct-v0.1'
25
  HF_MODEL1 = 'HuggingFaceH4/zephyr-7b-beta'
26
  # define paths
27
- vector_path_bge_base = 'vectorDB/faiss_index_bge_base'
28
  vector_path_bge_large = 'vectorDB/faiss_index_bge_large'
29
- vector_path_gtr_t5_base = 'vectorDB/faiss_index_gtr_t5_base'
30
  vector_path_gtr_t5_large = 'vectorDB/faiss_index_gtr_t5_large'
31
- vector_path_e5_base = 'vectorDB/faiss_index_e5_base'
32
 
33
  hf_token = os.environ["HUGGINGFACEHUB_API_TOKEN"]
34
 
@@ -37,17 +37,17 @@ def respond(message, history):
37
  # Initialize your embedding model
38
  embedding_model_bge = HuggingFaceEmbeddings(model_name=EMB_MODEL_bge_large)
39
  embedding_model_gtr_t5 = HuggingFaceEmbeddings(model_name=EMB_MODEL_gtr_t5_large)
40
- embedding_model_e5 = HuggingFaceEmbeddings(model_name=EMB_MODEL_e5_base)
41
 
42
  # Load FAISS from relative path
43
  vectordb_bge = FAISS.load_local(vector_path_bge_large, embedding_model_bge, allow_dangerous_deserialization=True)
44
  vectordb_gtr_t5 = FAISS.load_local(vector_path_gtr_t5_large, embedding_model_gtr_t5, allow_dangerous_deserialization=True)
45
- vectordb_e5 = FAISS.load_local(vector_path_e5_base, embedding_model_e5, allow_dangerous_deserialization=True)
46
 
47
  # define retriever object
48
  retriever_bge = vectordb_bge.as_retriever(search_type="similarity", search_kwargs={"k": 5})
49
  retriever_gtr_t5 = vectordb_gtr_t5.as_retriever(search_type="similarity", search_kwargs={"k": 5})
50
- retriever_e5 = vectordb_e5.as_retriever(search_type="similarity", search_kwargs={"k": 5})
51
 
52
  # initialse chatbot llm
53
  llm = HuggingFaceHub(
@@ -59,12 +59,12 @@ def respond(message, history):
59
  # create a RAG pipeline
60
  qa_chain_bge = RetrievalQA.from_chain_type(llm=llm, retriever=retriever_bge)
61
  qa_chain_gtr_t5 = RetrievalQA.from_chain_type(llm=llm, retriever=retriever_gtr_t5)
62
- qa_chain_e5 = RetrievalQA.from_chain_type(llm=llm, retriever=retriever_e5)
63
 
64
  #generate results
65
  responce_bge = qa_chain_bge.invoke(message)['result']
66
  responce_gtr_t5 = qa_chain_gtr_t5.invoke(message)['result']
67
- responce_e5 = qa_chain_e5.invoke(message)['result']
68
 
69
  # remove the top instructions
70
  #instruction_prefix = (
@@ -98,27 +98,37 @@ def respond(message, history):
98
  # answer_e5 = match_e5.group(3).strip()
99
  #
100
  #formatted_responce = f'Question:{question_bge}\nHelpful Answer Type 1:\n{answer_bge}\nHelpful Answer Type 2:\n{answer_gtr_t5}\nHelpful Answer Type 3:\n{answer_e5}'
101
- formatted_responce = f'\n************* BAAI/bge-large-en-v1.5 ****************\n{responce_bge}\n************** sentence-transformers/gtr-t5-large ***************\n{responce_gtr_t5}\n************ intfloat/e5-large-v2 **************\n{responce_e5}'
 
102
  yield formatted_responce
103
 
 
 
 
 
 
 
104
 
105
- demo = gr.ChatInterface(
106
- respond,
107
- type="messages",
108
- autofocus=False #,
109
- #additional_inputs=[
110
- # gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
111
- # gr.Slider(minimum=128, maximum=1024, value=512, step=128, label="Max new tokens"),
112
- # gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Temperature"),
113
- # gr.Slider(
114
- # minimum=0.1,
115
- # maximum=1.0,
116
- # value=0.95,
117
- # step=0.05,
118
- # label="Top-p (nucleus sampling)",
119
- # ),
120
- #],
121
- )
 
 
 
122
 
123
 
124
  if __name__ == "__main__":
 
15
 
16
  # define constants
17
  # Embedding models
18
+ #EMB_MODEL_bge_base = 'BAAI/bge-base-en-v1.5'
19
  EMB_MODEL_bge_large = 'BAAI/bge-large-en-v1.5'
20
+ #EMB_MODEL_gtr_t5_base = 'sentence-transformers/gtr-t5-base'
21
  EMB_MODEL_gtr_t5_large = 'sentence-transformers/gtr-t5-large'
22
+ #EMB_MODEL_e5_base = 'intfloat/e5-large-v2'
23
  # Chat app model
24
  MISTRAL_MODEL1 = 'mistralai/Mixtral-8x7B-Instruct-v0.1'
25
  HF_MODEL1 = 'HuggingFaceH4/zephyr-7b-beta'
26
  # define paths
27
+ #vector_path_bge_base = 'vectorDB/faiss_index_bge_base'
28
  vector_path_bge_large = 'vectorDB/faiss_index_bge_large'
29
+ #vector_path_gtr_t5_base = 'vectorDB/faiss_index_gtr_t5_base'
30
  vector_path_gtr_t5_large = 'vectorDB/faiss_index_gtr_t5_large'
31
+ #vector_path_e5_base = 'vectorDB/faiss_index_e5_base'
32
 
33
  hf_token = os.environ["HUGGINGFACEHUB_API_TOKEN"]
34
 
 
37
  # Initialize your embedding model
38
  embedding_model_bge = HuggingFaceEmbeddings(model_name=EMB_MODEL_bge_large)
39
  embedding_model_gtr_t5 = HuggingFaceEmbeddings(model_name=EMB_MODEL_gtr_t5_large)
40
+ #embedding_model_e5 = HuggingFaceEmbeddings(model_name=EMB_MODEL_e5_base)
41
 
42
  # Load FAISS from relative path
43
  vectordb_bge = FAISS.load_local(vector_path_bge_large, embedding_model_bge, allow_dangerous_deserialization=True)
44
  vectordb_gtr_t5 = FAISS.load_local(vector_path_gtr_t5_large, embedding_model_gtr_t5, allow_dangerous_deserialization=True)
45
+ #vectordb_e5 = FAISS.load_local(vector_path_e5_base, embedding_model_e5, allow_dangerous_deserialization=True)
46
 
47
  # define retriever object
48
  retriever_bge = vectordb_bge.as_retriever(search_type="similarity", search_kwargs={"k": 5})
49
  retriever_gtr_t5 = vectordb_gtr_t5.as_retriever(search_type="similarity", search_kwargs={"k": 5})
50
+ #retriever_e5 = vectordb_e5.as_retriever(search_type="similarity", search_kwargs={"k": 5})
51
 
52
  # initialse chatbot llm
53
  llm = HuggingFaceHub(
 
59
  # create a RAG pipeline
60
  qa_chain_bge = RetrievalQA.from_chain_type(llm=llm, retriever=retriever_bge)
61
  qa_chain_gtr_t5 = RetrievalQA.from_chain_type(llm=llm, retriever=retriever_gtr_t5)
62
+ #qa_chain_e5 = RetrievalQA.from_chain_type(llm=llm, retriever=retriever_e5)
63
 
64
  #generate results
65
  responce_bge = qa_chain_bge.invoke(message)['result']
66
  responce_gtr_t5 = qa_chain_gtr_t5.invoke(message)['result']
67
+ #responce_e5 = qa_chain_e5.invoke(message)['result']
68
 
69
  # remove the top instructions
70
  #instruction_prefix = (
 
98
  # answer_e5 = match_e5.group(3).strip()
99
  #
100
  #formatted_responce = f'Question:{question_bge}\nHelpful Answer Type 1:\n{answer_bge}\nHelpful Answer Type 2:\n{answer_gtr_t5}\nHelpful Answer Type 3:\n{answer_e5}'
101
+ #formatted_responce = f'\n************* BAAI/bge-large-en-v1.5 ****************\n{responce_bge}\n************** sentence-transformers/gtr-t5-large ***************\n{responce_gtr_t5}\n************ intfloat/e5-large-v2 **************\n{responce_e5}'
102
+ formatted_responce = f'\n************* BAAI/bge-large-en-v1.5 ****************\n{responce_bge}\n************** sentence-transformers/gtr-t5-large ***************\n{responce_gtr_t5}'
103
  yield formatted_responce
104
 
105
+ with gr.Blocks() as demo:
106
+ gr.Markdown("# Intelligent Financial Document Q&A App")
107
+
108
+ # About the App
109
+ with gr.Tab("About the App"):
110
+ gr.Markdown(about_lines)
111
 
112
+ # Document Chatbot
113
+ with gr.Tab("Market Prediction"):
114
+ #demo = gr.ChatInterface(
115
+ gr.ChatInterface(
116
+ respond,
117
+ type="messages",
118
+ autofocus=False #,
119
+ #additional_inputs=[
120
+ # gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
121
+ # gr.Slider(minimum=128, maximum=1024, value=512, step=128, label="Max new tokens"),
122
+ # gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Temperature"),
123
+ # gr.Slider(
124
+ # minimum=0.1,
125
+ # maximum=1.0,
126
+ # value=0.95,
127
+ # step=0.05,
128
+ # label="Top-p (nucleus sampling)",
129
+ # ),
130
+ #],
131
+ )
132
 
133
 
134
  if __name__ == "__main__":