ONNX
Safetensors
CosyVoice2-0.5B / handler.py
DOBSON001's picture
Create handler.py
5d23dfb verified
raw
history blame
1.11 kB
import torch
from transformers import pipeline # 或模型特定库,如 cosyvoice
from cosyvoice.cli.cosyvoice import CosyVoice # CosyVoice 示例,换成你的模型
class EndpointHandler:
def __init__(self, model):
self.model = CosyVoice('path/to/model') # 加载模型
self.device = 'cuda' if torch.cuda.is_available() else 'cpu'
self.model.to(self.device)
def __call__(self, data):
inputs = data.get('inputs', 'Default text')
parameters = data.get('parameters', {})
language = parameters.get('language', 'en')
duration = parameters.get('duration', 30)
# 生成唱歌音频
audio = self.model.generate(inputs, language=language, singing_mode=True) # 唱歌参数
# 返回 base64 WAV
import io
import base64
buffer = io.BytesIO()
torch.save(audio, buffer)
audio_b64 = base64.b64encode(buffer.getvalue()).decode()
return {'audio': audio_b64}
# 入口
def query_endpoint(payload):
handler = EndpointHandler(None) # 初始化
return handler(payload)