高级用法的函数加入下拉列表

This commit is contained in:
w_xiaolizu
2023-05-16 11:06:10 +08:00
parent e505c95148
commit e6c4bf1881
3 changed files with 8 additions and 118 deletions

1
.gitignore vendored
View File

@ -151,3 +151,4 @@ crazy_functions/test_samples
request_llm/jittorllms
!prompt_users/.keep
prompt_users/*
.__test.py

View File

@ -187,8 +187,12 @@ class ChatBot(ChatBotFrame):
crazy_fns[k]["Button"] = gr.Button(k, variant=self.variant)
crazy_fns[k]["Button"].style(size="sm")
with gr.Accordion("更多函数插件/高级用法", open=False):
dropdown_fn_list = [k for k in crazy_fns.keys() if
not crazy_fns[k].get("AsButton", True)]
dropdown_fn_list = []
for k in crazy_fns.keys():
if not crazy_fns[k].get("AsButton", True):
dropdown_fn_list.append(k)
elif crazy_fns[k].get('AdvancedArgs', False):
dropdown_fn_list.append(k)
self.dropdown = gr.Dropdown(dropdown_fn_list, value=r"打开插件列表", label="").style(
container=False)
self.plugin_advanced_arg = gr.Textbox(show_label=True, label="高级参数输入区", visible=False,
@ -217,7 +221,7 @@ class ChatBot(ChatBotFrame):
# temp = gr.Markdown(self.description)
def draw_goals_auto(self):
with gr.Tab('Ai Prompt--未完成的作品--敬请期待---'):
with gr.Tab('Ai Prompt--未完成--敬请期待'):
with gr.Row():
self.ai_name = gr.Textbox(show_label=False, placeholder="给Ai一个名字").style(container=False)
with gr.Row():

115
test.py
View File

@ -1,115 +0,0 @@
#! .\venv\
# encoding: utf-8
# @Time : 2023/4/19
# @Author : Spike
# @Descr :
import gradio as gr
import func_box
class my_class():
def __init__(self):
self.numb = 0
def coun_up(self):
self.numb += 1
def set_obj(sts):
btn = sts['btn'].update(visible=False)
btn2 = sts['btn2'].update(visible=True)
sts['obj'] = my_class()
return sts, btn, btn2
def print_obj(sts):
print(sts)
print(sts['btn'], type(sts['btn']))
sts['obj'].coun_up()
print(sts['obj'].numb)
class ChatBotFrame:
def __init__(self):
self.cancel_handles = []
self.initial_prompt = "Serve me as a writing and programming assistant."
self.title_html = f"<h1 align=\"center\">ChatGPT For Tester"
self.description = """代码开源和更新[地址🚀](https://github.com/binary-husky/chatgpt_academic),感谢热情的[开发者们❤️](https://github.com/binary-husky/chatgpt_academic/graphs/contributors)"""
class ChatBot:
def __init__(self):
self.demo = gr.Blocks()
def draw_test(self):
with self.demo:
with gr.Tab('122121', id='add_') as self.tab1:
self.txt = gr.Textbox(label="Input", lines=2)
self.btn = gr.Button(value="Submit1")
self.pro_prompt_list = gr.Dataset(components=[gr.HTML(visible=False)], samples_per_page=10,label="Prompt usage frequency",
samples=[['None'],['None'],['None'],['None'],['None'],['None'],['None'],['None'],['None'],['None'],['None'],], type='index')
self.list_staus = gr.State(self.pro_prompt_list)
self.tab_state = gr.State(self.tab1)
self.btn.click(fn=self.on_button_click, inputs=[self.tab_state], outputs=[self.tab1])
self.demo.launch()
# Add a new input textbox when self.btn is clicked
def on_button_click(self, tab):
tab.children.append(gr.Button(value="Submit2"))
return tab
if __name__ == '__main__':
from flask import Flask, render_template
import gradio as gr
app = Flask(__name__)
# 第一个 Gradio 实例用于页面1
def greet(name):
return f"Hello, {name}!"
gr_interface1 = gr.Interface(fn=greet, inputs="text", outputs="text")
# 第二个 Gradio 实例用于页面2
def square(x):
return x * x
gr_interface2 = gr.Interface(fn=square, inputs="number", outputs="number")
@app.route('/')
def index():
return render_template('index.html')
@app.route('/page1')
def page1():
return gr_interface1.launch()
@app.route('/page2')
def page2():
return gr_interface2.launch()
if __name__ == '__main__':
app.run()