yosuke-i commited on
Commit
f44c027
1 Parent(s): c3dfcae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -11
app.py CHANGED
@@ -1,5 +1,6 @@
1
  import gradio as gr
2
  import pandas as pd
 
3
  import tempfile
4
  import os
5
  import requests
@@ -11,21 +12,24 @@ def process_csv(csv_file):
11
  # CSVファイルを読み込む
12
  df = pd.read_csv(csv_file.name)
13
 
14
- # ChatGPT APIに入力を送信し、出力を取得
15
- outputs = []
16
- for _, row in df.iterrows():
17
- id = row['id']
18
- input_text = row['input']
19
 
20
- # ChatGPT APIから応答を取得
21
- output_text = get_chatgpt_response(input_text)
 
 
 
 
 
 
 
22
 
23
- outputs.append({'id': id, 'output': output_text})
 
24
 
25
- # 出力をCSVファイルに書き込む
26
- output_df = pd.DataFrame(outputs)
27
  with tempfile.NamedTemporaryFile(delete=False, suffix='.csv') as tmp:
28
- output_df.to_csv(tmp.name, index=False)
29
  output_path = tmp.name
30
 
31
  # ファイル名を変更
 
1
  import gradio as gr
2
  import pandas as pd
3
+ import itertools
4
  import tempfile
5
  import os
6
  import requests
 
12
  # CSVファイルを読み込む
13
  df = pd.read_csv(csv_file.name)
14
 
15
+ # 新しいDataFrameを作成
16
+ new_df = pd.DataFrame(columns=['id', 'prompt', 'quantity', 'output'])
 
 
 
17
 
18
+ # 変数の配列からすべての組み合わせを生成し、新しいpromptを作成
19
+ for index, row in df.iterrows():
20
+ variables_combinations = list(itertools.product(*[row[f'変数{i}(var{i})'].split(',') for i in range(1, 6)]))
21
+ for combination in variables_combinations:
22
+ # プロンプトテンプレートに変数の値を埋め込む
23
+ formatted_prompt = row['プロンプト'].format(var1=combination[0], var2=combination[1], var3=combination[2], var4=combination[3], var5=combination[4])
24
+ new_prompt = "以下の要件で問題を作ってください。" + formatted_prompt
25
+ # 新しい行をDataFrameに追加
26
+ new_df = new_df.append({'id': row['id'], 'prompt': new_prompt, 'quantity': row['作成問題数'], 'output': ''}, ignore_index=True)
27
 
28
+ # 新しいDataFrameのprompt列をChatGPTに送信し、応答をoutput列に保存
29
+ new_df['output'] = new_df['prompt'].apply(chatgpt_api)
30
 
 
 
31
  with tempfile.NamedTemporaryFile(delete=False, suffix='.csv') as tmp:
32
+ new_df.to_csv(tmp.name, index=False)
33
  output_path = tmp.name
34
 
35
  # ファイル名を変更