Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
lmp_web
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lmp
lmp_web
Commits
3306ab19
Commit
3306ab19
authored
Sep 09, 2024
by
mhw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
版本更新
parent
0fe836a3
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
303 additions
and
71 deletions
+303
-71
ModelInstance.js
src/api/GptController/ModelInstance.js
+26
-0
plugOrchestration.js
src/api/GptController/plugOrchestration.js
+3
-3
gptController.js
src/api/gptController.js
+3
-1
development.js
src/core/config/development.js
+2
-2
index.vue
...views/gptTraining/dataServices/onlineAnnotation/index.vue
+1
-2
editOrAdd.vue
...ning/modelManagement/modelDeployment/dialog/editOrAdd.vue
+16
-17
index.vue
...ement/modelDeployment/dialog/modelConfiguration/index.vue
+2
-2
index.vue
...ews/gptTraining/modelManagement/modelDeployment/index.vue
+26
-15
index.vue
...gement/modelSquare/particulars/deploymentRecord/index.vue
+4
-4
index.vue
...Management/myModel/particulars/deploymentRecord/index.vue
+4
-4
editOrAdd.vue
...s/gptTraining/modelService/apiManage/dialog/editOrAdd.vue
+0
-2
index.vue
src/views/gptTraining/modelService/apiManage/index.vue
+7
-8
config.vue
...Training/modelService/plugOrchestration/dialog/config.vue
+165
-0
index.vue
...iews/gptTraining/modelService/plugOrchestration/index.vue
+42
-9
index.vue
...ning/modelService/testOnline/components/leftBox/index.vue
+2
-2
No files found.
src/api/GptController/ModelInstance.js
0 → 100644
View file @
3306ab19
export
default
class
ModelInstance
{
static
list
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/modelInstance/list'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
listForTree
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/modelManage/listForTree'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
add
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/modelInstance/add'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
delete
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/modelInstance/delete'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
deploy
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/modelInstance/deploy'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
getGpuInfo
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/modelInstance/getGpuInfo'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
stop
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/modelInstance/stop'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
canUseList
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/modelInstance/canUseList'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
}
src/api/GptController/plugOrchestration.js
View file @
3306ab19
...
@@ -2,15 +2,15 @@ export default class plugOrchestration {
...
@@ -2,15 +2,15 @@ export default class plugOrchestration {
static
list
(
sender
,
params
,
axiosOption
,
httpOption
)
{
static
list
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/pluginManage/list'
,
'post'
,
params
,
axiosOption
,
httpOption
);
return
sender
.
doUrl
(
'/admin/app/pluginManage/list'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
}
static
view
(
sender
,
params
,
axiosOption
,
httpOption
)
{
static
view
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/pluginManage/view'
,
'get'
,
params
,
axiosOption
,
httpOption
);
return
sender
.
doUrl
(
'/admin/app/pluginManage/view'
,
'get'
,
params
,
axiosOption
,
httpOption
);
}
}
static
offline
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/pluginManage/offline'
,
'get'
,
params
,
axiosOption
,
httpOption
);
}
static
export
(
sender
,
params
,
fileName
)
{
static
export
(
sender
,
params
,
fileName
)
{
return
sender
.
download
(
'/admin/app/pluginManage/export'
,
params
,
fileName
);
return
sender
.
download
(
'/admin/app/pluginManage/export'
,
params
,
fileName
);
}
}
static
add
(
sender
,
params
,
axiosOption
,
httpOption
)
{
static
add
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/pluginManage/add'
,
'post'
,
params
,
axiosOption
,
httpOption
);
return
sender
.
doUrl
(
'/admin/app/pluginManage/add'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
}
...
...
src/api/gptController.js
View file @
3306ab19
...
@@ -21,6 +21,7 @@ import KnowledgeGraph from './GptController/KnowledgeGraph.js';
...
@@ -21,6 +21,7 @@ import KnowledgeGraph from './GptController/KnowledgeGraph.js';
import
DataSetCleaning
from
'./GptController/DataSetCleaning.js'
;
import
DataSetCleaning
from
'./GptController/DataSetCleaning.js'
;
import
plugOrchestration
from
'./GptController/plugOrchestration.js'
;
import
plugOrchestration
from
'./GptController/plugOrchestration.js'
;
import
ApiManage
from
'./GptController/ApiManage.js'
;
import
ApiManage
from
'./GptController/ApiManage.js'
;
import
ModelInstance
from
'./GptController/ModelInstance.js'
;
export
{
export
{
TemplateController
,
TemplateController
,
...
@@ -44,5 +45,6 @@ export {
...
@@ -44,5 +45,6 @@ export {
KnowledgeGraph
,
KnowledgeGraph
,
DataSetCleaning
,
DataSetCleaning
,
plugOrchestration
,
plugOrchestration
,
ApiManage
ApiManage
,
ModelInstance
}
}
src/core/config/development.js
View file @
3306ab19
module
.
exports
=
{
module
.
exports
=
{
// baseUrl: 'http://218.76.0.69:8082/',
// baseUrl: 'http://218.76.0.69:8082/',
// baseUrl: 'http://192.168.0.34:8082/',
// baseUrl: 'http://192.168.0.34:8082/',
//
baseUrl: 'http://192.168.0.36:8082/',
baseUrl
:
'http://192.168.0.36:8082/'
,
baseUrl
:
'http://192.168.0.168:8082/'
,
//
baseUrl: 'http://192.168.0.168:8082/',
// baseUrl: 'http://192.168.0.34:8082/',
// baseUrl: 'http://192.168.0.34:8082/',
wsUrl
:
'ws://218.76.0.69:7860/'
,
wsUrl
:
'ws://218.76.0.69:7860/'
,
projectName
:
'灵境大模型平台'
projectName
:
'灵境大模型平台'
...
...
src/views/gptTraining/dataServices/onlineAnnotation/index.vue
View file @
3306ab19
...
@@ -140,7 +140,6 @@ export default {
...
@@ -140,7 +140,6 @@ export default {
// },
// },
datasetVersionDtoFilter
:
{
...
this
.
myDataSetPage
.
formFilter
}
datasetVersionDtoFilter
:
{
...
this
.
myDataSetPage
.
formFilter
}
}
}
console
.
log
(
params
)
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
DatasetVersion
.
load
(
this
,
params
)
DatasetVersion
.
load
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
...
...
src/views/gptTraining/modelManagement/modelDeployment/dialog/editOrAdd.vue
View file @
3306ab19
...
@@ -2,25 +2,24 @@
...
@@ -2,25 +2,24 @@
<
template
>
<
template
>
<el-form
label-position=
"left"
ref=
"form"
label-width=
"100px"
:model=
"form"
:size=
"defaultFormItemSize"
:rules=
"rules"
>
<el-form
label-position=
"left"
ref=
"form"
label-width=
"100px"
:model=
"form"
:size=
"defaultFormItemSize"
:rules=
"rules"
>
<el-row
class=
"title"
>
基本信息
</el-row>
<el-row
class=
"title"
>
基本信息
</el-row>
<el-form-item
label=
"服务名称:"
prop=
"model
Deploy
Dto.serviceName"
>
<el-form-item
label=
"服务名称:"
prop=
"model
Instance
Dto.serviceName"
>
<el-input
v-model=
"form.model
Deploy
Dto.serviceName"
class=
"inputWidth"
placeholder=
"服务名称"
:maxlength=
"20"
:minlength=
"2"
></el-input>
<el-input
v-model=
"form.model
Instance
Dto.serviceName"
class=
"inputWidth"
placeholder=
"服务名称"
:maxlength=
"20"
:minlength=
"2"
></el-input>
<el-row>
<el-row>
<span
class=
"introduce"
>
支持中英文、数字、下划线(_),2-20个字符,不能以下划线为开头
</span></el-row>
<span
class=
"introduce"
>
支持中英文、数字、下划线(_),2-20个字符,不能以下划线为开头
</span></el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"服务描述:"
>
<el-form-item
label=
"服务描述:"
>
<el-input
type=
"textarea"
:rows=
"2"
v-model=
"form.model
Deploy
Dto.serviceDescription"
placeholder=
"服务描述"
></el-input>
<el-input
type=
"textarea"
:rows=
"2"
v-model=
"form.model
Instance
Dto.serviceDescription"
placeholder=
"服务描述"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选择模型:"
prop=
"model
Deploy
Dto.versionId"
>
<el-form-item
label=
"选择模型:"
prop=
"model
Instance
Dto.versionId"
>
<el-cascader
v-model=
"form.model
Deploy
Dto.versionId"
:options=
"modelList"
:props=
'
{ label: "name", value: "id", emitPath: false }'>
</el-cascader>
<el-cascader
v-model=
"form.model
Instance
Dto.versionId"
:options=
"modelList"
:props=
'
{ label: "name", value: "id", emitPath: false }'>
</el-cascader>
</el-form-item>
</el-form-item>
<el-form-item
label=
"API地址:"
>
<el-form-item
label=
"API地址:"
>
<el-input
v-model=
"form.model
Deploy
Dto.apiUrl"
class=
"inputWidth"
placeholder=
"API地址"
></el-input>
<el-input
v-model=
"form.model
Instance
Dto.apiUrl"
class=
"inputWidth"
placeholder=
"API地址"
></el-input>
</el-form-item>
</el-form-item>
<el-row
class=
"title"
>
模型配置
</el-row>
<el-row
class=
"title"
>
模型配置
</el-row>
<el-form-item
label=
"资源配置:"
prop=
"model
Deploy
Dto.resourceInfo"
>
<el-form-item
label=
"资源配置:"
prop=
"model
Instance
Dto.resourceInfo"
>
<modelConfiguration
v-model=
"form.model
Deploy
Dto.resourceInfo"
/>
<modelConfiguration
v-model=
"form.model
Instance
Dto.resourceInfo"
/>
</el-form-item>
</el-form-item>
<el-row
type=
"flex"
justify=
"end"
class=
"dialog-btn-layer mt20"
>
<el-row
type=
"flex"
justify=
"end"
class=
"dialog-btn-layer mt20"
>
<el-button
:plain=
"true"
@
click=
"onCancel(false)"
>
取消
</el-button>
<el-button
:plain=
"true"
@
click=
"onCancel(false)"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
确定
</el-button>
...
@@ -29,14 +28,14 @@
...
@@ -29,14 +28,14 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
Model
Deployment
}
from
'@/api/gptController.js'
import
{
Model
Instance
}
from
'@/api/gptController.js'
import
modelConfiguration
from
'./modelConfiguration'
import
modelConfiguration
from
'./modelConfiguration'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
modelList
:
[],
modelList
:
[],
form
:
{
form
:
{
model
Deploy
Dto
:
{
model
Instance
Dto
:
{
apiUrl
:
undefined
,
apiUrl
:
undefined
,
resourceInfo
:
''
,
resourceInfo
:
''
,
serviceName
:
''
,
serviceName
:
''
,
...
@@ -45,9 +44,9 @@ export default {
...
@@ -45,9 +44,9 @@ export default {
}
}
},
},
rules
:
{
rules
:
{
'model
Deploy
Dto.serviceName'
:
[{
required
:
true
,
message
:
'请输入服务名称'
,
trigger
:
'blur'
}],
'model
Instance
Dto.serviceName'
:
[{
required
:
true
,
message
:
'请输入服务名称'
,
trigger
:
'blur'
}],
'model
Deploy
Dto.resourceInfo'
:
[{
required
:
true
,
message
:
'请选择资源配置'
,
trigger
:
'blur'
}],
'model
Instance
Dto.resourceInfo'
:
[{
required
:
true
,
message
:
'请选择资源配置'
,
trigger
:
'blur'
}],
'model
Deploy
Dto.versionId'
:
[{
required
:
true
,
message
:
'请选择模型'
,
trigger
:
'blur'
}]
'model
Instance
Dto.versionId'
:
[{
required
:
true
,
message
:
'请选择模型'
,
trigger
:
'blur'
}]
}
}
}
}
},
},
...
@@ -83,7 +82,7 @@ export default {
...
@@ -83,7 +82,7 @@ export default {
params
=
{
...
this
.
form
}
params
=
{
...
this
.
form
}
if
(
this
.
isEdit
)
{
if
(
this
.
isEdit
)
{
Model
Deployment
.
update
(
this
,
params
)
Model
Instance
.
update
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
resolve
(
res
)
resolve
(
res
)
this
.
$message
.
success
(
'编辑成功'
)
this
.
$message
.
success
(
'编辑成功'
)
...
@@ -93,7 +92,7 @@ export default {
...
@@ -93,7 +92,7 @@ export default {
reject
(
e
)
reject
(
e
)
})
})
}
else
{
}
else
{
Model
Deployment
.
add
(
this
,
params
)
Model
Instance
.
add
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
resolve
(
res
)
resolve
(
res
)
this
.
$message
.
success
(
'添加成功'
)
this
.
$message
.
success
(
'添加成功'
)
...
@@ -110,7 +109,7 @@ export default {
...
@@ -110,7 +109,7 @@ export default {
})
})
},
},
getModelList
()
{
getModelList
()
{
Model
Deployment
.
listForTree
(
this
,
{})
Model
Instance
.
listForTree
(
this
,
{})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
modelList
=
res
.
data
.
map
((
item
)
=>
{
this
.
modelList
=
res
.
data
.
map
((
item
)
=>
{
return
{
return
{
...
...
src/views/gptTraining/modelManagement/modelDeployment/dialog/modelConfiguration/index.vue
View file @
3306ab19
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
Model
Deployment
}
from
'@/api/gptController.js'
import
{
Model
Instance
}
from
'@/api/gptController.js'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -52,7 +52,7 @@ export default {
...
@@ -52,7 +52,7 @@ export default {
}
}
},
},
getGpuInfo
()
{
getGpuInfo
()
{
Model
Deployment
.
getGpuInfo
(
this
,
{})
Model
Instance
.
getGpuInfo
(
this
,
{})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
list
=
this
.
isJSON
(
res
.
data
).
gpu_list
this
.
list
=
this
.
isJSON
(
res
.
data
).
gpu_list
})
})
...
...
src/views/gptTraining/modelManagement/modelDeployment/index.vue
View file @
3306ab19
...
@@ -27,13 +27,24 @@
...
@@ -27,13 +27,24 @@
</vxe-column>
</vxe-column>
<vxe-column
field=
"createTime"
title=
"创建时间"
></vxe-column>
<vxe-column
field=
"createTime"
title=
"创建时间"
></vxe-column>
<vxe-column
field=
"updateTime"
title=
"更新时间"
></vxe-column>
<vxe-column
field=
"updateTime"
title=
"更新时间"
></vxe-column>
<vxe-column
field=
"operation"
title=
"操作"
>
<vxe-column
field=
"operation"
title=
"操作"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
icon=
"el-icon-menu"
:size=
"defaultFormItemSize"
@
click=
"particulars(scope.row)"
>
详情
</el-button>
<el-button
type=
"text"
icon=
"el-icon-menu"
:size=
"defaultFormItemSize"
@
click=
"particulars(scope.row)"
>
详情
</el-button>
<
el-button
type=
"text"
icon=
"el-icon-remove-outline"
:size=
"defaultFormItemSize"
@
click=
"stop(scope.row)"
>
卸载
</el-button
>
<
!--
<el-button
type=
"text"
icon=
"el-icon-remove-outline"
:size=
"defaultFormItemSize"
@
click=
"stop(scope.row)"
>
卸载
</el-button>
--
>
<el-button
type=
"text"
icon=
"el-icon-circle-check"
:size=
"defaultFormItemSize"
@
click=
"deploy(scope.row,'start')"
v-if=
"scope.row.deployStatus==-1||scope.row.deployStatus==2||scope.row.deployStatus==3"
>
启动
</el-button>
<el-button
type=
"text"
icon=
"el-icon-circle-check"
:size=
"defaultFormItemSize"
@
click=
"deploy(scope.row,'start')"
v-if=
"scope.row.deployStatus==-1||scope.row.deployStatus==2||scope.row.deployStatus==3"
>
启动
</el-button>
<el-button
type=
"text"
icon=
"el-icon-refresh"
:size=
"defaultFormItemSize"
@
click=
"deploy(scope.row,'reload')"
>
重载
</el-button>
<!--
<el-button
type=
"text"
icon=
"el-icon-refresh"
:size=
"defaultFormItemSize"
@
click=
"deploy(scope.row,'reload')"
>
重载
</el-button>
-->
<el-button
type=
"text"
icon=
"el-icon-delete"
:size=
"defaultFormItemSize"
@
click=
"del(scope.row)"
>
删除
</el-button>
<!--
<el-button
type=
"text"
icon=
"el-icon-delete"
:size=
"defaultFormItemSize"
@
click=
"del(scope.row)"
>
删除
</el-button>
-->
<el-dropdown
style=
"margin-left:15px;color: #0092FF;font-size: 12px"
:size=
"defaultFormItemSize"
>
<span
class=
"el-dropdown-link"
>
更多
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
@
click
.
native=
"stop(scope.row)"
>
卸载
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"deploy(scope.row,'reload')"
>
重载
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"del(scope.row)"
>
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</
template
>
</
template
>
</vxe-column>
</vxe-column>
</vxe-table>
</vxe-table>
...
@@ -49,7 +60,7 @@
...
@@ -49,7 +60,7 @@
import
{
mapGetters
}
from
'vuex'
import
{
mapGetters
}
from
'vuex'
/* eslint-disable-next-line */
/* eslint-disable-next-line */
import
{
TableWidget
}
from
'@/utils/widget.js'
import
{
TableWidget
}
from
'@/utils/widget.js'
import
{
Model
Deployment
}
from
'@/api/gptController.js'
import
{
Model
Instance
}
from
'@/api/gptController.js'
import
editOrAdd
from
'./dialog/editOrAdd'
import
editOrAdd
from
'./dialog/editOrAdd'
import
particulars
from
'./particulars/index'
import
particulars
from
'./particulars/index'
export
default
{
export
default
{
...
@@ -81,10 +92,10 @@ export default {
...
@@ -81,10 +92,10 @@ export default {
getwidgetData
(
params
)
{
getwidgetData
(
params
)
{
if
(
params
==
null
)
params
=
{}
if
(
params
==
null
)
params
=
{}
params
=
{
params
=
{
model
Deploy
DtoFilter
:
{
model
Instance
DtoFilter
:
{
...
this
.
myDataSetPage
.
formFilter
...
this
.
myDataSetPage
.
formFilter
},
},
...
params
,
...
params
// orderParam: [
// orderParam: [
// {
// {
// asc: true,
// asc: true,
...
@@ -96,11 +107,11 @@ export default {
...
@@ -96,11 +107,11 @@ export default {
// pageNum: 0,
// pageNum: 0,
// pageSize: 0
// pageSize: 0
// },
// },
promptTemplat
eDtoFilter
:
{
...
this
.
myDataSetPage
.
formFilter
}
// modelInstanc
eDtoFilter: { ...this.myDataSetPage.formFilter }
}
}
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
Model
Deployment
.
list
(
this
,
params
)
Model
Instance
.
list
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
resolve
({
resolve
({
dataList
:
res
.
data
.
dataList
,
dataList
:
res
.
data
.
dataList
,
...
@@ -148,8 +159,8 @@ export default {
...
@@ -148,8 +159,8 @@ export default {
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
let
params
=
{
deployId
:
item
.
deploy
Id
}
let
params
=
{
instanceId
:
item
.
instance
Id
}
Model
Deployment
.
delete
(
this
,
params
)
Model
Instance
.
delete
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
$message
.
success
(
'删除成功'
)
this
.
$message
.
success
(
'删除成功'
)
this
.
refresh
()
this
.
refresh
()
...
@@ -181,8 +192,8 @@ export default {
...
@@ -181,8 +192,8 @@ export default {
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
let
params
=
{
model
DeployDto
:
{
deployId
:
item
.
deploy
Id
},
type
}
let
params
=
{
model
InstanceDto
:
{
instanceId
:
item
.
instance
Id
},
type
}
Model
Deployment
.
deploy
(
this
,
params
)
Model
Instance
.
deploy
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
$message
.
success
(
'部署成功'
)
this
.
$message
.
success
(
'部署成功'
)
this
.
refresh
()
this
.
refresh
()
...
@@ -199,8 +210,8 @@ export default {
...
@@ -199,8 +210,8 @@ export default {
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
let
params
=
{
model
DeployDto
:
{
deployId
:
item
.
deploy
Id
}
}
let
params
=
{
model
InstanceDto
:
{
instanceId
:
item
.
instance
Id
}
}
Model
Deployment
.
stop
(
this
,
params
)
Model
Instance
.
stop
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
$message
.
success
(
'卸载成功'
)
this
.
$message
.
success
(
'卸载成功'
)
this
.
refresh
()
this
.
refresh
()
...
...
src/views/gptTraining/modelManagement/modelSquare/particulars/deploymentRecord/index.vue
View file @
3306ab19
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
import
{
mapGetters
}
from
'vuex'
import
{
mapGetters
}
from
'vuex'
/* eslint-disable-next-line */
/* eslint-disable-next-line */
import
{
DropdownWidget
,
TableWidget
,
UploadWidget
,
ChartWidget
}
from
'@/utils/widget.js'
import
{
DropdownWidget
,
TableWidget
,
UploadWidget
,
ChartWidget
}
from
'@/utils/widget.js'
import
{
Model
Deploy
}
from
'@/api/gptController.js'
import
{
Model
Instance
}
from
'@/api/gptController.js'
// import editOrAdd from './dialog/editOrAdd';
// import editOrAdd from './dialog/editOrAdd';
import
particulars
from
'./dialog/particulars'
import
particulars
from
'./dialog/particulars'
...
@@ -75,11 +75,11 @@ export default {
...
@@ -75,11 +75,11 @@ export default {
// pageNum: 0,
// pageNum: 0,
// pageSize: 0
// pageSize: 0
// },
// },
model
Deploy
DtoFilter
:
{
modelId
:
this
.
tableItem
.
modelId
}
model
Instance
DtoFilter
:
{
modelId
:
this
.
tableItem
.
modelId
}
}
}
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
Model
Deploy
.
list
(
this
,
params
)
Model
Instance
.
list
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
resolve
({
resolve
({
dataList
:
res
.
data
.
dataList
,
dataList
:
res
.
data
.
dataList
,
...
@@ -112,7 +112,7 @@ export default {
...
@@ -112,7 +112,7 @@ export default {
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
let
params
=
{
versionId
:
item
.
versionId
}
let
params
=
{
versionId
:
item
.
versionId
}
Model
Deploy
.
delete
(
this
,
params
)
Model
Instance
.
delete
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
$message
.
success
(
'删除成功'
)
this
.
$message
.
success
(
'删除成功'
)
this
.
refresh
()
this
.
refresh
()
...
...
src/views/gptTraining/modelManagement/myModel/particulars/deploymentRecord/index.vue
View file @
3306ab19
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
import
{
mapGetters
}
from
'vuex'
import
{
mapGetters
}
from
'vuex'
/* eslint-disable-next-line */
/* eslint-disable-next-line */
import
{
DropdownWidget
,
TableWidget
,
UploadWidget
,
ChartWidget
}
from
'@/utils/widget.js'
import
{
DropdownWidget
,
TableWidget
,
UploadWidget
,
ChartWidget
}
from
'@/utils/widget.js'
import
{
Model
Deploy
}
from
'@/api/gptController.js'
import
{
Model
Instance
}
from
'@/api/gptController.js'
// import editOrAdd from './dialog/editOrAdd';
// import editOrAdd from './dialog/editOrAdd';
import
particulars
from
'./dialog/particulars'
import
particulars
from
'./dialog/particulars'
...
@@ -75,11 +75,11 @@ export default {
...
@@ -75,11 +75,11 @@ export default {
// pageNum: 0,
// pageNum: 0,
// pageSize: 0
// pageSize: 0
// },
// },
model
Deploy
DtoFilter
:
{
modelId
:
this
.
tableItem
.
modelId
}
model
Instance
DtoFilter
:
{
modelId
:
this
.
tableItem
.
modelId
}
}
}
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
Model
Deploy
.
list
(
this
,
params
)
Model
Instance
.
list
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
resolve
({
resolve
({
dataList
:
res
.
data
.
dataList
,
dataList
:
res
.
data
.
dataList
,
...
@@ -112,7 +112,7 @@ export default {
...
@@ -112,7 +112,7 @@ export default {
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
let
params
=
{
versionId
:
item
.
versionId
}
let
params
=
{
versionId
:
item
.
versionId
}
Model
Deploy
.
delete
(
this
,
params
)
Model
Instance
.
delete
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
$message
.
success
(
'删除成功'
)
this
.
$message
.
success
(
'删除成功'
)
this
.
refresh
()
this
.
refresh
()
...
...
src/views/gptTraining/modelService/apiManage/dialog/editOrAdd.vue
View file @
3306ab19
...
@@ -41,8 +41,6 @@ export default {
...
@@ -41,8 +41,6 @@ export default {
mounted
()
{
mounted
()
{
this
.
intFrom
()
this
.
intFrom
()
this
.
getTaskList
()
// this.getTuningRun()
},
},
methods
:
{
methods
:
{
...
...
src/views/gptTraining/modelService/apiManage/index.vue
View file @
3306ab19
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
<el-form-item
label-width=
"0px"
>
<el-form-item
label-width=
"0px"
>
<el-button
class=
"add"
type=
"primary"
icon=
"el-icon-plus"
:size=
"defaultFormItemSize"
@
click=
"add"
>
创建应用
</el-button>
<el-button
class=
"add"
type=
"primary"
icon=
"el-icon-plus"
:size=
"defaultFormItemSize"
@
click=
"add"
>
创建应用
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"应用名称"
prop=
"formFilter.
model
Name"
label-width=
"120px"
>
<el-form-item
label=
"应用名称"
prop=
"formFilter.
api
Name"
label-width=
"120px"
>
<el-input
class=
"filter-item"
v-model=
"myDataSetPage.formFilter.apiName"
:clearable=
"true"
placeholder=
"应用名称"
/>
<el-input
class=
"filter-item"
v-model=
"myDataSetPage.formFilter.apiName"
:clearable=
"true"
placeholder=
"应用名称"
/>
</el-form-item>
</el-form-item>
</filter-box>
</filter-box>
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
<vxe-column
field=
"secretKey"
title=
"Secret Key"
></vxe-column>
<vxe-column
field=
"secretKey"
title=
"Secret Key"
></vxe-column>
<vxe-column
field=
"remark"
title=
"描述"
></vxe-column>
<vxe-column
field=
"remark"
title=
"描述"
></vxe-column>
<vxe-column
field=
"createTime"
title=
"创建时间"
></vxe-column>
<vxe-column
field=
"createTime"
title=
"创建时间"
></vxe-column>
<vxe-column
field=
"operation"
title=
"操作"
>
<vxe-column
field=
"operation"
title=
"操作"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<!--
<el-button
<!--
<el-button
type=
"text"
type=
"text"
...
@@ -122,8 +122,7 @@ export default {
...
@@ -122,8 +122,7 @@ export default {
}
}
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
ApiManage
ApiManage
.
list
(
this
,
params
)
.
list
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
resolve
({
resolve
({
dataList
:
res
.
data
.
dataList
,
dataList
:
res
.
data
.
dataList
,
...
@@ -159,9 +158,8 @@ export default {
...
@@ -159,9 +158,8 @@ export default {
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
let
params
=
{
kgId
:
item
.
kgId
}
let
params
=
{
apiId
:
item
.
apiId
}
ApiManage
ApiManage
.
delete
(
this
,
params
)
.
delete
(
this
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
$message
.
success
(
'删除成功'
)
this
.
$message
.
success
(
'删除成功'
)
this
.
refresh
()
this
.
refresh
()
...
@@ -173,6 +171,7 @@ export default {
...
@@ -173,6 +171,7 @@ export default {
},
},
refresh
(
reloadData
=
false
)
{
refresh
(
reloadData
=
false
)
{
if
(
reloadData
)
{
if
(
reloadData
)
{
console
.
log
(
123
)
this
.
myDataSetPage
.
tableData
.
impl
.
refreshTable
(
true
,
1
)
this
.
myDataSetPage
.
tableData
.
impl
.
refreshTable
(
true
,
1
)
}
else
{
}
else
{
this
.
myDataSetPage
.
tableData
.
impl
.
refreshTable
()
this
.
myDataSetPage
.
tableData
.
impl
.
refreshTable
()
...
...
src/views/gptTraining/modelService/plugOrchestration/dialog/config.vue
0 → 100644
View file @
3306ab19
<!-- 配置-->
<
template
>
<el-form
label-position=
"left"
ref=
"form"
label-width=
"100px"
:model=
"form"
:size=
"defaultFormItemSize"
:rules=
"rules"
>
<el-row
class=
"title"
>
模型及参数
</el-row>
<el-form-item
label=
"选择服务:"
>
<el-select
ref=
"serveCascader"
v-model=
"form.pluginConfigDto.serviceId"
placeholder=
"请选择"
>
<el-option
v-for=
"item in serveList"
:key=
"item.createUserId"
:label=
"item.serviceName"
:value=
"item.versionName"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"选择应用:"
>
<el-select
ref=
"serveCascader"
v-model=
"form.pluginConfigDto.apiId"
placeholder=
"请选择"
>
<el-option
v-for=
"item in appList"
:key=
"item.apiId"
:label=
"item.name"
:value=
"item.apiId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"温度:"
>
<el-slider
:min=
"0"
:max=
"1"
:step=
"0.1"
v-model=
"form.pluginConfigDto.temperature"
show-input
>
</el-slider>
</el-form-item>
<el-form-item
label=
"多样性:"
>
<el-slider
:min=
"0"
:max=
"1"
:step=
"0.1"
v-model=
"form.pluginConfigDto.diversity"
show-input
>
</el-slider>
</el-form-item>
<el-form-item
label=
"重复惩罚:"
>
<el-slider
:min=
"0"
:max=
"2"
:step=
"0.1"
v-model=
"form.pluginConfigDto.duplicatePenalty"
show-input
>
</el-slider>
</el-form-item>
<el-form-item
label=
"提示词:"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 2, maxRows: 4}" placeholder="请输入提示词" v-model="form.pluginConfigDto.prompt">
</el-input>
</el-form-item>
<el-form-item
label=
"知识库:"
>
</el-form-item>
<el-form-item
label=
"开场白:"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 2, maxRows: 4}" placeholder="请输入开场白" v-model="form.pluginConfigDto.openWords">
</el-input>
</el-form-item>
<el-form-item
label=
"最长上下文:"
>
<el-slider
:min=
"0"
:max=
"10"
:step=
"1"
v-model=
"form.pluginConfigDto.maxLengthContext"
show-input
>
</el-slider>
</el-form-item>
<el-row
type=
"flex"
justify=
"end"
class=
"dialog-btn-layer mt20"
>
<el-button
:size=
"defaultFormItemSize"
:plain=
"true"
@
click=
"onCancel(false)"
>
取消
</el-button>
<el-button
type=
"primary"
:size=
"defaultFormItemSize"
@
click=
"onSubmit"
>
确定
</el-button>
</el-row>
</el-form>
</
template
>
<
script
>
import
{
plugOrchestration
,
ModelInstance
}
from
'@/api/gptController.js'
export
default
{
data
()
{
return
{
serveList
:
[],
appList
:
[],
form
:
{
pluginConfigDto
:
{
apiId
:
undefined
,
diversity
:
undefined
,
duplicatePenalty
:
undefined
,
knowledgeIds
:
[],
maxLengthContext
:
undefined
,
openWords
:
undefined
,
pluginKnowledgeId
:
undefined
,
prompt
:
undefined
,
remark
:
undefined
,
serviceId
:
undefined
}
},
rules
:
{
'pluginConfigDto.pluginName'
:
[{
required
:
true
,
message
:
'请输入名称'
,
trigger
:
'blur'
}]
}
}
},
props
:
[
'isEdit'
,
'item'
],
components
:
{},
computed
:
{},
mounted
()
{
this
.
intFrom
()
this
.
getServeList
()
},
methods
:
{
intFrom
()
{
this
.
form
=
{
...
this
.
form
,
...
this
.
item
}
},
onCancel
(
isSuccess
)
{
if
(
this
.
observer
!=
null
)
{
this
.
observer
.
cancel
(
isSuccess
)
}
},
getServeList
()
{
ModelInstance
.
canUseList
(
this
,
{})
.
then
((
res
)
=>
{
this
.
serveList
=
res
?.
data
?.
dataList
this
.
form
.
serviceId
=
this
.
serveList
[
0
].
serviceId
})
.
catch
((
e
)
=>
{
console
.
log
(
e
)
})
},
getAppList
()
{
ModelInstance
.
canUseList
(
this
,
{})
.
then
((
res
)
=>
{
this
.
appList
=
res
?.
data
?.
dataList
this
.
form
.
apiId
=
this
.
appList
[
0
].
apiId
})
.
catch
((
e
)
=>
{
console
.
log
(
e
)
})
},
onSubmit
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
params
=
{}
params
=
{
...
this
.
form
}
if
(
this
.
isEdit
)
{
plugOrchestration
.
update
(
this
,
params
)
.
then
((
res
)
=>
{
resolve
(
res
)
this
.
$message
.
success
(
'编辑成功'
)
this
.
onCancel
(
true
)
})
.
catch
((
e
)
=>
{
reject
(
e
)
})
}
else
{
plugOrchestration
.
add
(
this
,
params
)
.
then
((
res
)
=>
{
resolve
(
res
)
this
.
$message
.
success
(
'添加成功'
)
this
.
onCancel
(
true
)
})
.
catch
((
e
)
=>
{
reject
(
e
)
})
}
}
else
{
// reject();
}
})
})
}
}
}
</
script
>
<
style
scoped
>
.inputWidth
{
width
:
600px
;
}
.title
{
font-size
:
20px
;
margin-bottom
:
16px
;
}
.introduce
{
font-size
:
12px
;
color
:
#909399
;
}
</
style
>
src/views/gptTraining/modelService/plugOrchestration/index.vue
View file @
3306ab19
...
@@ -54,15 +54,12 @@
...
@@ -54,15 +54,12 @@
</vxe-column>
</vxe-column>
<vxe-column
field=
"remark"
title=
"服务描述"
></vxe-column>
<vxe-column
field=
"remark"
title=
"服务描述"
></vxe-column>
<vxe-column
field=
"updateTime"
title=
"更新时间"
></vxe-column>
<vxe-column
field=
"updateTime"
title=
"更新时间"
></vxe-column>
<vxe-column
field=
"operation"
title=
"操作"
width=
'
12
0'
>
<vxe-column
field=
"operation"
title=
"操作"
width=
'
23
0'
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<!--
<el-button
<el-button
type=
"text"
icon=
"el-icon-setting"
:size=
"defaultFormItemSize"
@
click=
"openConfig(scope.row)"
>
配置
</el-button>
type=
"text"
<el-button
type=
"text"
icon=
"el-icon-menu"
:size=
"defaultFormItemSize"
@
click=
"view(scope.row)"
>
详情
</el-button>
:size=
"defaultFormItemSize"
<el-button
type=
"text"
icon=
"el-icon-remove-outline"
:size=
"defaultFormItemSize"
@
click=
"offline(scope.row)"
>
下线
</el-button>
@
click=
"dataImport(scope.row)"
<el-button
v-if=
"scope.row.status!==2"
type=
"text"
icon=
"el-icon-delete"
:size=
"defaultFormItemSize"
@
click=
"del(scope.row)"
>
删除
</el-button>
>
导入
</el-button
>
-->
<el-button
type=
"text"
icon=
"el-icon-delete"
:size=
"defaultFormItemSize"
@
click=
"del(scope.row)"
>
删除
</el-button>
</
template
>
</
template
>
</vxe-column>
</vxe-column>
</vxe-table>
</vxe-table>
...
@@ -80,6 +77,7 @@ import { mapGetters } from 'vuex'
...
@@ -80,6 +77,7 @@ import { mapGetters } from 'vuex'
import
{
DropdownWidget
,
TableWidget
,
UploadWidget
,
ChartWidget
}
from
'@/utils/widget.js'
import
{
DropdownWidget
,
TableWidget
,
UploadWidget
,
ChartWidget
}
from
'@/utils/widget.js'
import
{
plugOrchestration
}
from
'@/api/gptController.js'
import
{
plugOrchestration
}
from
'@/api/gptController.js'
import
editOrAdd
from
'./dialog/editOrAdd'
import
editOrAdd
from
'./dialog/editOrAdd'
import
config
from
'./dialog/config'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -167,7 +165,23 @@ export default {
...
@@ -167,7 +165,23 @@ export default {
this
.
refresh
()
this
.
refresh
()
})
})
},
},
openConfig
(
item
)
{
this
.
$dialog
.
show
(
'配置服务'
,
config
,
{
area
:
[
'100%'
,
'100%'
]
},
{
isEdit
:
false
,
item
}
)
.
then
((
res
)
=>
{
this
.
refresh
()
})
.
catch
((
e
)
=>
{
this
.
refresh
()
})
},
del
(
item
)
{
del
(
item
)
{
this
.
$confirm
(
'是否确认删除'
,
'提示'
,
{
this
.
$confirm
(
'是否确认删除'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
...
@@ -186,6 +200,25 @@ export default {
...
@@ -186,6 +200,25 @@ export default {
})
})
})
})
},
},
offline
(
item
)
{
this
.
$confirm
(
'是否确认下线'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
let
params
=
{
pluginId
:
item
.
pluginId
}
plugOrchestration
.
offline
(
this
,
params
)
.
then
((
res
)
=>
{
this
.
$message
.
success
(
'成功下线'
)
this
.
refresh
()
})
.
catch
((
e
)
=>
{
console
.
log
(
e
)
})
})
},
view
(
item
)
{},
refresh
(
reloadData
=
false
)
{
refresh
(
reloadData
=
false
)
{
if
(
reloadData
)
{
if
(
reloadData
)
{
this
.
myDataSetPage
.
tableData
.
impl
.
refreshTable
(
true
,
1
)
this
.
myDataSetPage
.
tableData
.
impl
.
refreshTable
(
true
,
1
)
...
...
src/views/gptTraining/modelService/testOnline/components/leftBox/index.vue
View file @
3306ab19
...
@@ -121,7 +121,7 @@
...
@@ -121,7 +121,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
KnowledgeManage
,
MyModel
,
ModelVersion
,
TemplateController
,
Model
Deployment
,
KnowledgeGraph
}
from
'@/api/gptController.js'
import
{
KnowledgeManage
,
MyModel
,
ModelVersion
,
TemplateController
,
Model
Instance
,
KnowledgeGraph
}
from
'@/api/gptController.js'
import
promptWordTemplate
from
'../promptWordTemplate'
import
promptWordTemplate
from
'../promptWordTemplate'
export
default
{
export
default
{
data
()
{
data
()
{
...
@@ -233,7 +233,7 @@ export default {
...
@@ -233,7 +233,7 @@ export default {
})
})
},
},
getServeList
()
{
getServeList
()
{
Model
Deployment
.
canUseList
(
this
,
{})
Model
Instance
.
canUseList
(
this
,
{})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
serveList
=
res
?.
data
?.
dataList
this
.
serveList
=
res
?.
data
?.
dataList
this
.
form
.
model_name
=
this
.
serveList
[
0
].
versionName
this
.
form
.
model_name
=
this
.
serveList
[
0
].
versionName
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment