#! .\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"
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()