diff --git a/config.example.toml b/config.example.toml index 7b4e09e..1557101 100644 --- a/config.example.toml +++ b/config.example.toml @@ -2,6 +2,7 @@ project_version="0.2.0" # 如果你没有 OPENAI API Key,可以使用 g4f 代替,或者使用国内的 Moonshot API # If you don't have an OPENAI API Key, you can use g4f instead + video_llm_provider="gemini" # 支持的提供商 (Supported providers): # openai @@ -13,7 +14,6 @@ # gemini llm_provider="openai" # 支持多模态视频理解能力的大模型 - llm_provider_video="gemini" ########## Ollama Settings # No need to set it unless you want to use your own proxy diff --git a/webui.py b/webui.py index aa272b6..79bd7a8 100644 --- a/webui.py +++ b/webui.py @@ -188,8 +188,37 @@ with st.expander(tr("Basic Settings"), expanded=False): if HTTPS_PROXY: config.proxy["https"] = HTTPS_PROXY + # 视频转录大模型 with middle_config_panel: - llm_providers = ['Gemini'] + video_llm_providers = ['Gemini'] + saved_llm_provider = config.app.get("llm_provider", "OpenAI").lower() + saved_llm_provider_index = 0 + for i, provider in enumerate(video_llm_providers): + if provider.lower() == saved_llm_provider: + saved_llm_provider_index = i + break + + video_llm_provider = st.selectbox(tr("Video LLM Provider"), options=video_llm_providers, index=saved_llm_provider_index) + video_llm_provider = video_llm_provider.lower() + config.app["video_llm_provider"] = video_llm_provider + + video_llm_api_key = config.app.get(f"{video_llm_provider}_api_key", "") + video_llm_base_url = config.app.get(f"{video_llm_provider}_base_url", "") + video_llm_model_name = config.app.get(f"{video_llm_provider}_model_name", "") + video_llm_account_id = config.app.get(f"{video_llm_provider}_account_id", "") + st_llm_api_key = st.text_input(tr("Video API Key"), value=video_llm_api_key, type="password") + st_llm_base_url = st.text_input(tr("Video Base Url"), value=video_llm_base_url) + st_llm_model_name = st.text_input(tr("Video Model Name"), value=video_llm_model_name) + if st_llm_api_key: + config.app[f"{video_llm_provider}_api_key"] = st_llm_api_key + if st_llm_base_url: + config.app[f"{video_llm_provider}_base_url"] = st_llm_base_url + if st_llm_model_name: + config.app[f"{video_llm_provider}_model_name"] = st_llm_model_name + + # 大语言模型 + with right_config_panel: + llm_providers = ['Gemini', 'OpenAI', 'Moonshot', 'Azure', 'Qwen', 'Ollama', 'G4f', 'OneAPI', "Cloudflare"] saved_llm_provider = config.app.get("llm_provider", "OpenAI").lower() saved_llm_provider_index = 0 for i, provider in enumerate(llm_providers): @@ -220,17 +249,6 @@ with st.expander(tr("Basic Settings"), expanded=False): if st_llm_account_id: config.app[f"{llm_provider}_account_id"] = st_llm_account_id - with right_config_panel: - pexels_api_keys = config.app.get("pexels_api_keys", []) - if isinstance(pexels_api_keys, str): - pexels_api_keys = [pexels_api_keys] - pexels_api_key = ", ".join(pexels_api_keys) - - pexels_api_key = st.text_input(tr("Pexels API Key"), value=pexels_api_key, type="password") - pexels_api_key = pexels_api_key.replace(" ", "") - if pexels_api_key: - config.app["pexels_api_keys"] = pexels_api_key.split(",") - panel = st.columns(3) left_panel = panel[0] middle_panel = panel[1] diff --git a/webui/i18n/zh.json b/webui/i18n/zh.json index aa588fd..cbad21b 100644 --- a/webui/i18n/zh.json +++ b/webui/i18n/zh.json @@ -64,15 +64,14 @@ "You can download the generated video from the following links": "你可以从以下链接下载生成的视频", "Basic Settings": "**基础设置** (:blue[点击展开])", "Language": "界面语言", - "Pexels API Key": "Pexels API Key ([点击获取](https://www.pexels.com/api/)) :red[推荐使用]", "Pixabay API Key": "Pixabay API Key ([点击获取](https://pixabay.com/api/docs/#api_search_videos)) :red[可以不用配置,如果 Pexels 无法使用,再选择Pixabay]", - "LLM Provider": "大模型提供商", + "Video LLM Provider": "视频转录大模型", + "LLM Provider": "大语言模型", "API Key": "API Key (:red[必填,需要到大模型提供商的后台申请])", "Base Url": "Base Url (可选)", "Account ID": "账户ID (Cloudflare的dash面板url中获取)", "Model Name": "模型名称 (:blue[需要到大模型提供商的后台确认被授权的模型名称])", "Please Enter the LLM API Key": "请先填写大模型 **API Key**", - "Please Enter the Pexels API Key": "请先填写 **Pexels API Key**", "Please Enter the Pixabay API Key": "请先填写 **Pixabay API Key**", "Get Help": "一站式 AI 影视解说+自动化剪辑工具\uD83C\uDF89\uD83C\uDF89\uD83C\uDF89\n\n有任何问题或建议,可以加入 **社区频道** 求助或讨论:https://github.com/linyqh/NarratoAI/wiki", "Video Source": "视频来源",