mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-05-06 20:42:52 +08:00
feat:将transcriber作为环境变量配置
This commit is contained in:
@@ -25,4 +25,8 @@ QWEN_API_BASE_URL=
|
||||
QWEN_MODEL=
|
||||
MODEl_PROVIDER= #如果不是openai 请修改 deepseek/qwen
|
||||
# FFMPEG 配置
|
||||
FFMPEG_BIN_PATH=
|
||||
FFMPEG_BIN_PATH=
|
||||
|
||||
# transcriber 相关配置
|
||||
TRANSCRIBER_TYPE=fast-whisper # fast-whisper/bcut/kuaishou
|
||||
WHISPER_MODEL_SIZE=base
|
||||
@@ -21,3 +21,7 @@ QWEN_API_KEY=
|
||||
QWEN_API_BASE_URL=
|
||||
QWEN_MODEL=
|
||||
MODEl_PROVIDER= #如果不是openai 请修改 deepseek/qwen
|
||||
|
||||
# transcriber 相关配置
|
||||
TRANSCRIBER_TYPE=fast-whisper # fast-whisper/bcut/kuaishou
|
||||
WHISPER_MODEL_SIZE=base
|
||||
@@ -43,7 +43,7 @@ class NoteGenerator:
|
||||
def __init__(self):
|
||||
self.model_size: str = 'base'
|
||||
self.device: Union[str, None] = None
|
||||
self.transcriber_type = 'fast-whisper'
|
||||
self.transcriber_type = os.getenv('TRANSCRIBER_TYPE','fast-whisper')
|
||||
self.transcriber = self.get_transcriber()
|
||||
# TODO 需要更换为可调节
|
||||
|
||||
@@ -91,7 +91,7 @@ class NoteGenerator:
|
||||
'''
|
||||
if self.transcriber_type == 'fast-whisper':
|
||||
logger.info("使用Whisper")
|
||||
return get_transcriber()
|
||||
return get_transcriber(transcriber_type='fast-whisper')
|
||||
else:
|
||||
logger.warning("不支持的转义器")
|
||||
raise ValueError(f"不支持的转义器:{self.transcriber}")
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import os
|
||||
|
||||
from app.transcriber.whisper import WhisperTranscriber
|
||||
from app.transcriber.bcut import BcutTranscriber
|
||||
from app.transcriber.kuaishou import KuaishouTranscriber
|
||||
@@ -49,12 +51,12 @@ def get_kuaishou_transcriber():
|
||||
raise
|
||||
return _transcribers['kuaishou']
|
||||
|
||||
def get_transcriber(transcriber_type="whisper", model_size="base", device="cuda"):
|
||||
def get_transcriber(transcriber_type="fast-whisper", model_size="base", device="cuda"):
|
||||
"""
|
||||
获取指定类型的转录器实例
|
||||
|
||||
参数:
|
||||
transcriber_type: 转录器类型,支持 "whisper", "bcut", "kuaishou"
|
||||
transcriber_type: 转录器类型,支持 "fast-whisper", "bcut", "kuaishou"
|
||||
model_size: 模型大小,whisper 特有参数
|
||||
device: 设备类型,whisper 特有参数
|
||||
|
||||
@@ -62,13 +64,14 @@ def get_transcriber(transcriber_type="whisper", model_size="base", device="cuda"
|
||||
对应类型的转录器实例
|
||||
"""
|
||||
logger.info(f'获取转录器,类型: {transcriber_type}')
|
||||
|
||||
if transcriber_type == "whisper":
|
||||
return get_whisper_transcriber(model_size, device)
|
||||
if transcriber_type == "fast-whisper":
|
||||
whisper_model_size = os.environ.get("WHISPER_MODEL_SIZE",model_size)
|
||||
return get_whisper_transcriber(whisper_model_size, device=device)
|
||||
elif transcriber_type == "bcut":
|
||||
return get_bcut_transcriber()
|
||||
elif transcriber_type == "kuaishou":
|
||||
return get_kuaishou_transcriber()
|
||||
else:
|
||||
logger.warning(f'未知转录器类型 "{transcriber_type}",使用默认 whisper')
|
||||
return get_whisper_transcriber(model_size, device)
|
||||
whisper_model_size = os.environ.get("WHISPER_MODEL_SIZE",model_size)
|
||||
return get_whisper_transcriber(whisper_model_size, device)
|
||||
@@ -34,7 +34,7 @@ async def startup_event():
|
||||
async def startup_event():
|
||||
register_handler()
|
||||
ensure_ffmpeg_or_raise()
|
||||
get_transcriber()
|
||||
get_transcriber(transcriber_type=os.getenv("TRANSCRIBER_TYPE","fast-whisper"))
|
||||
init_video_task_table()
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user