|
|
|
|
|
import gradio as gr |
|
|
|
|
|
|
|
|
|
my_api_key = "" |
|
|
|
authflag = False |
|
|
|
|
|
|
|
with gr.Blocks() as demo: |
|
history = gr.inputs.Hidden() |
|
token_count = gr.inputs.Hidden() |
|
promptTemplates = gr.inputs.Hidden() |
|
TRUECOMSTANT = gr.inputs.Hidden() |
|
FALSECONSTANT = gr.inputs.Hidden() |
|
topic = gr.inputs.Hidden() |
|
|
|
gradio_interface = gr.Interface( |
|
predict, |
|
[ |
|
gr.inputs.Textbox( |
|
show_label=True, |
|
label="API-Key", |
|
placeholder=f"在这里输入你的OpenAI API-key...", |
|
value=my_api_key, |
|
type="password", |
|
visible=not HIDE_MY_KEY, |
|
), |
|
gr.inputs.Textbox( |
|
show_label=True, label="System prompt", value=initial_prompt |
|
), |
|
history, |
|
gr.inputs.Textbox( |
|
show_label=False, placeholder="在这里输入", label="User Input" |
|
), |
|
gr.inputs.Hidden(), |
|
token_count, |
|
gr.inputs.Slider( |
|
label="Top-p (nucleus sampling)", min_val=0.0, max_val=1.0, step=0.05 |
|
), |
|
gr.inputs.Slider( |
|
label="Temperature", min_val=0.0, max_val=5.0, step=0.1 |
|
), |
|
gr.inputs.Checkbox(label="实时传输回答", default=True), |
|
gr.inputs.Dropdown( |
|
label="选择模型", |
|
choices=MODELS, |
|
default=MODELS[0], |
|
allow_multiple=False, |
|
), |
|
], |
|
[ |
|
gr.outputs.Chat( |
|
label="Conversation", |
|
label_icon="💬", |
|
outputs=["text"], |
|
max_length=500, |
|
header_show_all=True, |
|
header_show_user_name=True, |
|
), |
|
gr.outputs.Textbox(label="Status", default="Status: Ready"), |
|
gr.outputs.Button(label="🧹 新的对话"), |
|
gr.outputs.Button(label="🔄 重新生成"), |
|
gr.outputs.Button(label="🗑️ 删除最近一条对话"), |
|
gr.outputs.Button(label="♻️ 总结对话"), |
|
gr.outputs.Button(label="💾 保存对话"), |
|
gr.outputs.Dropdown( |
|
label="从列表中加载对话", |
|
choices=get_history_names(plain=True), |
|
default=get_history_names(plain=True)[0], |
|
allow_multiple=False, |
|
), |
|
gr.outputs.Slider( |
|
label="Top-p (nucleus sampling)", |
|
min_val=0.0, |
|
max_val=1.0, |
|
step=0.05, |
|
default=1.0, |
|
), |
|
gr.outputs.Slider(label="Temperature", min_val=0.0, max_val=5.0, step=0.1), |
|
gr.outputs.Markdown( |
|
label="最新生成到的token数量", |
|
default="待定", |
|
), |
|
gr.outputs.Dropdown( |
|
label="选择Prompt模板集合文件", |
|
choices=get_template_names(plain=True), |
|
default=get_template_names(plain=True)[0], |
|
allow_multiple=False, |
|
), |
|
gr.outputs.Dropdown( |
|
label="从Prompt模板中加载", |
|
choices=load_template(get_template_names(plain=True)[0], mode=1), |
|
default=0, |
|
allow_multiple=False, |
|
), |
|
gr.outputs.Textbox(label="System prompt", default=initial_prompt), |
|
gr.outputs.Textbox( |
|
label="设置保存文件名", default="对话历史记录", allow_copy=True |
|
), |
|
], |
|
title="川虎ChatGPT 🚀", |
|
example=[ |
|
"请输入文本...", |
|
"你好啊", |
|
"", |
|
"", |
|
"", |
|
"", |
|
1.0, |
|
1.0, |
|
True, |
|
"gpt3", |
|
], |
|
theme="compact", |
|
) |
|
|
|
if __name__ == "__main__": |
|
gradio_interface.launch() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|