risdom / app.py
yosuke-i's picture
Update app.py
0ba4622 verified
raw
history blame
No virus
1.41 kB
import gradio as gr
import pandas as pd
import tempfile
import os
import requests
from chatgpt_api import get_chatgpt_response
def process_csv(csv_file):
# CSVファイルを読み込む
df = pd.read_csv(csv_file.name)
# ChatGPT APIに入力を送信し、出力を取得
outputs = []
for _, row in df.iterrows():
id = row['id']
input_text = row['input']
# ChatGPT APIから応答を取得
output_text = get_chatgpt_response(input_text)
outputs.append({'id': id, 'output': output_text})
# 出力をCSVファイルに書き込む
output_df = pd.DataFrame(outputs)
with tempfile.NamedTemporaryFile(delete=False, suffix='.csv') as tmp:
output_df.to_csv(tmp.name, index=False)
output_path = tmp.name
# ファイル名を変更
new_path = os.path.join(os.path.dirname(output_path), "output.csv")
os.rename(output_path, new_path)
return new_path
interface = gr.Interface(
fn=process_csv,
inputs=[
gr.File(label="CSVファイルをアップロード", file_count="single"),
gr.File(
source="open",
label="サンプルCSVファイル",
file_count="single",
file_name="sample.csv",
),
],
outputs=gr.File(label="ダウンロード", file_count="singular"),
allow_flagging="never",
)
interface.launch(share=True)