CobaltZvc commited on
Commit
d94e527
1 Parent(s): 4540266

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +62 -65
app.py CHANGED
@@ -24,6 +24,7 @@ from google.oauth2 import service_account
24
  from googleapiclient.discovery import build
25
  import wget
26
  import urllib.request
 
27
 
28
 
29
  def save_uploadedfile(uploadedfile):
@@ -38,6 +39,16 @@ stability_api = client.StabilityInference(
38
  # stable-diffusion-512-v2-1 stable-diffusion-768-v2-1 stable-inpainting-v1-0 stable-inpainting-512-v2-0
39
  )
40
 
 
 
 
 
 
 
 
 
 
 
41
  def search_internet(question):
42
  try:
43
  params = {
@@ -63,7 +74,7 @@ def search_internet(question):
63
  search = GoogleSearch(params)
64
  results = search.get_dict()
65
  organic_results = results["organic_results"]
66
-
67
 
68
  snippets = ""
69
  counter = 1
@@ -81,8 +92,11 @@ def search_internet(question):
81
  top_p=1,
82
  frequency_penalty=0,
83
  presence_penalty=0)
84
-
 
 
85
  string_temp = response.choices[0].text
 
86
  st.write(string_temp)
87
  st.write(snippets)
88
  except:
@@ -128,8 +142,11 @@ def search_internet(question):
128
  top_p=1,
129
  frequency_penalty=0,
130
  presence_penalty=0)
131
-
 
 
132
  string_temp = response.choices[0].text
 
133
  st.write(string_temp)
134
  st.write(snippets)
135
  except:
@@ -174,48 +191,18 @@ def search_internet(question):
174
  top_p=1,
175
  frequency_penalty=0,
176
  presence_penalty=0)
177
-
 
 
178
  string_temp = response.choices[0].text
 
179
  st.write(string_temp)
180
  st.write(snippets)
181
 
182
 
183
- # openai.api_key = ""
184
  openai.api_key = st.secrets["OPENAI_KEY"] #os.environ("OPENAI_KEY") #os.environ['OPENAI_KEY']
185
  date_time = str(datetime.now())
186
 
187
- # dictionary = st.secrets("GSHEET_KEY")
188
- # json_object = json.dumps(dictionary, indent=4)
189
-
190
- # def g_sheet_log(myinput, output):
191
- # SERVICE_ACCOUNT_FILE = 'gsheet.json'
192
-
193
- # credentials = service_account.Credentials.from_service_account_file(
194
- # filename=SERVICE_ACCOUNT_FILE
195
- # )
196
-
197
- # service_sheets = build('sheets', 'v4', credentials=credentials)
198
-
199
- # GOOGLE_SHEETS_ID = '16cM8lHm7n_X0ZVLgWfL5fcBhvKWIGO9LQz3zCl2Dn_8'
200
- # worksheet_name = 'Prompt_Logs!'
201
- # cell_range_insert = 'A:C'
202
-
203
- # values = (
204
- # (myinput, output, date_time),
205
- # )
206
-
207
- # value_range_body = {
208
- # 'majorDimension' : 'ROWS',
209
- # 'values' : values
210
- # }
211
-
212
- # service_sheets.spreadsheets().values().append(
213
- # spreadsheetId=GOOGLE_SHEETS_ID,
214
- # valueInputOption='USER_ENTERED',
215
- # range=worksheet_name + cell_range_insert,
216
- # body=value_range_body
217
- # ).execute()
218
-
219
  openai.api_key = st.secrets["OPENAI_KEY"]
220
 
221
  def openai_response(PROMPT):
@@ -255,15 +242,14 @@ Input_type = st.radio(
255
  )
256
 
257
  if Input_type == 'TEXT':
258
- # st.write('**You are now in Text input mode**')
259
  mytext = st.text_input('**Go on! Ask me anything:**')
260
  if st.button("SUBMIT"):
261
  question=mytext
262
  response = openai.Completion.create(
263
  model="text-davinci-003",
264
  prompt=f'''Your name is HyperBot and knowledge cutoff date is 2021-09, and you are not aware of any events after that time. if the
265
- Answer to following questions is not from your knowledge base or in case of queries like weather
266
- updates / stock updates / current news or people which requires you to have internet connection then print i don't have access to internet to answer your question,
267
  if question is related to image or painting or drawing generation then print ipython type output function gen_draw("detailed prompt of image to be generated")
268
  if the question is related to playing a song or video or music of a singer then print ipython type output function vid_tube("relevent search query")
269
  if the question is related to operating home appliances then print ipython type output function home_app(" action(ON/Off),appliance(TV,Geaser,Fridge,Lights,fans,AC)") .
@@ -285,13 +271,17 @@ if Input_type == 'TEXT':
285
  img2 = Image.open(wget.download(openai_response(prompt)))
286
  img2.show()
287
  rx = 'Image returned'
288
- # g_sheet_log(mytext, rx)
 
 
289
  except:
290
  urllib.request.urlretrieve(openai_response(prompt),"img_ret.png")
291
  img = Image.open("img_ret.png")
292
  img.show()
293
  rx = 'Image returned'
294
- # g_sheet_log(mytext, rx)
 
 
295
  except:
296
  # Set up our initial generation parameters.
297
  answers = stability_api.generate(
@@ -311,8 +301,6 @@ if Input_type == 'TEXT':
311
  # (Available Samplers: ddim, plms, k_euler, k_euler_ancestral, k_heun, k_dpm_2, k_dpm_2_ancestral, k_dpmpp_2s_ancestral, k_lms, k_dpmpp_2m)
312
  )
313
 
314
- # Set up our warning to print to the console if the adult content classifier is tripped.
315
- # If adult content classifier is not tripped, save generated images.
316
  for resp in answers:
317
  for artifact in resp.artifacts:
318
  if artifact.finish_reason == generation.FILTER:
@@ -325,26 +313,8 @@ if Input_type == 'TEXT':
325
  img.save(str(artifact.seed)+ ".png") # Save our generated images with their seed number as the filename.
326
  rx = 'Image returned'
327
  # g_sheet_log(mytext, rx)
 
328
 
329
- # except:
330
- # st.write('image is being generated please wait...')
331
- # def extract_image_description(input_string):
332
- # return input_string.split('gen_draw("')[1].split('")')[0]
333
- # prompt=extract_image_description(string_temp)
334
- # # model_id = "CompVis/stable-diffusion-v1-4"
335
- # model_id='runwayml/stable-diffusion-v1-5'
336
- # device = "cuda"
337
-
338
-
339
- # pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
340
- # pipe = pipe.to(device)
341
-
342
- # # prompt = "a photo of an astronaut riding a horse on mars"
343
- # image = pipe(prompt).images[0]
344
-
345
- # image.save("astronaut_rides_horse.png")
346
- # st.image(image)
347
- # # image
348
 
349
  elif ("vid_tube" in string_temp):
350
  s = Search(mytext)
@@ -358,19 +328,26 @@ if Input_type == 'TEXT':
358
  OurURL = YoutubeURL + video_id
359
  st.write(OurURL)
360
  st_player(OurURL)
 
 
361
  ry = 'Youtube link and video returned'
362
  # g_sheet_log(mytext, ry)
 
363
 
364
  elif ("don't" in string_temp or "internet" in string_temp):
365
  st.write('searching internet ')
366
  search_internet(question)
367
- rz = 'Internet result returned'
368
  # g_sheet_log(mytext, string_temp)
 
369
 
370
  else:
371
  st.write(string_temp)
372
  # g_sheet_log(mytext, string_temp)
373
-
 
 
 
374
  elif Input_type == 'SPEECH':
375
  option_speech = st.selectbox(
376
  'Choose from below: (Options for Transcription)',
@@ -458,12 +435,22 @@ elif Input_type == 'SPEECH':
458
  OurURL = YoutubeURL + video_id
459
  st.write(OurURL)
460
  st_player(OurURL)
 
 
 
 
 
 
461
 
462
  elif ("don't" in string_temp or "internet" in string_temp ):
463
  st.write('*searching internet*')
464
  search_internet(question)
465
  else:
466
  st.write(string_temp)
 
 
 
 
467
 
468
  elif option_speech == 'OpenAI Whisper (Upload audio file)':
469
  audio_file = st.file_uploader("Upload Audio file",type=['wav', 'mp3'])
@@ -523,11 +510,21 @@ elif Input_type == 'SPEECH':
523
  OurURL = YoutubeURL + video_id
524
  st.write(OurURL)
525
  st_player(OurURL)
 
 
 
 
 
526
 
527
  elif ("don't" in string_temp or "internet" in string_temp ):
528
  st.write('*searching internet*')
529
  search_internet(question)
530
  else:
531
  st.write(string_temp)
 
 
 
 
 
532
  else:
533
  pass
 
24
  from googleapiclient.discovery import build
25
  import wget
26
  import urllib.request
27
+ import csv
28
 
29
 
30
  def save_uploadedfile(uploadedfile):
 
39
  # stable-diffusion-512-v2-1 stable-diffusion-768-v2-1 stable-inpainting-v1-0 stable-inpainting-512-v2-0
40
  )
41
 
42
+ header = ["sl. no.", "Input Prompt", "Output", "Date_time"]
43
+
44
+ def csv_logs(mytext, result, date_time):
45
+ with open("logs.csv", "r") as file:
46
+ sl_no = sum(1 for _ in csv.reader(file))
47
+
48
+ with open("logs.csv", "a", newline="") as file:
49
+ writer = csv.writer(file)
50
+ writer.writerow([sl_no, mytext, result, date_time])
51
+
52
  def search_internet(question):
53
  try:
54
  params = {
 
74
  search = GoogleSearch(params)
75
  results = search.get_dict()
76
  organic_results = results["organic_results"]
77
+
78
 
79
  snippets = ""
80
  counter = 1
 
92
  top_p=1,
93
  frequency_penalty=0,
94
  presence_penalty=0)
95
+
96
+ now = datetime.datetime.now()
97
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
98
  string_temp = response.choices[0].text
99
+ csv_logs(question, string_temp, date_time)
100
  st.write(string_temp)
101
  st.write(snippets)
102
  except:
 
142
  top_p=1,
143
  frequency_penalty=0,
144
  presence_penalty=0)
145
+
146
+ now = datetime.datetime.now()
147
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
148
  string_temp = response.choices[0].text
149
+ csv_logs(question, string_temp, date_time)
150
  st.write(string_temp)
151
  st.write(snippets)
152
  except:
 
191
  top_p=1,
192
  frequency_penalty=0,
193
  presence_penalty=0)
194
+
195
+ now = datetime.datetime.now()
196
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
197
  string_temp = response.choices[0].text
198
+ csv_logs(question, string_temp, date_time)
199
  st.write(string_temp)
200
  st.write(snippets)
201
 
202
 
 
203
  openai.api_key = st.secrets["OPENAI_KEY"] #os.environ("OPENAI_KEY") #os.environ['OPENAI_KEY']
204
  date_time = str(datetime.now())
205
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  openai.api_key = st.secrets["OPENAI_KEY"]
207
 
208
  def openai_response(PROMPT):
 
242
  )
243
 
244
  if Input_type == 'TEXT':
 
245
  mytext = st.text_input('**Go on! Ask me anything:**')
246
  if st.button("SUBMIT"):
247
  question=mytext
248
  response = openai.Completion.create(
249
  model="text-davinci-003",
250
  prompt=f'''Your name is HyperBot and knowledge cutoff date is 2021-09, and you are not aware of any events after that time. if the
251
+ Answer to following questions is not from your knowledge base or in case of queries like date, time, weather
252
+ updates / stock updates / current affairs / news or people which requires you to have internet connection then print i don't have access to internet to answer your question,
253
  if question is related to image or painting or drawing generation then print ipython type output function gen_draw("detailed prompt of image to be generated")
254
  if the question is related to playing a song or video or music of a singer then print ipython type output function vid_tube("relevent search query")
255
  if the question is related to operating home appliances then print ipython type output function home_app(" action(ON/Off),appliance(TV,Geaser,Fridge,Lights,fans,AC)") .
 
271
  img2 = Image.open(wget.download(openai_response(prompt)))
272
  img2.show()
273
  rx = 'Image returned'
274
+ now = datetime.datetime.now()
275
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
276
+ csv_logs(mytext, rx, date_time)
277
  except:
278
  urllib.request.urlretrieve(openai_response(prompt),"img_ret.png")
279
  img = Image.open("img_ret.png")
280
  img.show()
281
  rx = 'Image returned'
282
+ now = datetime.datetime.now()
283
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
284
+ csv_logs(mytext, rx, date_time)
285
  except:
286
  # Set up our initial generation parameters.
287
  answers = stability_api.generate(
 
301
  # (Available Samplers: ddim, plms, k_euler, k_euler_ancestral, k_heun, k_dpm_2, k_dpm_2_ancestral, k_dpmpp_2s_ancestral, k_lms, k_dpmpp_2m)
302
  )
303
 
 
 
304
  for resp in answers:
305
  for artifact in resp.artifacts:
306
  if artifact.finish_reason == generation.FILTER:
 
313
  img.save(str(artifact.seed)+ ".png") # Save our generated images with their seed number as the filename.
314
  rx = 'Image returned'
315
  # g_sheet_log(mytext, rx)
316
+ csv_logs(mytext, rx, date_time)
317
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
318
 
319
  elif ("vid_tube" in string_temp):
320
  s = Search(mytext)
 
328
  OurURL = YoutubeURL + video_id
329
  st.write(OurURL)
330
  st_player(OurURL)
331
+ now = datetime.datetime.now()
332
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
333
  ry = 'Youtube link and video returned'
334
  # g_sheet_log(mytext, ry)
335
+ csv_logs(mytext, ry, date_time)
336
 
337
  elif ("don't" in string_temp or "internet" in string_temp):
338
  st.write('searching internet ')
339
  search_internet(question)
340
+ # rz = 'Internet result returned'
341
  # g_sheet_log(mytext, string_temp)
342
+ # csv_logs(mytext, rz, date_time)
343
 
344
  else:
345
  st.write(string_temp)
346
  # g_sheet_log(mytext, string_temp)
347
+ now = datetime.datetime.now()
348
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
349
+ csv_logs(mytext, string_temp, date_time)
350
+
351
  elif Input_type == 'SPEECH':
352
  option_speech = st.selectbox(
353
  'Choose from below: (Options for Transcription)',
 
435
  OurURL = YoutubeURL + video_id
436
  st.write(OurURL)
437
  st_player(OurURL)
438
+ now = datetime.datetime.now()
439
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
440
+ ry = 'Youtube link and video returned'
441
+ # g_sheet_log(mytext, ry)
442
+ csv_logs(mytext, ry, date_time)
443
+
444
 
445
  elif ("don't" in string_temp or "internet" in string_temp ):
446
  st.write('*searching internet*')
447
  search_internet(question)
448
  else:
449
  st.write(string_temp)
450
+ now = datetime.datetime.now()
451
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
452
+ csv_logs(mytext, string_temp, date_time)
453
+
454
 
455
  elif option_speech == 'OpenAI Whisper (Upload audio file)':
456
  audio_file = st.file_uploader("Upload Audio file",type=['wav', 'mp3'])
 
510
  OurURL = YoutubeURL + video_id
511
  st.write(OurURL)
512
  st_player(OurURL)
513
+ now = datetime.datetime.now()
514
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
515
+ ry = 'Youtube link and video returned'
516
+ # g_sheet_log(mytext, ry)
517
+ csv_logs(mytext, ry, date_time)
518
 
519
  elif ("don't" in string_temp or "internet" in string_temp ):
520
  st.write('*searching internet*')
521
  search_internet(question)
522
  else:
523
  st.write(string_temp)
524
+ # g_sheet_log(mytext, ry)
525
+ now = datetime.datetime.now()
526
+ date_time = now.strftime("%Y-%m-%d %H:%M:%S")
527
+ csv_logs(mytext, string_temp, date_time)
528
+
529
  else:
530
  pass