chinese_wyw / app.py
test2023h5's picture
Update app.py
c848c8f verified
### 文言文翻译
import simplestart as ss
import requests
import json
##import mymodule as mm
import psutil
#函数部分
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)
input = mytext.value[:100].replace("\n", "")
#本地模式
##response = mm.predict("'" + input + "'", ss.session.method)
##res = response.replace("<|endoftext|>", "")
#服务器模式
response = inference("'" + input + "'", method)
res = response["processed_text"].replace("<|endoftext|>", "")
myresult.value = res
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 = "谦虚使人进步"
def mem_info():
# 获取内存信息
mem_info = psutil.virtual_memory()
# 剩余内存,单位为字节
remaining_memory = mem_info.available
# 将字节转换为更易读的单位(例如 GB)
remaining_memory_gb = remaining_memory / (1024 ** 3)
return remaining_memory_gb
#会话变量
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 = mem_info()
ss.write(f"剩余内存: {remaining_memory_gb:.2f} GB")