Satoc commited on
Commit
0797974
·
1 Parent(s): 716d761
Files changed (1) hide show
  1. app.py +14 -5
app.py CHANGED
@@ -42,12 +42,18 @@ def filter_rows_by_grade(original_df, grade):
42
  df_filtered = original_df[original_df['AgentGrade'] == grade]
43
  return df_filtered, df_filtered
44
 
45
- # CSVとして保存しダウンロードする関数
46
  def download_filtered_csv(df):
47
  file_path = "filtered_data.csv"
48
  df.to_csv(file_path, index=False)
49
  return file_path
50
 
 
 
 
 
 
 
51
  # Gradioインターフェースの作成
52
  with gr.Blocks() as demo:
53
  gr.Markdown("## 質問を入力して、患者さんが参加可能な臨床治験の情報を収集。参加可能か否かを判断根拠も含めて提示します。結果はcsvとしてダウンロード可能です")
@@ -58,16 +64,19 @@ with gr.Blocks() as demo:
58
 
59
  generate_button = gr.Button("日本で行われている患者さんの癌腫の臨床治験を全て取得する")
60
  yes_button = gr.Button("AI Agentが患者さんが参加可能であると判断した臨床治験のみを表示")
61
- no_button = gr.Button("I Agentが患者さんが参加不可であると判断した臨床治験のみを表示")
62
  unclear_button = gr.Button("AI Agentが与えられた情報だけでは判断不可能とした臨床治験のみを表示")
63
- download_button = gr.Button("フィルタ結果をCSVとしてダウンロード")
64
- download_output = gr.File(label="CSVダウンロード")
 
 
65
 
66
  generate_button.click(fn=generate_dataframe_from_question, inputs=question_input, outputs=[dataframe_output, original_df])
67
  yes_button.click(fn=filter_rows_by_grade, inputs=[original_df, gr.State("yes")], outputs=[dataframe_output, filtered_df])
68
  no_button.click(fn=filter_rows_by_grade, inputs=[original_df, gr.State("no")], outputs=[dataframe_output, filtered_df])
69
  unclear_button.click(fn=filter_rows_by_grade, inputs=[original_df, gr.State("unclear")], outputs=[dataframe_output, filtered_df])
70
- download_button.click(fn=download_filtered_csv, inputs=filtered_df, outputs=download_output)
 
71
 
72
  if __name__ == "__main__":
73
  demo.launch()
 
42
  df_filtered = original_df[original_df['AgentGrade'] == grade]
43
  return df_filtered, df_filtered
44
 
45
+ # フィルタ結果をCSVとして保存しダウンロードする関数
46
  def download_filtered_csv(df):
47
  file_path = "filtered_data.csv"
48
  df.to_csv(file_path, index=False)
49
  return file_path
50
 
51
+ # 全体結果をCSVとして保存しダウンロードする関数
52
+ def download_full_csv(df):
53
+ file_path = "full_data.csv"
54
+ df.to_csv(file_path, index=False)
55
+ return file_path
56
+
57
  # Gradioインターフェースの作成
58
  with gr.Blocks() as demo:
59
  gr.Markdown("## 質問を入力して、患者さんが参加可能な臨床治験の情報を収集。参加可能か否かを判断根拠も含めて提示します。結果はcsvとしてダウンロード可能です")
 
64
 
65
  generate_button = gr.Button("日本で行われている患者さんの癌腫の臨床治験を全て取得する")
66
  yes_button = gr.Button("AI Agentが患者さんが参加可能であると判断した臨床治験のみを表示")
67
+ no_button = gr.Button("AI Agentが患者さんが参加不可であると判断した臨床治験のみを表示")
68
  unclear_button = gr.Button("AI Agentが与えられた情報だけでは判断不可能とした臨床治験のみを表示")
69
+ download_filtered_button = gr.Button("フィルタ結果をCSVとしてダウンロード")
70
+ download_full_button = gr.Button("全体結果をCSVとしてダウンロード")
71
+ download_filtered_output = gr.File(label="フィルタ結果のCSVダウンロード")
72
+ download_full_output = gr.File(label="全体結果のCSVダウンロード")
73
 
74
  generate_button.click(fn=generate_dataframe_from_question, inputs=question_input, outputs=[dataframe_output, original_df])
75
  yes_button.click(fn=filter_rows_by_grade, inputs=[original_df, gr.State("yes")], outputs=[dataframe_output, filtered_df])
76
  no_button.click(fn=filter_rows_by_grade, inputs=[original_df, gr.State("no")], outputs=[dataframe_output, filtered_df])
77
  unclear_button.click(fn=filter_rows_by_grade, inputs=[original_df, gr.State("unclear")], outputs=[dataframe_output, filtered_df])
78
+ download_filtered_button.click(fn=download_filtered_csv, inputs=filtered_df, outputs=download_filtered_output)
79
+ download_full_button.click(fn=download_full_csv, inputs=original_df, outputs=download_full_output)
80
 
81
  if __name__ == "__main__":
82
  demo.launch()