|
import gradio as gr |
|
from revChatGPT.V1 import Chatbot |
|
|
|
email = None |
|
password = None |
|
access_token = None |
|
session_token = None |
|
|
|
def configure_chatbot(Email, Password): |
|
config = {} |
|
config.update({"email": Email, |
|
"password": Password}) |
|
|
|
global chatbot |
|
chatbot = Chatbot(config=config) |
|
|
|
|
|
|
|
def ask_bot(prompt): |
|
message = "" |
|
for data in chatbot.ask(prompt): |
|
message = data["message"] |
|
return message |
|
|
|
def chatgpt_clone(inputs, history): |
|
history = history or [] |
|
output = ask_bot(inputs) |
|
history.append((inputs, output)) |
|
return history, history |
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("""<h2><center>这是一个代理,用于实现免翻</center></h2> """) |
|
gr.Markdown("""<h2><center>小圈自用即可,能用不必谢我</center></h2> """) |
|
gr.Markdown("""<h2><center>用爱发电甚难,不要随便乱传</center></h2> """) |
|
|
|
if not email or password: |
|
gr.Markdown("""<h2>请使用openAI账户登录</h2>""") |
|
with gr.Row(): |
|
email = gr.Textbox(placeholder="请输入openAI的邮箱地址") |
|
with gr.Row(): |
|
password = gr.Textbox(placeholder="请输入openAI的登录密码") |
|
with gr.Row(): |
|
login = gr.Button("输完箱密点此登录") |
|
login.click(configure_chatbot, inputs=[email, password]) |
|
elif email and password: |
|
configure_chatbot(email,password) |
|
|
|
gr.Markdown("""<h2>开始聊吧 ...</h2>""") |
|
chatbot1 = gr.Chatbot() |
|
message = gr.Textbox(placeholder="Chat here") |
|
state = gr.State() |
|
submit = gr.Button("输入完成一定要点击这里发送") |
|
submit.click(chatgpt_clone, inputs=[message, state], outputs=[chatbot1, state]) |
|
|
|
demo.launch(debug = True, share=False) |