This commit is contained in:
yumoqing 2025-11-05 14:54:48 +08:00
parent af4a0810ff
commit 9f57b05801
3 changed files with 13 additions and 6 deletions

View File

@ -1,5 +1,9 @@
{ {
"filesroot":"$[workdir]$/files", "filesroot":"$[workdir]$/files",
"model_path": "/data/ymq/models/openai/whisper-large-v3",
"redis_url": "redis://127.0.0.1:6379",
"worker_cnt": 1,
"logger":{ "logger":{
"name":"fastwhisper", "name":"fastwhisper",
"levelname":"info", "levelname":"info",

View File

@ -1,17 +1,22 @@
from longtasks.longtasks import LongTasks from longtasks.longtasks import LongTasks
from faster_whisper import WhisperModel from faster_whisper import WhisperModel
from appPublic.worker import awaitify from appPublic.worker import awaitify
from appPublic.jsonConfig import getConfig
from ahserver.filestorage import FileStorage from ahserver.filestorage import FileStorage
class MyLongTask(LongTasks): class MyLongTask(LongTasks):
def __init__(self, *args, **kw): def __init__(self):
super().__init__(self, *args, **kw) self.config = getConfig()
redis_url = self.config.redis_url
taskname = 'fastwhisper'
worker_cnt = self.config.worker_cnt
super().__init__(self, redis_url, taskname, worker_cnt=worker_cnt)
self.load_models() self.load_models()
def load_models(self): def load_models(self):
self.models = [] self.models = []
for i in range(self.worker_cnt): for i in range(self.worker_cnt):
model = WhisperModel(model_size, device="cuda", compute_type="float16") model = WhisperModel(self.config.model_path, device="cuda", compute_type="float16")
self.models.append(model) self.models.append(model)
async def process_task(self, payload:dict, workerid:int=None): async def process_task(self, payload:dict, workerid:int=None):

View File

@ -1,11 +1,9 @@
from fastwhisper.fw import MyLongTask from fastwhisper.fw import MyLongTask
from ahserver.serverenv import ServerEnv from ahserver.serverenv import ServerEnv
from appPublic.jsonConfig import getConfig
from appPublic.worker import schedule_once from appPublic.worker import schedule_once
def load_fastwhisper() def load_fastwhisper()
config = getConfig()
env = ServerEnv() env = ServerEnv()
engine = MyLongTask(config.redis_url, 'fastwhisper') engine = MyLongTask()
schedule_once(1, engine.run) schedule_once(1, engine.run)
env.fastwhisper = engine env.fastwhisper = engine