Niki Zhang commited on
Commit
bbaeb48
·
verified ·
1 Parent(s): 89ccdb3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -31
app.py CHANGED
@@ -1721,18 +1721,12 @@ async def texttospeech(text, language,gender='female'):
1721
  print(f"Error in texttospeech: {e}")
1722
  return None
1723
 
1724
- # give the reason of recommendation
1725
- async def item_associate(new_crop,openai_api_key,language,autoplay,length,log_state,sort_score,narritive,state,recommend_type,evt: gr.SelectData):
1726
- rec_path=evt._data['value']['image']['path']
1727
- if recommend_type=="Reasons":
1728
  persona=naritive_mapping[narritive]
1729
- index="Item Recommendation Picture "+ str(evt.index)
1730
- print("rec_path",rec_path)
1731
-
1732
  prompt=recommendation_prompt[0][persona].format(language=language,length=length)
1733
-
1734
- image_paths=[new_crop,rec_path]
1735
-
1736
  result=get_gpt_response(openai_api_key, image_paths, prompt)
1737
  print("recommend result",result)
1738
  state += [(None, f"{result}")]
@@ -1746,22 +1740,15 @@ async def item_associate(new_crop,openai_api_key,language,autoplay,length,log_st
1746
  audio_output=None
1747
  if autoplay:
1748
  audio_output = await texttospeech(read_info, language)
1749
- return state,state,audio_output,log_state,index,gr.update(value=[]),rec_path
1750
- return state,state,None,log_state,None,gr.update(value=[]),rec_path
1751
-
1752
-
1753
- async def style_associate(image_path,openai_api_key,language,autoplay,length,log_state,sort_score,narritive,state,artist,recommend_type,evt: gr.SelectData):
1754
- rec_path=evt._data['value']['image']['path']
1755
- if recommend_type=="Reasons":
1756
  persona=naritive_mapping[narritive]
1757
 
1758
- index="Style Recommendation Picture "+str(evt.index)
1759
- print("rec_path",rec_path)
1760
  if persona==1:
1761
  prompt=recommendation_prompt[1][persona].format(language=language,length=length,artist=artist[8:])
1762
  else:
1763
  prompt=recommendation_prompt[1][persona].format(language=language,length=length)
1764
- image_paths=[image_path,rec_path]
1765
  result=get_gpt_response(openai_api_key, image_paths, prompt )
1766
  print("recommend result",result)
1767
  state += [(None, f"{result}")]
@@ -1775,8 +1762,18 @@ async def style_associate(image_path,openai_api_key,language,autoplay,length,log
1775
  audio_output=None
1776
  if autoplay:
1777
  audio_output = await texttospeech(read_info, language)
1778
- return state,state,audio_output,log_state,index,gr.update(value=[]),rec_path
1779
- return state,state,None,log_state,None,gr.update(value=[]),rec_path
 
 
 
 
 
 
 
 
 
 
1780
 
1781
 
1782
  def change_naritive(session_type,image_input, state, click_state, paragraph, origin_image,narritive,task_instruct,gallery_output,style_gallery_result,reco_reasons,language="English"):
@@ -1920,6 +1917,10 @@ def create_ui():
1920
  image_path=gr.State('')
1921
  pic_index=gr.State(None)
1922
  recomended_state=gr.State([])
 
 
 
 
1923
 
1924
 
1925
 
@@ -2060,7 +2061,7 @@ def create_ui():
2060
  # cap_everything_button = gr.Button(value="Caption Everything in a Paragraph", interactive=True)
2061
  with gr.Column(visible=False) as modules_not_need_gpt2:
2062
  with gr.Blocks():
2063
- chatbot = gr.Chatbot(label="Chatbox", elem_classes="chatbot",likeable=True,height=600,bubble_full_width=False)
2064
  with gr.Column() as modules_need_gpt3:
2065
  chat_input = gr.MultimodalTextbox(interactive=True, file_types=[".txt"], placeholder="Message EyeSee...", show_label=False)
2066
  with gr.Row():
@@ -2346,20 +2347,25 @@ def create_ui():
2346
 
2347
  gallery_result.select(
2348
  item_associate,
2349
- inputs=[new_crop_save_path,openai_api_key,language,auto_play,length,log_state,sort_rec,naritive,recomended_state,recommend_type],
2350
- outputs=[recommend_bot,recomended_state,output_audio,log_state,pic_index,recommend_score,selected_image],
2351
 
2352
 
2353
  )
2354
 
2355
  style_gallery_result.select(
2356
  style_associate,
2357
- inputs=[image_path,openai_api_key,language,auto_play,length,log_state,sort_rec,naritive,recomended_state,artist_label,recommend_type],
2358
- outputs=[recommend_bot,recomended_state,output_audio,log_state,pic_index,recommend_score,selected_image],
2359
 
2360
 
2361
  )
2362
 
 
 
 
 
 
2363
  ###############################################################################
2364
  ############# above part is for text to image #############
2365
  ###############################################################################
@@ -2701,10 +2707,7 @@ def create_ui():
2701
  print("reason")
2702
 
2703
 
2704
- selected_image.select(
2705
- print_reason,
2706
- inputs=[],
2707
- outputs=[])
2708
 
2709
 
2710
 
 
1721
  print(f"Error in texttospeech: {e}")
1722
  return None
1723
 
1724
+ async def get_recommendation(new_crop,image_path,openai_api_key,language,autoplay,length,log_state,sort_score,narritive,state,recommend_type,artist,recomended_path):
1725
+
1726
+ if recommend_type=="Item":
 
1727
  persona=naritive_mapping[narritive]
 
 
 
1728
  prompt=recommendation_prompt[0][persona].format(language=language,length=length)
1729
+ image_paths=[new_crop,recomended_path]
 
 
1730
  result=get_gpt_response(openai_api_key, image_paths, prompt)
1731
  print("recommend result",result)
1732
  state += [(None, f"{result}")]
 
1740
  audio_output=None
1741
  if autoplay:
1742
  audio_output = await texttospeech(read_info, language)
1743
+ return state,state,audio_output,log_state,index,gr.update(value=[])
1744
+ else:
 
 
 
 
 
1745
  persona=naritive_mapping[narritive]
1746
 
 
 
1747
  if persona==1:
1748
  prompt=recommendation_prompt[1][persona].format(language=language,length=length,artist=artist[8:])
1749
  else:
1750
  prompt=recommendation_prompt[1][persona].format(language=language,length=length)
1751
+ image_paths=[image_path,recomended_path]
1752
  result=get_gpt_response(openai_api_key, image_paths, prompt )
1753
  print("recommend result",result)
1754
  state += [(None, f"{result}")]
 
1762
  audio_output=None
1763
  if autoplay:
1764
  audio_output = await texttospeech(read_info, language)
1765
+ return state,state,audio_output,log_state,index,gr.update(value=[])
1766
+
1767
+
1768
+ # give the reason of recommendation
1769
+ async def item_associate(new_crop,openai_api_key,language,autoplay,length,log_state,sort_score,narritive,state,evt: gr.SelectData):
1770
+ rec_path=evt._data['value']['image']['path']
1771
+ return state,state,None,log_state,None,gr.update(value=[]),rec_path,rec_path,"Item"
1772
+
1773
+
1774
+ async def style_associate(image_path,openai_api_key,language,autoplay,length,log_state,sort_score,narritive,state,artist,evt: gr.SelectData):
1775
+ rec_path=evt._data['value']['image']['path']
1776
+ return state,state,None,log_state,None,gr.update(value=[]),rec_path, rec_path,"Style"
1777
 
1778
 
1779
  def change_naritive(session_type,image_input, state, click_state, paragraph, origin_image,narritive,task_instruct,gallery_output,style_gallery_result,reco_reasons,language="English"):
 
1917
  image_path=gr.State('')
1918
  pic_index=gr.State(None)
1919
  recomended_state=gr.State([])
1920
+
1921
+ recomended_path=gr.State(None)
1922
+ recomended_type=gr.State(None)
1923
+
1924
 
1925
 
1926
 
 
2061
  # cap_everything_button = gr.Button(value="Caption Everything in a Paragraph", interactive=True)
2062
  with gr.Column(visible=False) as modules_not_need_gpt2:
2063
  with gr.Blocks():
2064
+ chatbot = gr.Chatbot(label="Chatbox", elem_classes="chatbot",likeable=True,height=700,bubble_full_width=False)
2065
  with gr.Column() as modules_need_gpt3:
2066
  chat_input = gr.MultimodalTextbox(interactive=True, file_types=[".txt"], placeholder="Message EyeSee...", show_label=False)
2067
  with gr.Row():
 
2347
 
2348
  gallery_result.select(
2349
  item_associate,
2350
+ inputs=[new_crop_save_path,openai_api_key,language,auto_play,length,log_state,sort_rec,naritive,recomended_state],
2351
+ outputs=[recommend_bot,recomended_state,output_audio,log_state,pic_index,recommend_score,selected_image,recomended_path, recomended_type],
2352
 
2353
 
2354
  )
2355
 
2356
  style_gallery_result.select(
2357
  style_associate,
2358
+ inputs=[image_path,openai_api_key,language,auto_play,length,log_state,sort_rec,naritive,recomended_state,artist_label],
2359
+ outputs=[recommend_bot,recomended_state,output_audio,log_state,pic_index,recommend_score,selected_image,recomended_path,recomended_type],
2360
 
2361
 
2362
  )
2363
 
2364
+ selected_image.select(
2365
+ get_recommendation,
2366
+ inputs=[new_crop_save_path,image_path, openai_api_key,language,auto_play,length,log_state,sort_rec,naritive,recomended_state,recomended_type,artist_label,recomended_path],
2367
+ outputs=[recommend_bot,recomended_state,output_audio,log_state,pic_index,recommend_score])
2368
+
2369
  ###############################################################################
2370
  ############# above part is for text to image #############
2371
  ###############################################################################
 
2707
  print("reason")
2708
 
2709
 
2710
+
 
 
 
2711
 
2712
 
2713