From 357be32df11833c615b53129a212a39f95ddecd6 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Fri, 15 Mar 2024 14:04:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9F=BA=E7=A1=80=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=BE=93=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/azure_model_provider/azure_model_provider.py | 4 +++- .../ollama_model_provider/ollama_model_provider.py | 6 ++---- ui/src/views/template/component/CreateModelDialog.vue | 5 ++++- ui/src/views/template/component/EditModel.vue | 10 +++++----- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/apps/setting/models_provider/impl/azure_model_provider/azure_model_provider.py b/apps/setting/models_provider/impl/azure_model_provider/azure_model_provider.py index 925ba3839..53668e4a9 100644 --- a/apps/setting/models_provider/impl/azure_model_provider/azure_model_provider.py +++ b/apps/setting/models_provider/impl/azure_model_provider/azure_model_provider.py @@ -93,7 +93,9 @@ class AzureModelProvider(IModelProvider): return azure_chat_open_ai def get_model_credential(self, model_type, model_name): - return model_dict.get(model_name).model_credential + if model_name in model_dict: + return model_dict.get(model_name).model_credential + raise AppApiException(500, f'不支持的模型:{model_name}') def get_model_provide_info(self): return ModelProvideInfo(provider='model_azure_provider', name='Azure OpenAI', icon=get_file_content( diff --git a/apps/setting/models_provider/impl/ollama_model_provider/ollama_model_provider.py b/apps/setting/models_provider/impl/ollama_model_provider/ollama_model_provider.py index 1316de063..f5fc46f6e 100644 --- a/apps/setting/models_provider/impl/ollama_model_provider/ollama_model_provider.py +++ b/apps/setting/models_provider/impl/ollama_model_provider/ollama_model_provider.py @@ -28,9 +28,6 @@ class OllamaLLMModelCredential(BaseForm, BaseModelCredential): if not any(list(filter(lambda mt: mt.get('value') == model_type, model_type_list))): raise AppApiException(500, f'{model_type} 模型类型不支持') - if model_name not in model_dict: - raise AppApiException(500, f'{model_name} 模型名称不支持') - for key in ['api_key']: if key not in model_credential: if raise_exception: @@ -107,7 +104,8 @@ class OllamaModelProvider(IModelProvider): def get_model_credential(self, model_type, model_name): if model_name in model_dict: return model_dict.get(model_name).model_credential - raise AppApiException(500, f'不支持的模型:{model_name}') + # 如果使用模型不在配置中,则使用默认认证 + return ollama_llm_model_credential def get_model(self, model_type, model_name, model_credential: Dict[str, object], **model_kwargs) -> BaseChatModel: return OllamaChatModel(model=model_name, openai_api_base=model_credential.get('api_base'), diff --git a/ui/src/views/template/component/CreateModelDialog.vue b/ui/src/views/template/component/CreateModelDialog.vue index 757360cdd..bce8fa09d 100644 --- a/ui/src/views/template/component/CreateModelDialog.vue +++ b/ui/src/views/template/component/CreateModelDialog.vue @@ -64,7 +64,10 @@ style="width: 100%" v-model="base_form_data.model_name" class="m-2" - placeholder="请选择模型类型" + placeholder="请选择基础模型" + filterable + allow-create + default-first-option > { ModelApi.listBaseModel(providerValue.value.provider, model_type, base_model_loading).then( (ok) => { base_model_list.value = ok.data - if (!base_model_list.value.some((item) => item.name === form_data.value.model_name)) { - form_data.value.model_name = '' - } } ) }