2 lines
9.3 KiB
JavaScript
2 lines
9.3 KiB
JavaScript
|
|
import{E as U}from"./index-DxH5-_w6.js";import{E as j}from"./el-tag-C2d1Zfbn.js";import{a as W,E as Y}from"./el-table-B6qMxzT4.js";import{v as H}from"./directive-BBfPDwlQ.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-D5veDkuG.js";import{E as oe}from"./index-BMWxqs3c.js";import"./el-scrollbar-GFOwBTUz.js";import"./el-popper-DDJTxf27.js";import"./el-tooltip-l0sNRNKZ.js";import"./el-checkbox-D6iLoXkw.js";import{D as R}from"./DataTablePage-C2qtw8vm.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-Do_d1nlo.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-BuqHm105.js";import"./index-BT1A2I5c.js";import"./_baseIteratee-N-G7GeYE.js";import"./castArray-BDIbf8ih.js";import"./debounce-D3zKL4rk.js";import"./toNumber-a8w_gs0u.js";import"./index-DmAaj_YO.js";import"./raf-Dsox5IbR.js";import"./validator-CddYkkyy.js";import"./index-fqcbYM03.js";import"./clamp-Ddg8_Yc2.js";import"./index-BNyn2v9n.js";import"./scroll-DswMXu1y.js";import"./index-DbBHj60R.js";import"./index-DDY6aSpq.js";import"./omit-DxQEBv1Z.js";import"./el-card-DzhpMhms.js";import"./el-pagination-DeOi3r5c.js";import"./el-select-BQaRHu3V.js";import"./vnode-CYZHqsIy.js";import"./index-DbuKXJ7V.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
|