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)