ONNX
Safetensors
File size: 1,106 Bytes
5d23dfb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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)