eagle0504 commited on
Commit
7ff5a5f
β€’
1 Parent(s): fc375ae

timer added

Browse files
Files changed (1) hide show
  1. app.py +21 -2
app.py CHANGED
@@ -1,5 +1,6 @@
1
  import os
2
  import string
 
3
  from typing import Any, Dict, List, Tuple, Union
4
 
5
  import chromadb
@@ -8,7 +9,6 @@ import openai
8
  import pandas as pd
9
  import requests
10
  import streamlit as st
11
- import time
12
  from datasets import load_dataset
13
  from langchain.document_loaders import TextLoader
14
  from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
@@ -70,11 +70,14 @@ if option == "YSA":
70
  dataset = load_dataset(
71
  "eagle0504/youthless-homeless-shelter-web-scrape-dataset-qa-formatted"
72
  )
73
- end_t = time.time()
74
  st.success(f"Time: {end_t - begin_t} sec")
75
  initial_input = "Tell me about YSA"
76
  else:
 
77
  dataset = load_dataset("eagle0504/larkin-web-scrape-dataset-qa-formatted")
 
 
78
  initial_input = "Tell me about Larkin"
79
 
80
 
@@ -99,11 +102,14 @@ collection = client.create_collection(combined_string)
99
  # Embed and store the first N supports for this demo
100
  with st.spinner("Loading, please be patient with us ... πŸ™"):
101
  L = len(dataset["train"]["questions"])
 
102
  collection.add(
103
  ids=[str(i) for i in range(0, L)], # IDs are just strings
104
  documents=dataset["train"]["questions"], # Enter questions here
105
  metadatas=[{"type": "support"} for _ in range(0, L)],
106
  )
 
 
107
 
108
 
109
  # React to user input
@@ -115,7 +121,10 @@ if prompt := st.chat_input(initial_input):
115
  st.session_state.messages.append({"role": "user", "content": prompt})
116
 
117
  question = prompt
 
118
  results = collection.query(query_texts=question, n_results=5)
 
 
119
  idx = results["ids"][0]
120
  idx = [int(i) for i in idx]
121
  ref = pd.DataFrame(
@@ -141,7 +150,10 @@ if prompt := st.chat_input(initial_input):
141
 
142
  if option == "YSA":
143
  try:
 
144
  llm_response = llama2_7b_ysa(question)
 
 
145
  except:
146
  st.warning("Sorry, the inference endpoint is temporarily down. πŸ˜”")
147
  llm_response = "NA."
@@ -158,6 +170,7 @@ if prompt := st.chat_input(initial_input):
158
  # add ai judge as additional rating
159
  if run_ai_judge == "Yes":
160
  independent_ai_judge_score = []
 
161
  for i in range(final_ref.shape[0]):
162
  this_content = final_ref["answers"][i]
163
  if len(this_content) > 3:
@@ -171,6 +184,9 @@ if prompt := st.chat_input(initial_input):
171
 
172
  final_ref["ai_judge"] = independent_ai_judge_score
173
 
 
 
 
174
  engineered_prompt = f"""
175
  Based on the context: {ref_from_db_search}
176
 
@@ -179,7 +195,10 @@ if prompt := st.chat_input(initial_input):
179
  Answer the question directly (don't say "based on the context, ...")
180
  """
181
 
 
182
  answer = call_chatgpt(engineered_prompt)
 
 
183
  response = answer
184
 
185
  # Display assistant response in chat message container
 
1
  import os
2
  import string
3
+ import time
4
  from typing import Any, Dict, List, Tuple, Union
5
 
6
  import chromadb
 
9
  import pandas as pd
10
  import requests
11
  import streamlit as st
 
12
  from datasets import load_dataset
13
  from langchain.document_loaders import TextLoader
14
  from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
 
70
  dataset = load_dataset(
71
  "eagle0504/youthless-homeless-shelter-web-scrape-dataset-qa-formatted"
72
  )
73
+ end_t = time.time()
74
  st.success(f"Time: {end_t - begin_t} sec")
75
  initial_input = "Tell me about YSA"
76
  else:
77
+ begin_t = time.time()
78
  dataset = load_dataset("eagle0504/larkin-web-scrape-dataset-qa-formatted")
79
+ end_t = time.time()
80
+ st.success(f"Database loaded. | Time: {end_t - begin_t} sec")
81
  initial_input = "Tell me about Larkin"
82
 
83
 
 
102
  # Embed and store the first N supports for this demo
103
  with st.spinner("Loading, please be patient with us ... πŸ™"):
104
  L = len(dataset["train"]["questions"])
105
+ begin_t = time.time()
106
  collection.add(
107
  ids=[str(i) for i in range(0, L)], # IDs are just strings
108
  documents=dataset["train"]["questions"], # Enter questions here
109
  metadatas=[{"type": "support"} for _ in range(0, L)],
110
  )
111
+ end_t = time.time()
112
+ st.success(f"Add to VectorDB. | Time: {end_t - begin_t} sec")
113
 
114
 
115
  # React to user input
 
121
  st.session_state.messages.append({"role": "user", "content": prompt})
122
 
123
  question = prompt
124
+ begin_t = time.time()
125
  results = collection.query(query_texts=question, n_results=5)
126
+ end_t = time.time()
127
+ st.success(f"Query answser. | Time: {end_t - begin_t} sec")
128
  idx = results["ids"][0]
129
  idx = [int(i) for i in idx]
130
  ref = pd.DataFrame(
 
150
 
151
  if option == "YSA":
152
  try:
153
+ begin_t = time.time()
154
  llm_response = llama2_7b_ysa(question)
155
+ end_t = time.time()
156
+ st.success(f"Running LLM. | Time: {end_t - begin_t} sec")
157
  except:
158
  st.warning("Sorry, the inference endpoint is temporarily down. πŸ˜”")
159
  llm_response = "NA."
 
170
  # add ai judge as additional rating
171
  if run_ai_judge == "Yes":
172
  independent_ai_judge_score = []
173
+ begin_t = time.time()
174
  for i in range(final_ref.shape[0]):
175
  this_content = final_ref["answers"][i]
176
  if len(this_content) > 3:
 
184
 
185
  final_ref["ai_judge"] = independent_ai_judge_score
186
 
187
+ end_t = time.time()
188
+ st.success(f"Using AI Judge. | Time: {end_t - begin_t} sec")
189
+
190
  engineered_prompt = f"""
191
  Based on the context: {ref_from_db_search}
192
 
 
195
  Answer the question directly (don't say "based on the context, ...")
196
  """
197
 
198
+ begin_t = time.time()
199
  answer = call_chatgpt(engineered_prompt)
200
+ end_t = time.time()
201
+ st.success(f"Final API Call. | Time: {end_t - begin_t} sec")
202
  response = answer
203
 
204
  # Display assistant response in chat message container