You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
272 lines
8.0 KiB
272 lines
8.0 KiB
1 month ago
|
from dash import dcc, html
|
||
|
import feffery_antd_components as fac
|
||
|
from flask import session
|
||
|
|
||
|
from . import profile, allocate_role
|
||
|
from api.modmag import get_model_run_api
|
||
|
from config.global_config import ApiBaseUrlConfig
|
||
|
# from utils.mod_mag import get_model_run_data
|
||
|
import uuid
|
||
|
|
||
|
|
||
|
import callbacks.model_c.modmag_c
|
||
|
|
||
|
|
||
|
def render(*args, **kwargs):
|
||
|
|
||
|
mode_llm_run_data,mode_embed_run_data,mode_rerank_run_data = get_model_run_api()
|
||
|
|
||
|
print("*****************model_run_infos")
|
||
|
# print("*****************model_run_infos")
|
||
|
|
||
|
for item in mode_llm_run_data:
|
||
|
item['key'] = str(uuid.uuid4()) # 添加唯一的 key
|
||
|
item['actions'] = [
|
||
|
{
|
||
|
'content': '试用',
|
||
|
'type': 'link',
|
||
|
'icon': 'antd-edit'
|
||
|
},
|
||
|
{
|
||
|
'content': '终止',
|
||
|
'type': 'link',
|
||
|
'icon': 'antd-delete'
|
||
|
},
|
||
|
]
|
||
|
|
||
|
llm_columns = [
|
||
|
{
|
||
|
'dataIndex': 'model_uid',
|
||
|
'title': 'model_uid',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'model_name',
|
||
|
'title': 'model_name',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'worker_address',
|
||
|
'title': 'worker_address',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'GPU_indexs',
|
||
|
'title': 'GPU_indexs',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'model_size',
|
||
|
'title': 'model_size',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'model_quant',
|
||
|
'title': 'model_quant',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'model_replica',
|
||
|
'title': 'model_replica',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'actions',
|
||
|
'title': 'actions',
|
||
|
'width': '15%',
|
||
|
'renderOptions': {
|
||
|
'renderType': 'button'
|
||
|
}
|
||
|
},
|
||
|
]
|
||
|
|
||
|
for item in mode_embed_run_data:
|
||
|
item['key'] = str(uuid.uuid4()) # 添加唯一的 key
|
||
|
item['actions'] = [
|
||
|
# {
|
||
|
# 'content': '试用',
|
||
|
# 'type': 'link',
|
||
|
# 'icon': 'antd-edit'
|
||
|
# },
|
||
|
{
|
||
|
'content': '终止',
|
||
|
'type': 'link',
|
||
|
'icon': 'antd-delete'
|
||
|
},
|
||
|
]
|
||
|
|
||
|
# print(mode_embed_run_data)
|
||
|
# 定义表格的列,包括 actions 列的 renderOptions
|
||
|
embed_columns = [
|
||
|
{
|
||
|
'dataIndex': 'model_uid',
|
||
|
'title': 'model_uid',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'model_name',
|
||
|
'title': 'model_name',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'worker_address',
|
||
|
'title': 'worker_address',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'GPU_indexs',
|
||
|
'title': 'GPU_indexs',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
# {
|
||
|
# 'dataIndex': 'model_size',
|
||
|
# 'title': 'model_size',
|
||
|
# 'width': '10%'
|
||
|
# },
|
||
|
# {
|
||
|
# 'dataIndex': 'model_quant',
|
||
|
# 'title': 'model_quant',
|
||
|
# 'width': '10%'
|
||
|
# },
|
||
|
{
|
||
|
'dataIndex': 'model_replica',
|
||
|
'title': 'model_replica',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'actions',
|
||
|
'title': 'actions',
|
||
|
'width': '15%',
|
||
|
'renderOptions': {
|
||
|
'renderType': 'button'
|
||
|
}
|
||
|
},
|
||
|
]
|
||
|
|
||
|
for item in mode_rerank_run_data:
|
||
|
item['key'] = str(uuid.uuid4()) # 添加唯一的 key
|
||
|
item['actions'] = [
|
||
|
# {
|
||
|
# 'content': '试用',
|
||
|
# 'type': 'link',
|
||
|
# 'icon': 'antd-edit'
|
||
|
# },
|
||
|
{
|
||
|
'content': '终止',
|
||
|
'type': 'link',
|
||
|
'icon': 'antd-delete'
|
||
|
},
|
||
|
]
|
||
|
|
||
|
# print(mode_embed_run_data)
|
||
|
# 定义表格的列,包括 actions 列的 renderOptions
|
||
|
rerank_columns = [
|
||
|
{
|
||
|
'dataIndex': 'model_uid',
|
||
|
'title': 'model_uid',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'model_name',
|
||
|
'title': 'model_name',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'worker_address',
|
||
|
'title': 'worker_address',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'GPU_indexs',
|
||
|
'title': 'GPU_indexs',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
# {
|
||
|
# 'dataIndex': 'model_size',
|
||
|
# 'title': 'model_size',
|
||
|
# 'width': '10%'
|
||
|
# },
|
||
|
# {
|
||
|
# 'dataIndex': 'model_quant',
|
||
|
# 'title': 'model_quant',
|
||
|
# 'width': '10%'
|
||
|
# },
|
||
|
{
|
||
|
'dataIndex': 'model_replica',
|
||
|
'title': 'model_replica',
|
||
|
'width': '10%'
|
||
|
},
|
||
|
{
|
||
|
'dataIndex': 'actions',
|
||
|
'title': 'actions',
|
||
|
'width': '15%',
|
||
|
'renderOptions': {
|
||
|
'renderType': 'button'
|
||
|
}
|
||
|
},
|
||
|
]
|
||
|
|
||
|
return [
|
||
|
dcc.Store(id='mode_llm_run_data', data=mode_llm_run_data),
|
||
|
dcc.Store(id='mode_embed_run_data', data=mode_embed_run_data),
|
||
|
dcc.Store(id='mode_rerank_run_data', data=mode_rerank_run_data),
|
||
|
|
||
|
fac.AntdTabs(
|
||
|
items=[
|
||
|
{
|
||
|
'key': f'LLM',
|
||
|
'label': f'LLM',
|
||
|
'children':
|
||
|
fac.AntdTable(
|
||
|
columns=llm_columns,
|
||
|
data=mode_llm_run_data,
|
||
|
pagination=False, # 禁用分页
|
||
|
style={
|
||
|
'cursor': 'pointer',
|
||
|
'width': "100%",
|
||
|
'flex': '1 1 auto', # 分配 flex 比例
|
||
|
'fontSize': '0.8rem', # 减小字体以降低表格行高
|
||
|
},
|
||
|
)
|
||
|
},
|
||
|
{
|
||
|
'key': f'embedding',
|
||
|
'label': f'embedding',
|
||
|
'children':
|
||
|
fac.AntdTable(
|
||
|
columns=embed_columns,
|
||
|
data=mode_embed_run_data,
|
||
|
pagination=False, # 禁用分页
|
||
|
style={
|
||
|
'cursor': 'pointer',
|
||
|
'width': "100%",
|
||
|
'flex': '1 1 auto', # 分配 flex 比例
|
||
|
'fontSize': '0.8rem', # 减小字体以降低表格行高
|
||
|
},
|
||
|
),
|
||
|
|
||
|
},
|
||
|
{
|
||
|
'key': f'rerank',
|
||
|
'label': f'rerank',
|
||
|
'children':
|
||
|
fac.AntdTable(
|
||
|
columns=rerank_columns,
|
||
|
data=mode_rerank_run_data,
|
||
|
pagination=False, # 禁用分页
|
||
|
style={
|
||
|
'cursor': 'pointer',
|
||
|
'width': "100%",
|
||
|
'flex': '1 1 auto', # 分配 flex 比例
|
||
|
'fontSize': '0.8rem', # 减小字体以降低表格行高
|
||
|
},
|
||
|
),
|
||
|
|
||
|
},
|
||
|
],
|
||
|
style={'fontSize': 40},
|
||
|
size = 'large',
|
||
|
centered=True,
|
||
|
)
|
||
|
]
|