From 985378838b54778a8447a73fa00f3a0b216ce96e Mon Sep 17 00:00:00 2001 From: chenhengzh Date: Thu, 28 Mar 2024 00:40:24 +0800 Subject: [PATCH] add qwen api --- app/services/llm.py | 19 +++++++++++++++++++ config.example.toml | 7 ++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/services/llm.py b/app/services/llm.py index dc70913..9cb05c6 100644 --- a/app/services/llm.py +++ b/app/services/llm.py @@ -9,6 +9,7 @@ from openai import AzureOpenAI from app.config import config + def _generate_response(prompt: str) -> str: content = "" llm_provider = config.app.get("llm_provider", "openai") @@ -43,6 +44,10 @@ def _generate_response(prompt: str) -> str: model_name = config.app.get("azure_model_name") base_url = config.app.get("azure_base_url", "") api_version = config.app.get("azure_api_version", "2024-02-15-preview") + elif llm_provider == "qwen": + api_key = config.app.get("qwen_api_key") + model_name = config.app.get("qwen_model_name") + base_url = "***" else: raise ValueError("llm_provider is not set, please set it in the config.toml file.") @@ -52,6 +57,20 @@ def _generate_response(prompt: str) -> str: raise ValueError(f"{llm_provider}: model_name is not set, please set it in the config.toml file.") if not base_url: raise ValueError(f"{llm_provider}: base_url is not set, please set it in the config.toml file.") + + + import dashscope + + if llm_provider == "qwen": + dashscope.api_key = api_key + response = dashscope.Generation.call( + model=model_name, + messages=[{"role": "user", "content": prompt}] + ) + content=response["output"]["text"] + print(content) + return content.replace("\n", "") + if llm_provider == "azure": client = AzureOpenAI( diff --git a/config.example.toml b/config.example.toml index b8b99e4..e94d848 100644 --- a/config.example.toml +++ b/config.example.toml @@ -7,7 +7,7 @@ pexels_api_keys = [] # 如果你没有 OPENAI API Key,可以使用 g4f 代替,或者使用国内的 Moonshot API - llm_provider="openai" # "openai" or "moonshot" or "oneapi" or "g4f" or "azure" + llm_provider="openai" # "openai" or "moonshot" or "oneapi" or "g4f" or "azure" or "qwen" ########## OpenAI API Key # Visit https://openai.com/api/ for details on obtaining an API key. @@ -40,6 +40,11 @@ azure_model_name="gpt-35-turbo" # replace with your model deployment name azure_api_version = "2024-02-15-preview" + ########## qwen API Key, you need to pip install dashscope firstly + # Visit https://tongyi.aliyun.com/qianwen/ to get more details + qwen_api_key = "" + qwen_model_name = "qwen-max" + # Subtitle Provider, "edge" or "whisper" # If empty, the subtitle will not be generated