feat: 添加配置选择标签和核心种子模型变量

This commit is contained in:
acomic
2025-08-25 09:32:52 +08:00
parent d0029de080
commit d9881322bd
3 changed files with 49 additions and 2 deletions
+1 -1
View File
@@ -117,7 +117,7 @@ def enrich_chapter_text(
max_tokens=max_tokens, max_tokens=max_tokens,
timeout=timeout timeout=timeout
) )
prompt = f"""以下章节文本较短,请在保持剧情连贯的前提下进行扩写,使其更充实,接近 {word_number} 字左右: prompt = f"""以下章节文本较短,请在保持剧情连贯的前提下进行扩写,使其更充实,接近 {word_number} 字左右,仅给出最终文本,不要解释任何内容。
原内容: 原内容:
{chapter_text} {chapter_text}
""" """
+43 -1
View File
@@ -41,9 +41,12 @@ def build_config_tabview(self):
self.ai_config_tab = self.config_tabview.add("LLM Model settings") self.ai_config_tab = self.config_tabview.add("LLM Model settings")
self.embeddings_config_tab = self.config_tabview.add("Embedding settings") self.embeddings_config_tab = self.config_tabview.add("Embedding settings")
self.config_choose = self.config_tabview.add("Config choose")
build_ai_config_tab(self) build_ai_config_tab(self)
build_embeddings_config_tab(self) build_embeddings_config_tab(self)
build_config_choose_tab(self)
# 底部的"保存配置"和"加载配置"按钮 # 底部的"保存配置"和"加载配置"按钮
self.btn_frame_config = ctk.CTkFrame(self.config_frame) self.btn_frame_config = ctk.CTkFrame(self.config_frame)
@@ -203,7 +206,7 @@ def build_embeddings_config_tab(self):
emb_api_key_entry.grid(row=0, column=1, padx=5, pady=5, sticky="nsew") emb_api_key_entry.grid(row=0, column=1, padx=5, pady=5, sticky="nsew")
# 2) Embedding 接口格式 # 2) Embedding 接口格式
create_label_with_help(self, parent=self.embeddings_config_tab, label_text="Embedding 接口格式:", tooltip_key="embedding_interface_format", row=1, column=0, font=("Microsoft YaHei", 12)) create_label_with_help(self, parent=self.embeddings_config_tab, label_text="Embedding 接口格式:", tooltip_key="embedding_intexrface_format", row=1, column=0, font=("Microsoft YaHei", 12))
emb_interface_options = ["DeepSeek", "OpenAI", "Azure OpenAI", "Gemini", "Ollama", "ML Studio","SiliconFlow"] emb_interface_options = ["DeepSeek", "OpenAI", "Azure OpenAI", "Gemini", "Ollama", "ML Studio","SiliconFlow"]
@@ -229,6 +232,45 @@ def build_embeddings_config_tab(self):
test_btn = ctk.CTkButton(self.embeddings_config_tab, text="测试配置", command=self.test_embedding_config, font=("Microsoft YaHei", 12)) test_btn = ctk.CTkButton(self.embeddings_config_tab, text="测试配置", command=self.test_embedding_config, font=("Microsoft YaHei", 12))
test_btn.grid(row=5, column=0, columnspan=2, padx=5, pady=5, sticky="ew") test_btn.grid(row=5, column=0, columnspan=2, padx=5, pady=5, sticky="ew")
def build_config_choose_tab(self):
def on_core_seed_llm_changed(new_value):
self.core_seed_llm_var.set(new_value)
config_data = load_config(self.config_file)
if config_data:
config_data["core_seed_llm"] = new_value
save_config(config_data, self.config_file)
self.config_choose.grid_rowconfigure(0, weight=0)
self.config_choose.grid_columnconfigure(0, weight=0)
self.config_choose.grid_columnconfigure(1, weight=1)
create_label_with_help(self, parent=self.config_choose, label_text="生成核心种子所用大模型", tooltip_key="core_seed_llm_config", row=0, column=0, font=("Microsoft YaHei", 12))
core_seed_options = ["DeepSeek", "阿里云百炼", "OpenAI", "Azure OpenAI", "Azure AI", "Ollama", "ML Studio", "Gemini", "火山引擎", "硅基流动", "Grok"]
core_seed_dropdown = ctk.CTkOptionMenu(self.config_choose, values=core_seed_options, variable=self.core_seed_llm_var, font=("Microsoft YaHei", 12), command=on_core_seed_llm_changed)
core_seed_dropdown.grid(row=0, column=1, padx=5, pady=5, sticky="nsew")
create_label_with_help(self, parent=self.config_choose, label_text="生成角色动力学所用大模型", tooltip_key="role_dynamics_llm_config", row=1, column=0, font=("Microsoft YaHei", 12))
role_dynamics_options = ["DeepSeek", "阿里云百炼", "OpenAI", "Azure OpenAI", "Azure AI", "Ollama", "ML Studio", "Gemini", "火山引擎", "硅基流动", "Grok"]
role_dynamics_dropdown = ctk.CTkOptionMenu(self.config_choose, values=role_dynamics_options, variable=self.role_dynamics_llm_var, font=("Microsoft YaHei", 12))
role_dynamics_dropdown.grid(row=1, column=1, padx=5, pady=5, sticky="nsew")
create_label_with_help(self, parent=self.config_choose, label_text="生成世界观设定所用大模型", tooltip_key="world_building_llm_config", row=2, column=0, font=("Microsoft YaHei", 12))
world_building_options = ["DeepSeek", "阿里云百炼", "OpenAI", "Azure OpenAI", "Azure AI", "Ollama", "ML Studio", "Gemini", "火山引擎", "硅基流动", "Grok"]
world_building_dropdown = ctk.CTkOptionMenu(self.config_choose, values=world_building_options, variable=self.world_building_llm_var, font=("Microsoft YaHei", 12))
world_building_dropdown.grid(row=2, column=1, padx=5, pady=5, sticky="nsew")
create_label_with_help(self, parent=self.config_choose, label_text="生成三幕式情节所用大模型", tooltip_key="three_scene_llm_config", row=3, column=0, font=("Microsoft YaHei", 12))
three_scene_options = ["DeepSeek", "阿里云百炼", "OpenAI", "Azure OpenAI", "Azure AI", "Ollama", "ML Studio", "Gemini", "火山引擎", "硅基流动", "Grok"]
three_scene_dropdown = ctk.CTkOptionMenu(self.config_choose, values=three_scene_options, variable=self.three_scene_llm_var, font=("Microsoft YaHei", 12))
three_scene_dropdown.grid(row=3, column=1, padx=5, pady=5, sticky="nsew")
def load_config_btn(self): def load_config_btn(self):
cfg = load_config(self.config_file) cfg = load_config(self.config_file)
if cfg: if cfg:
+5
View File
@@ -89,6 +89,11 @@ class NovelGeneratorGUI:
self.temperature_var = ctk.DoubleVar(value=llm_conf.get("temperature", 0.7)) self.temperature_var = ctk.DoubleVar(value=llm_conf.get("temperature", 0.7))
self.max_tokens_var = ctk.IntVar(value=llm_conf.get("max_tokens", 8192)) self.max_tokens_var = ctk.IntVar(value=llm_conf.get("max_tokens", 8192))
self.timeout_var = ctk.IntVar(value=llm_conf.get("timeout", 600)) self.timeout_var = ctk.IntVar(value=llm_conf.get("timeout", 600))
self.core_seed_llm_var = ctk.StringVar(value="DeepSeek")
self.role_dynamics_llm_var = ctk.StringVar(value="DeepSeek")
self.world_building_llm_var = ctk.StringVar(value="DeepSeek")
self.three_scene_llm_var = ctk.StringVar(value="DeepSeek")
# -- Embedding相关 -- # -- Embedding相关 --
self.embedding_interface_format_var = ctk.StringVar(value=last_embedding) self.embedding_interface_format_var = ctk.StringVar(value=last_embedding)