2023-05-01 03:46:21 +00:00
|
|
|
|
from gpt4free import usesless
|
|
|
|
|
import time
|
2023-05-01 03:40:36 +00:00
|
|
|
|
from pywebio import start_server,config
|
|
|
|
|
from pywebio.input import *
|
|
|
|
|
from pywebio.output import *
|
|
|
|
|
from pywebio.session import local
|
|
|
|
|
message_id = ""
|
|
|
|
|
def status():
|
|
|
|
|
try:
|
|
|
|
|
req = usesless.Completion.create(prompt="hello", parentMessageId=message_id)
|
|
|
|
|
print(f"Answer: {req['text']}")
|
|
|
|
|
put_success(f"Answer: {req['text']}",scope="body")
|
|
|
|
|
except:
|
|
|
|
|
put_error("Program Error",scope="body")
|
|
|
|
|
|
|
|
|
|
def ask(prompt):
|
|
|
|
|
req = usesless.Completion.create(prompt=prompt, parentMessageId=local.message_id)
|
|
|
|
|
rp=req['text']
|
|
|
|
|
local.message_id=req["id"]
|
|
|
|
|
print("AI:\n"+rp)
|
|
|
|
|
local.conversation.extend([
|
|
|
|
|
{"role": "user", "content": prompt},
|
|
|
|
|
{"role": "assistant", "content": rp}
|
|
|
|
|
])
|
|
|
|
|
print(local.conversation)
|
|
|
|
|
return rp
|
|
|
|
|
|
|
|
|
|
def msg():
|
|
|
|
|
while True:
|
|
|
|
|
text= input_group("You:",[textarea('You:',name='text',rows=3, placeholder='请输入问题')])
|
|
|
|
|
if not(bool(text)):
|
|
|
|
|
break
|
|
|
|
|
if not(bool(text["text"])):
|
|
|
|
|
continue
|
|
|
|
|
time.sleep(0.5)
|
|
|
|
|
put_code("You:"+text["text"],scope="body")
|
|
|
|
|
print("Question:"+text["text"])
|
|
|
|
|
with use_scope('foot'):
|
|
|
|
|
put_loading(color="info")
|
|
|
|
|
rp= ask(text["text"])
|
|
|
|
|
clear(scope="foot")
|
|
|
|
|
time.sleep(0.5)
|
|
|
|
|
put_markdown("Bot:\n"+rp,scope="body")
|
|
|
|
|
time.sleep(0.7)
|
|
|
|
|
|
|
|
|
|
@config(title="AIchat",theme="dark")
|
|
|
|
|
def main():
|
|
|
|
|
put_scope("heads")
|
|
|
|
|
with use_scope('heads'):
|
|
|
|
|
put_html("<h1><center>AI Chat</center></h1>")
|
|
|
|
|
put_scope("body")
|
|
|
|
|
put_scope("foot")
|
|
|
|
|
status()
|
|
|
|
|
local.conversation=[]
|
|
|
|
|
local.message_id=""
|
|
|
|
|
msg()
|
|
|
|
|
|
|
|
|
|
print("Click link to chat page")
|
2023-05-01 03:46:21 +00:00
|
|
|
|
start_server(main, port=8099,allowed_origins="*",auto_open_webbrowser=True,debug=True)
|