File size: 2,536 Bytes
e848727
 
0efe9bb
1cefe99
e848727
 
 
 
 
 
 
 
b463bee
e848727
 
191bc65
 
 
 
 
e848727
 
 
191bc65
 
 
 
e848727
 
 
 
b463bee
191bc65
 
1cefe99
0c4b87d
c7df422
e848727
b463bee
 
 
191bc65
1cefe99
191bc65
a2e4457
1cefe99
 
 
e848727
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191bc65
b463bee
e848727
 
 
 
 
 
 
 
0efe9bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
### 文言文翻译

import simplestart as ss
import requests
import json
import time
###import mymodule as mm
import util as util


#函数部分
def mychange(event):
    ss.session.result = ""
    if event.index == 0:
        ss.session.prompt1 = "请将文言文拷贝到这里"
        data = mytext.data
        data["value"] = "子曰:温故而知新"
        mytext.data = data
        
        #mytext.value = "子曰:温故而知新" ### todo 随机
        ss.session.method = 0
    else:
        ss.session.prompt1 = "请将现代文拷贝到这里"
        data = mytext.data
        data["value"] = "谦虚使人进步,骄傲使人失败"
        mytext.data = data
        #mytext.value = "谦虚使人进步,骄傲使人失败" ### todo 随机
        ss.session.method = 1


def predict():
    ss.session.result = "稍安勿躁,服务器正在运算中..."
    ss.message(mytext.value)

    method = str(ss.session.method)
    response = inference("'" + mytext.value + "'", method)
    #response = mm.predict("'" + mytext.value + "'", ss.session.method)
    #ss.session["result"] = response
    res = response["processed_text"].replace("<|endoftext|>", "")
    ss.session["result"] = res
    ##ss.write(response)

def inference(input_text, method):
    #url = "http://0.0.0.0:8106/process"  # 假设POST请求的路径是 /process
    url = "https://test2023h5-fastapi-wyw.hf.space/process"
    data = {"text": input_text, "method": method}  # 将 input_text 和 method 作为 JSON 数据发送
    res = requests.post(url, json=data)  # 发送 POST 请求,传递 JSON 数据
    return res.json()  # 假设服务器返回 JSON 响应


def demo1(state, value):
    ss.session["result"] = ""
    ss.session["comment"] = ""
    
    if ss.session.method == 0:
        mytext.value = "己所不欲勿施于人"
    else:
        mytext.value = "谦虚使人进步"

#会话变量
ss.session.method = 0
ss.session.prompt1 = "请将文言文拷贝到这里"
ss.session.text = "子曰:温故而知新"

### UI部分
ss.write("### 😾 古文-现代文翻译演示")

myradio = ss.radio(["古文-现代文", "现代文-古文"], index=0, onchange=mychange)

ss.space()


mytext = ss.textarea("子曰:温故而知新", label="@prompt1")
myresult = ss.textarea("@result", label="翻译结果 (CPU服务器,10秒内出结果,稍安勿躁)")

ss.button("开始翻译", onclick = predict)

ss.space()

ss.write("---")
remaining_memory_gb = util.mem_info()
ss.write(f"剩余内存: {remaining_memory_gb:.2f} GB")