From a7466b2393e6e4b452c4b09fbfe237ad1cea0422 Mon Sep 17 00:00:00 2001 From: harry Date: Fri, 12 Apr 2024 10:04:52 +0800 Subject: [PATCH 1/3] add qwen error logs --- app/services/llm.py | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/app/services/llm.py b/app/services/llm.py index e622818..2e4eb8b 100644 --- a/app/services/llm.py +++ b/app/services/llm.py @@ -76,13 +76,27 @@ def _generate_response(prompt: str) -> str: if llm_provider == "qwen": import dashscope + from dashscope.api_entities.dashscope_response import GenerationResponse dashscope.api_key = api_key response = dashscope.Generation.call( - model=model_name, + model=model_name + "dd", messages=[{"role": "user", "content": prompt}] ) - content = response["output"]["text"] - return content.replace("\n", "") + if response: + if isinstance(response, GenerationResponse): + status_code = response.status_code + if status_code != 200: + raise Exception( + f"[{llm_provider}] returned an error response: \"{response}\"") + + content = response["output"]["text"] + return content.replace("\n", "") + else: + raise Exception( + f"[{llm_provider}] returned an invalid response: \"{response}\"") + else: + raise Exception( + f"[{llm_provider}] returned an empty response") if llm_provider == "gemini": import google.generativeai as genai @@ -122,17 +136,17 @@ def _generate_response(prompt: str) -> str: convo.send_message(prompt) return convo.last.text - + if llm_provider == "cloudflare": import requests response = requests.post( - f"https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run/{model_name}", + f"https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run/{model_name}", headers={"Authorization": f"Bearer {api_key}"}, json={ - "messages": [ - {"role": "system", "content": "You are a friendly assistant"}, - {"role": "user", "content": prompt} - ] + "messages": [ + {"role": "system", "content": "You are a friendly assistant"}, + {"role": "user", "content": prompt} + ] } ) result = response.json() From 24a9ca514ecee3706aca45c17b1ff24b1efda983 Mon Sep 17 00:00:00 2001 From: harry Date: Fri, 12 Apr 2024 10:05:14 +0800 Subject: [PATCH 2/3] add qwen error logs --- app/services/llm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/llm.py b/app/services/llm.py index 2e4eb8b..9432d73 100644 --- a/app/services/llm.py +++ b/app/services/llm.py @@ -79,7 +79,7 @@ def _generate_response(prompt: str) -> str: from dashscope.api_entities.dashscope_response import GenerationResponse dashscope.api_key = api_key response = dashscope.Generation.call( - model=model_name + "dd", + model=model_name, messages=[{"role": "user", "content": prompt}] ) if response: From 7a8e25dc3654976fa9b7f8e05d977da371fb522a Mon Sep 17 00:00:00 2001 From: harry Date: Fri, 12 Apr 2024 10:22:01 +0800 Subject: [PATCH 3/3] update readme --- README.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 17e6cbc..4b17930 100644 --- a/README.md +++ b/README.md @@ -242,8 +242,8 @@ python main.py 当前支持2种字幕生成方式: -- edge: 生成速度更快,性能更好,对电脑配置没有要求,但是质量可能不稳定 -- whisper: 生成速度较慢,性能较差,对电脑配置有一定要求,但是质量更可靠。 +- **edge**: 生成`速度快`,性能更好,对电脑配置没有要求,但是质量可能不稳定 +- **whisper**: 生成`速度慢`,性能较差,对电脑配置有一定要求,但是`质量更可靠`。 可以修改 `config.toml` 配置文件中的 `subtitle_provider` 进行切换 @@ -253,6 +253,25 @@ python main.py 1. whisper 模式下需要到 HuggingFace 下载一个模型文件,大约 3GB 左右,请确保网络通畅 2. 如果留空,表示不生成字幕。 +> 由于国内无法访问 HuggingFace,可以使用以下方法下载 `whisper-large-v3` 的模型文件 + +下载地址: +- 百度网盘: https://pan.baidu.com/s/11h3Q6tsDtjQKTjUu3sc5cA?pwd=xjs9 +- 夸克网盘:https://pan.quark.cn/s/3ee3d991d64b + +模型下载后解压,整个目录放到 `.\MoneyPrinterTurbo\models` 里面, +最终的文件路径应该是这样: `.\MoneyPrinterTurbo\models\whisper-large-v3` +``` +MoneyPrinterTurbo + ├─models + │ └─whisper-large-v3 + │ config.json + │ model.bin + │ preprocessor_config.json + │ tokenizer.json + │ vocabulary.json +``` + ## 背景音乐 🎵 用于视频的背景音乐,位于项目的 `resource/songs` 目录下。