video_bot_999 / app.py
youngtsai's picture
inti
11e4790
raw
history blame
No virus
1.18 kB
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()