MCPcopy Create free account
hub / github.com/T-duality/PillOCR-python / apply_provider_settings

Method apply_provider_settings

GPTOCRGUI.py:870–924  ·  view source on GitHub ↗

处理和切换服务商相关的 UI 界面更新和组件显示

(self)

Source from the content-addressed store, hash-verified

868 )
869
870 def apply_provider_settings(self):
871 """处理和切换服务商相关的 UI 界面更新和组件显示"""
872 current_provider = self.provider_var.get()
873 settings = self.provider_settings.get(current_provider, {})
874
875 # 更新处理器的服务商
876 if (current_provider == 'OPENAI'):
877 self.processor.set_provider('OPENAI')
878 elif (current_provider == '火山引擎'):
879 self.processor.set_provider('火山引擎')
880 elif current_provider == '自定义':
881 self.processor.set_provider('自定义')
882
883 # —— 公共:所有服务商通用的 API Key 和 代理 UI 更新 ——
884 self.api_key_var.set(settings.get('api_key', ''))
885 self.proxy_var.set(settings.get('proxy', ''))
886
887 # —— 各服务商特有的 UI 布局 ——
888 # 隐藏所有模型/接入点/自定义 URL 区块
889 self.model_frame.pack_forget()
890 self.model_entry_frame.pack_forget()
891 self.endpoint_frame.pack_forget()
892 self.custom_url_frame.pack_forget()
893
894 if current_provider == 'OPENAI':
895 # OpenAI:显示模型下拉
896 self.model_var.set(settings.get('model', 'gpt-4o'))
897 self.model_frame.pack(after=self.provider_frame, fill=tk.X, pady=(0, 10))
898 elif current_provider == '火山引擎':
899 # 火山引擎:显示接入点输入
900 self.model_var.set(settings.get('model', ''))
901 self.endpoint_frame.pack(after=self.provider_frame, fill=tk.X, pady=(0, 10))
902 elif current_provider == '自定义':
903 # 自定义:URL + 模型输入
904 self.url_var.set(settings.get('url', ''))
905 self.model_var.set(settings.get('model', ''))
906 self.custom_url_frame.pack(after=self.provider_frame, fill=tk.X, pady=(0, 10))
907 self.model_entry_frame.pack(after=self.custom_url_frame, fill=tk.X, pady=(0, 10))
908
909 # 同步 Prompt & Token
910 prov_cfg = settings.get('prompt_settings', {})
911 sys_txt = prov_cfg.get('system_prompt', self.processor.system_prompt)
912 usr_txt = prov_cfg.get('user_prompt', self.processor.user_prompt)
913 max_t = prov_cfg.get('max_tokens', self.processor.max_tokens)
914
915 # 更新多行文本框
916 self.system_text.delete('1.0', tk.END)
917 self.system_text.insert('1.0', sys_txt)
918 self.user_text.delete('1.0', tk.END)
919 self.user_text.insert('1.0', usr_txt)
920 # 更新 max_tokens 输入框
921 self.max_tokens_var.set(max_t)
922
923 # 确保在应用设置时更新客户端
924 self.update_client_settings()
925
926 # def save_prompt_settings(self):
927 # prompts = {

Callers 2

load_settingsMethod · 0.95
on_provider_changeMethod · 0.95

Calls 2

set_providerMethod · 0.80

Tested by

no test coverage detected