refactor: model
This commit is contained in:
parent
8f3efea077
commit
863e08120a
@ -386,3 +386,30 @@ class ModelSerializer(serializers.Serializer):
|
|||||||
model.model_params_form = model_params_form
|
model.model_params_form = model_params_form
|
||||||
model.save()
|
model.save()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
class SharedModelSerializer(serializers.Serializer):
|
||||||
|
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
|
||||||
|
name = serializers.CharField(required=False, max_length=64, label=_('model name'))
|
||||||
|
model_type = serializers.CharField(required=False, label=_('model type'))
|
||||||
|
model_name = serializers.CharField(required=False, label=_('base model'))
|
||||||
|
provider = serializers.CharField(required=False, label=_('provider'))
|
||||||
|
create_user = serializers.CharField(required=False, label=_('create user'))
|
||||||
|
|
||||||
|
def get_share_model_list(self):
|
||||||
|
self.is_valid(raise_exception=True)
|
||||||
|
queryset = QuerySet(Model).filter(workspace_id='None')
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
'id': str(model.id),
|
||||||
|
'provider': model.provider,
|
||||||
|
'name': model.name,
|
||||||
|
'model_type': model.model_type,
|
||||||
|
'model_name': model.model_name,
|
||||||
|
'status': model.status,
|
||||||
|
'meta': model.meta,
|
||||||
|
'user_id': model.user_id,
|
||||||
|
'username': model.user.username
|
||||||
|
}
|
||||||
|
for model in queryset.order_by("-create_time")
|
||||||
|
]
|
||||||
|
|||||||
@ -18,6 +18,7 @@ urlpatterns = [
|
|||||||
path('workspace/<str:workspace_id>/model/<str:model_id>/pause_download',
|
path('workspace/<str:workspace_id>/model/<str:model_id>/pause_download',
|
||||||
views.ModelSetting.PauseDownload.as_view()),
|
views.ModelSetting.PauseDownload.as_view()),
|
||||||
path('workspace/<str:workspace_id>/model/<str:model_id>/meta', views.ModelSetting.ModelMeta.as_view()),
|
path('workspace/<str:workspace_id>/model/<str:model_id>/meta', views.ModelSetting.ModelMeta.as_view()),
|
||||||
|
path('workspace/<str:workspace_id>/shared/model', views.SharedModel.as_view()),
|
||||||
]
|
]
|
||||||
|
|
||||||
if os.environ.get('SERVER_NAME', 'web') == 'local_model':
|
if os.environ.get('SERVER_NAME', 'web') == 'local_model':
|
||||||
|
|||||||
@ -21,7 +21,7 @@ from common.utils.common import query_params_to_single_dict
|
|||||||
from models_provider.api.model import ModelCreateAPI, GetModelApi, ModelEditApi, ModelListResponse, DefaultModelResponse
|
from models_provider.api.model import ModelCreateAPI, GetModelApi, ModelEditApi, ModelListResponse, DefaultModelResponse
|
||||||
from models_provider.api.provide import ProvideApi
|
from models_provider.api.provide import ProvideApi
|
||||||
from models_provider.models import Model
|
from models_provider.models import Model
|
||||||
from models_provider.serializers.model_serializer import ModelSerializer
|
from models_provider.serializers.model_serializer import ModelSerializer, SharedModelSerializer
|
||||||
from system_manage.views import encryption_str
|
from system_manage.views import encryption_str
|
||||||
|
|
||||||
|
|
||||||
@ -212,3 +212,21 @@ class ModelSetting(APIView):
|
|||||||
def put(self, request: Request, workspace_id: str, model_id: str):
|
def put(self, request: Request, workspace_id: str, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.Operate(data={'id': model_id}).pause_download())
|
ModelSerializer.Operate(data={'id': model_id}).pause_download())
|
||||||
|
|
||||||
|
|
||||||
|
class SharedModel(APIView):
|
||||||
|
authentication_classes = [TokenAuth]
|
||||||
|
|
||||||
|
@extend_schema(
|
||||||
|
methods=['Get'],
|
||||||
|
summary=_('Get Share model'),
|
||||||
|
description=_('Get Share model'),
|
||||||
|
operation_id=_('Get Share model'), # type: ignore
|
||||||
|
parameters=ModelCreateAPI.get_parameters(),
|
||||||
|
responses=ModelListResponse.get_response(),
|
||||||
|
tags=[_('Shared Model')]
|
||||||
|
) # type: ignore
|
||||||
|
@has_permissions(PermissionConstants.MODEL_READ)
|
||||||
|
def get(self, request: Request, workspace_id: str):
|
||||||
|
return result.success(
|
||||||
|
SharedModelSerializer(data={'workspace_id': workspace_id}).get_share_model_list())
|
||||||
@ -1,15 +1,16 @@
|
|||||||
import { Result } from '@/request/Result'
|
import {Result} from '@/request/Result'
|
||||||
import { get, post, del, put, exportFile, exportExcel } from '@/request/index'
|
import {get, post, del, put, exportFile, exportExcel} from '@/request/index'
|
||||||
import { type Ref } from 'vue'
|
import {type Ref} from 'vue'
|
||||||
import type { pageRequest } from '@/api/type/common'
|
import type {pageRequest} from '@/api/type/common'
|
||||||
import type { knowledgeData } from '@/api/type/knowledge'
|
import type {knowledgeData} from '@/api/type/knowledge'
|
||||||
|
|
||||||
import useStore from '@/stores'
|
import useStore from '@/stores'
|
||||||
|
|
||||||
const prefix = '/system/shared'
|
const prefix = '/system/shared'
|
||||||
const prefix_workspace: any = { _value: '/workspace/' }
|
const prefix_workspace: any = {_value: 'workspace/'}
|
||||||
Object.defineProperty(prefix_workspace, 'value', {
|
Object.defineProperty(prefix_workspace, 'value', {
|
||||||
get: function () {
|
get: function () {
|
||||||
const { user } = useStore()
|
const {user} = useStore()
|
||||||
return this._value + user.getWorkspaceId()
|
return this._value + user.getWorkspaceId()
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -38,10 +39,18 @@ const getSharedWorkspaceModel: (loading?: Ref<boolean>) => Promise<Result<Array<
|
|||||||
return get(`${prefix}/${prefix_workspace.value}/model`, {}, loading)
|
return get(`${prefix}/${prefix_workspace.value}/model`, {}, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getCESharedWorkspaceModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return get(`/${prefix_workspace.value}/model`, {}, loading)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
const getSharedWorkspaceModelPage: (
|
const getSharedWorkspaceModelPage: (
|
||||||
param: any,
|
param: any,
|
||||||
loading?: Ref<boolean>,
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Array<any>>> = (param: any, loading) => {
|
) => Promise<Result<Array<any>>> = (param: any, loading) => {
|
||||||
|
console.log(`${prefix}/${prefix_workspace.value}/model`)
|
||||||
return get(`${prefix}/${prefix_workspace.value}/model`, param, loading)
|
return get(`${prefix}/${prefix_workspace.value}/model`, param, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,4 +74,5 @@ export default {
|
|||||||
getSharedWorkspaceModelPage,
|
getSharedWorkspaceModelPage,
|
||||||
getSharedWorkspaceTool,
|
getSharedWorkspaceTool,
|
||||||
getSharedWorkspaceToolPage,
|
getSharedWorkspaceToolPage,
|
||||||
|
getCESharedWorkspaceModel
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user