Update app.py
Browse files
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 |
-
#
|
15 |
-
|
16 |
-
for _, row in df.iterrows():
|
17 |
-
id = row['id']
|
18 |
-
input_text = row['input']
|
19 |
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
-
|
|
|
24 |
|
25 |
-
# 出力をCSVファイルに書き込む
|
26 |
-
output_df = pd.DataFrame(outputs)
|
27 |
with tempfile.NamedTemporaryFile(delete=False, suffix='.csv') as tmp:
|
28 |
-
|
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 |
# ファイル名を変更
|