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 1b1822504..ee43556b8 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 @@ -39,8 +39,8 @@ class AzureLLMModelCredential(BaseForm, BaseModelCredential): else: return False try: - AzureModelProvider().query(model_type, model_name, model_credential, - message=[HumanMessage(content='valid')]) + model = AzureModelProvider().get_model(model_type, model_name, model_credential) + model([HumanMessage(content='valid')]) except Exception as e: if isinstance(e, AppApiException): raise e @@ -69,7 +69,9 @@ model_dict = { 'gpt-3.5-turbo-0301': ModelInfo('gpt-3.5-turbo-0301', '', ModelTypeConst.LLM, azure_llm_model_credential, api_version='2023-07-01-preview'), 'gpt-3.5-turbo-16k-0613': ModelInfo('gpt-3.5-turbo-16k-0613', '', ModelTypeConst.LLM, azure_llm_model_credential, - api_version='2023-07-01-preview') + api_version='2023-07-01-preview'), + 'gpt-4-0613': ModelInfo('gpt-4-0613', '', ModelTypeConst.LLM, azure_llm_model_credential, + api_version='2023-07-01-preview'), } diff --git a/ui/src/api/model.ts b/ui/src/api/model.ts index 09d33cd05..e126c4077 100644 --- a/ui/src/api/model.ts +++ b/ui/src/api/model.ts @@ -1,7 +1,17 @@ +import { request } from './../request/index' import { Result } from '@/request/Result' import { get, post, del, put } from '@/request/index' import { type Ref } from 'vue' -import type { modelRequest, Provider, ListModelRequest, Model } from '@/api/type/model' +import type { + modelRequest, + Provider, + ListModelRequest, + Model, + BaseModel, + CreateModelRequest +} from '@/api/type/model' +import type { FormField } from '@/components/dynamics-form/type' +import type { KeyValue } from './type/common' const prefix = '/model' const prefix_provider = '/provider' @@ -23,7 +33,68 @@ const getProvider: (loading?: Ref) => Promise>> return get(`${prefix_provider}`, {}, loading) } +/** + * 获取模型创建表单 + * @param provider + * @param model_type + * @param model_name + * @param loading + * @returns + */ +const getModelCreateForm: ( + provider: string, + model_type: string, + model_name: string, + loading?: Ref +) => Promise>> = (provider, model_type, model_name, loading) => { + return get(`${prefix_provider}/model_form`, { provider, model_type, model_name }, loading) +} + +/** + * 获取模型类型列表 + * @param provider 供应商 + * @param loading 加载器 + * @returns 模型类型列表 + */ +const listModelType: ( + provider: string, + loading?: Ref +) => Promise>>> = (provider, loading?: Ref) => { + return get(`${prefix_provider}/model_type_list`, { provider }, loading) +} + +/** + * 获取基础模型列表 + * @param provider + * @param model_type + * @param loading + * @returns + */ +const listBaseModel: ( + provider: string, + model_type: string, + loading?: Ref +) => Promise>> = (provider, model_type, loading) => { + return get(`${prefix_provider}/model_list`, { provider, model_type }, loading) +} + +/** + * 创建模型 + * @param request 请求对象 + * @param loading 加载器 + * @returns + */ +const createModel: (request: CreateModelRequest, loading?: Ref) => Promise = ( + request, + loading +) => { + return post(`${prefix}`, request, {}, loading) +} export default { getModel, - getProvider + getProvider, + getModelCreateForm, + listModelType, + listBaseModel, + createModel } diff --git a/ui/src/api/type/model.ts b/ui/src/api/type/model.ts index 1adda47aa..529db4a12 100644 --- a/ui/src/api/type/model.ts +++ b/ui/src/api/type/model.ts @@ -65,4 +65,41 @@ interface Model { */ provider: string } -export type { modelRequest, Provider, ListModelRequest, Model } +interface CreateModelRequest { + /** + * 模型名 + */ + name: string + /** + * 模型类型 + */ + model_type: string + /** + * 基础模型 + */ + model_name: string + /** + * 认证信息 + */ + credential: any + /** + * 供应商 + */ + provider: string +} + +interface BaseModel { + /** + * 基础模型名称 + */ + name: string + /** + * 基础模型描述 + */ + desc: string + /** + * 基础模型类型 + */ + model_type: string +} +export type { modelRequest, Provider, ListModelRequest, Model, BaseModel, CreateModelRequest } diff --git a/ui/src/components/card-box/index.vue b/ui/src/components/card-box/index.vue index 1cdf038f3..4a6288e1a 100644 --- a/ui/src/components/card-box/index.vue +++ b/ui/src/components/card-box/index.vue @@ -7,7 +7,7 @@ -

{{ title }}

+

{{ title }}

@@ -59,6 +59,7 @@ function cardLeave() { font-size: 14px; position: relative; min-height: var(--card-min-height); + min-width: var(--card-min-width); border: 1px solid #ffffff; border-radius: 8px; .description { @@ -66,7 +67,7 @@ function cardLeave() { -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; - height: 40px; + height: var(--app-card-box-description-height, 40px); color: var(--app-text-color-secondary); line-height: 22px; font-weight: 400; diff --git a/ui/src/components/dynamics-form/index.vue b/ui/src/components/dynamics-form/index.vue index 229562ec9..c1bb3908d 100644 --- a/ui/src/components/dynamics-form/index.vue +++ b/ui/src/components/dynamics-form/index.vue @@ -6,7 +6,6 @@ label-suffix=":" v-loading="loading" v-bind="$attrs" - :model="formValue" > -
-

全部模型

- - - - +
+

{{ active_provider.name }}

+

全部模型

+
+ 创建模型 + +
+ + + + + +
+ +