Files
YG_FT/frontend/dist/assets/ModelManageView-BAGneEH0.js

2 lines
9.3 KiB
JavaScript
Raw Normal View History

import{E as U}from"./index-CCavIuTY.js";import{E as j}from"./el-tag-C_D80BPW.js";import{a as W,E as Y}from"./el-table-DkdQ6gPU.js";import{v as H}from"./directive-vzjADwzS.js";import{d as Q,D as X,G as Z,c as P,e as k,w as i,y as C,o as b,s as n,q as r,x as s,aa as d,f as c,aN as ee,aO as A,aP as te,g as ae,K as le,z as ie,v as ne,A as N}from"./index-CGB0A5x_.js";import{E as oe}from"./index-BMrs0kLP.js";import"./el-scrollbar-p6_f_LH2.js";import"./el-popper-DvBtRO32.js";import"./el-tooltip-l0sNRNKZ.js";import"./el-checkbox-Ci1DH0Aj.js";import{D as R}from"./DataTablePage-CURtmoAI.js";import{g as se,a as re,b as de,c as ue,d as me,e as pe,f as fe}from"./model-xlHsHa68.js";import{s as ce,a as _e,m as ge,b as be}from"./status-Dl1fykxa.js";import{_ as ye}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./_baseClone-CX1E8HTZ.js";import"./index-DMVRI44M.js";import"./_baseIteratee-uVh0OyD5.js";import"./castArray-Cgg396Sr.js";import"./debounce-Bqww2DS8.js";import"./toNumber-IRhFg6gN.js";import"./index-BPwPlcbL.js";import"./raf-CCivjDro.js";import"./validator-D7tSoy2w.js";import"./index-Coa9QRND.js";import"./clamp-BqqU4KQ-.js";import"./index-C5EKbiob.js";import"./scroll-C0BSy_Rk.js";import"./index-CbmPSBt0.js";import"./index-D2-3cnGo.js";import"./omit-DaFv1hTo.js";import"./el-card-BWcR1iD2.js";import"./el-pagination-DGQ0vO_O.js";import"./el-select-C59URVI0.js";import"./vnode-DFpZw5lG.js";import"./index-khuXz7sd.js";const ve={class:"model-manage-page"},he={class:"capsule-tabs"},we={class:"capsule-tabs"},ke={class:"runtime-panel"},Ce={class:"panel-title"},Me={class:"action-buttons"},xe=Q({__name:"ModelManageView",setup(Ee){const M=ne(),m=C("config"),_=C(!1),v=C([]),h=C([]),x=ie({});function Te(t){return t}function ze(t){return t}function E(t){return String(t.id||t.name)}function g(t){const e=E(t);return x[e]||(x[e]={artifacts:[],lineage:{parents:[],children:[]},exportJobs:[],loading:!1,loaded:!1}),x[e]}function T(t){return t?new Date(t).toLocaleString("zh-CN"):"-"}function S(t){const e=Number(t||0);return e<=0?"-":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`}function J(t){return{fine_tuned_from:"由基座模型微调生成",merged_from_adapter:"由 Adapter 合并导出"}[t||""]||t||"-"}function O(t){return{adapter:"Adapter 权重",merged_model:"合并模型",quantized_model:"量化模型"}[t||""]||t||"-"}async function w(){_.value=!0;try{v.value=await se()||[]}finally{_.value=!1}}async function z(){_.value=!0;try{const t=await re();h.value=(t==null?void 0:t.models)||[]}finally{_.value=!1}}function D(){m.value==="config"?w():z()}async function L(t,e=!1){const l=g(t);if(!(l.loading||l.loaded&&!e)){l.loading=!0;try{const p=t.id||t.name,[f,u,$]=await Promise.all([de(p),ue(p),me(p)]);l.artifacts=f||[],l.lineage={parents:(u==null?void 0:u.parents)||[],children:(u==null?void 0:u.children)||[]},l.exportJobs=$||[],l.loaded=!0}finally{l.loading=!1}}}function V(t,e){e.some(l=>E(l)===E(t))&&L(t)}async function B(t){await pe(t.id),v.value=v.value.filter(e=>e.id!==t.id),await w(),N.success("删除成功")}async function q(t){await oe.confirm(`确定要删除模型“${t.name}”的权重文件吗?合并模型不受影响。`,"确认删除",{type:"warning"}),await fe(t.id||t.name,"lora"),h.value=h.value.filter(e=>e.name!==t.name&&e.id!==t.id),await z(),N.success("权重已删除")}function F(t){var e,l;M.push({path:"/model-manage/merge",query:{model:t.name,method:((l=(e=t.train_methods)==null?void 0:e[0])==null?void 0:l.name)||"lora"}})}function I(t){M.push(`/model-manage/${t.id}/edit`)}function K(){m.value==="config"&&M.push("/model-manage/create")}function G(){m.value==="config"?w():z()}return X(m,D),Z(D),(t,e)=>{const l=Y,p=j,f=U,u=W,$=H;return b(),P("div",ve,[m.value==="config"?(b(),k(R,{key:0,title:"模型",data:v.value,loading:_.value,searchable:"","search-fields":["name","description"],"create-text":"添加模型","delete-fn":B,"row-key":"id",onCreate:K,onRefresh:w},{title:i(()=>[r("div",he,[r("button",{class:"capsule-tab-item active",onC