import gradio as gr import pandas as pd from openai import OpenAI import os PASSWORD = os.environ['PASSWORD'] OPEN_AI_KEY = os.environ['OPEN_AI_KEY'] def process_file(file_path, question): client = OpenAI(api_key=OPEN_AI_KEY) df = pd.read_csv(file_path) if file_path.endswith('.csv') else pd.read_excel(file_path) df_string = df.to_string() # 初始化對話 sys_content = f"你是一個專業的資料分析師,請解讀這份資料" prompt = df_string + "\nQ: " + question messages = [ {"role": "system", "content": sys_content}, {"role": "user", "content": prompt} ] print("=====messages=====") print(messages) print("=====messages=====") request_payload = { "model": "gpt-4-1106-preview", "messages": messages, "max_tokens": 2046, } response = client.chat.completions.create(**request_payload) print(response) response_text = response.choices[0].message.content.strip() return response_text iface = gr.Interface( fn=process_file, inputs=[gr.inputs.File(type='file'), gr.inputs.Textbox(label="Your Question")], outputs="text" ) iface.launch()