Spaces:
Sleeping
Sleeping
File size: 1,184 Bytes
11e4790 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
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()
|