4cfad5ae0f
- 全新ui - 全面优化websocket逻辑,提高数字人和ui连接的稳定性及资源开销 - 全面优化唤醒逻辑,提供稳定的普通唤醒模式和前置词唤醒模式 - 优化拾音质量,支持多声道麦克风拾音 - 优化自动播放服务器的对接机制,提供稳定和兼容旧版ue工程的对接模式 - 数字人接口输出机器人表情,以适应新fay ui及单片机的数字人表情输出 - 使用更高级的音频时长计算方式,可以更精准控制音频播放完成后的逻辑 - 修复点击关闭按钮会导致程序退出的bug - 修复没有麦克风的设备开启麦克风会出错的问题 - 为服务器主机地址提供配置项,以方便服务器部署
29 lines
914 B
Python
29 lines
914 B
Python
import torch
|
|
from ringrwkv.configuration_rwkv_world import RwkvConfig
|
|
from ringrwkv.rwkv_tokenizer import TRIE_TOKENIZER
|
|
from ringrwkv.modehf_world import RwkvForCausalLM
|
|
|
|
model = RwkvForCausalLM.from_pretrained("RWKV-4-World-1.5B")
|
|
#model = RwkvForCausalLM.from_pretrained("RWKV-4-World-3B")
|
|
#model = RwkvForCausalLM.from_pretrained("RWKV-4-World-0.4B")
|
|
tokenizer = TRIE_TOKENIZER('./ringrwkv/rwkv_vocab_v20230424.txt')
|
|
|
|
data = ""
|
|
def question(cont, uid=0):
|
|
global data
|
|
prompt = data + f'Question: {cont.strip()}\n\nAnswer:'
|
|
input_ids = tokenizer.encode(prompt)
|
|
input_ids = torch.tensor(input_ids).unsqueeze(0)
|
|
out = model.generate(input_ids,max_new_tokens=20)
|
|
|
|
outlist = out[0].tolist()
|
|
for i in outlist:
|
|
if i==0:
|
|
outlist.remove(i)
|
|
answer = tokenizer.decode(outlist)
|
|
# data = answer + "\n\n"
|
|
answer = answer.replace(prompt, "", 1)
|
|
return answer
|
|
|
|
|