2 lines
5.1 KiB
JavaScript
2 lines
5.1 KiB
JavaScript
import{E as D}from"./index-Cp3It01C.js";import{E as A}from"./el-tag-BhOuL4lf.js";import{E as S}from"./el-table-Cp5xAgqT.js";import{d as $,G as P,ah as R,e as d,w as l,y as x,o,q as c,x as i,c as V,s as n,M as w,aa as f,f as E,A as h,v as J}from"./index-DMfSG-9l.js";import{E as O}from"./index-CtE6E8j5.js";import"./el-checkbox-U4Gmy-zV.js";import{D as U}from"./DataTablePage-QpUAUWLZ.js";import{u as j}from"./usePolling-wnd5ckNs.js";import{g as q,l as F,u as G,a as I,s as H,d as K}from"./compare-CCEmJZlJ.js";import{s as Q,a as W}from"./status-Dl1fykxa.js";import"./el-scrollbar-B3-sB_hq.js";import"./index-BqlQpMip.js";import"./el-popper-DAm2mVaB.js";import"./index-CJA4tZk1.js";import"./_baseClone-DE0sfIfI.js";import"./_baseIteratee-bMWfS5oT.js";import"./castArray-qEIBurnE.js";import"./debounce-CVrTo2Ot.js";import"./toNumber-COrtsVXo.js";import"./raf-Cz9mkNBb.js";import"./validator-WVQr2HNG.js";import"./index-DHvxCawT.js";import"./clamp-B9tkuT1F.js";import"./index-h-ZEyEHT.js";import"./scroll-D2ojO4wB.js";import"./index-DYpWD2QI.js";import"./index-D3hDDBfW.js";import"./omit-teeY8va1.js";import"./el-card-CMZq6FhB.js";import"./el-pagination-Dl141Xco.js";import"./el-select-C8XVvVg6.js";import"./vnode-DQ45xHFU.js";import"./index-YDvJ5KV2.js";import"./directive-BVaYA311.js";import"./el-tooltip-l0sNRNKZ.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const X={class:"action-buttons"},Pt=$({__name:"InferenceListView",setup(Y){const T=J(),g=x(!1),y=x([]);let u=null;async function r(e=!1){e||(g.value=!0);try{y.value=await q()||[]}catch{}finally{e||(g.value=!1)}}function _(e){const t=k(e);return t.length>0&&t.some(s=>s.status==="starting")}function v(e){const t=k(e);return t.length===0?e.status==="loaded"||e.status==="ready":t.every(s=>s.status==="ready"||s.status==="running")&&!_(e)}function k(e){if(!e.load_status)return[];try{return(typeof e.load_status=="string"?JSON.parse(e.load_status):e.load_status).loaded_models||[]}catch{return[]}}function z(e){if(!e.models)return[];if(Array.isArray(e.models))return e.models.map(t=>t.model_name||t.name).filter(Boolean);try{const t=JSON.parse(e.models);if(Array.isArray(t))return t.map(s=>s.model_name||s.name).filter(Boolean)}catch{}return[]}async function B(e){await F(e.id),h.info("正在加载模型,请稍候..."),u&&clearTimeout(u),u=setTimeout(r,1e3)}async function L(e){await O.confirm("确定要停止模型服务吗?","确认停止",{type:"warning"}),await G(e.id),h.success("已停止模型服务"),r()}async function b(e){const t=await I(e.id).catch(()=>null);if(t!=null&&t.load_status){const s=k(t);for(const m of s)m.pid&&await H(m.pid).catch(()=>{})}await K(e.id),y.value=y.value.filter(s=>s.id!==e.id),await r(!0),h.success("删除成功")}function M(e){T.push(`/model-inference/chat/${e.id}`)}const{start:N}=j(()=>r(!0),3e3,{immediate:!1});return P(async()=>{await r(),N()}),R(()=>{u&&clearTimeout(u)}),(e,t)=>{const s=S,m=A,p=D;return o(),d(U,{title:"模型推理",data:y.value,loading:g.value,searchable:"","search-fields":["name","model_name","description"],"create-text":"新建推理","create-to":"/model-inference/create","delete-fn":b,"row-key":"id",onRefresh:r},{columns:l(()=>[n(s,{label:"推理名称",align:"center"},{default:l(({row:a})=>[i(f(a.model_name||a.name||"-"),1)]),_:1}),n(s,{label:"描述",align:"center","show-overflow-tooltip":""},{default:l(({row:a})=>[i(f(a.description||"-"),1)]),_:1}),n(s,{label:"状态",align:"center",width:"120"},{default:l(({row:a})=>[_(a)?(o(),d(m,{key:0,type:"warning",size:"small"},{default:l(()=>[...t[0]||(t[0]=[i("启动中",-1)])]),_:1})):v(a)?(o(),d(m,{key:1,type:"success",size:"small"},{default:l(()=>[...t[1]||(t[1]=[i("已就绪",-1)])]),_:1})):(o(),d(m,{key:2,type:E(Q)(a.status),size:"small"},{default:l(()=>[i(f(E(W)(a.status||"not_started")),1)]),_:2},1032,["type"]))]),_:1}),n(s,{label:"相关模型",align:"center","show-overflow-tooltip":""},{default:l(({row:a})=>[i(f(z(a).join(",")||"-"),1)]),_:1}),n(s,{label:"创建时间",align:"center",width:"180"},{default:l(({row:a})=>[i(f(a.create_time?new Date(a.create_time).toLocaleString("zh-CN"):"-"),1)]),_:1})]),actions:l(({row:a})=>[c("div",X,[_(a)?(o(),d(p,{key:0,type:"warning",link:"",size:"small",loading:!0,disabled:""},{default:l(()=>[...t[2]||(t[2]=[i(" 加载中 ",-1)])]),_:1})):v(a)?(o(),V(w,{key:1},[n(p,{type:"success",link:"",size:"small",onClick:C=>M(a)},{default:l(()=>[...t[3]||(t[3]=[c("i",{class:"fa fa-comments-o",style:{"margin-right":"4px"}},null,-1),i("对话 ",-1)])]),_:1},8,["onClick"]),n(p,{type:"warning",link:"",size:"small",onClick:C=>L(a)},{default:l(()=>[...t[4]||(t[4]=[c("i",{class:"fa fa-stop-circle-o",style:{"margin-right":"4px"}},null,-1),i("停止 ",-1)])]),_:1},8,["onClick"])],64)):(o(),d(p,{key:2,type:"primary",link:"",size:"small",onClick:C=>B(a)},{default:l(()=>[...t[5]||(t[5]=[c("i",{class:"fa fa-play-circle-o",style:{"margin-right":"4px"}},null,-1),i("加载 ",-1)])]),_:1},8,["onClick"])),n(p,{type:"danger",link:"",size:"small",onClick:C=>b(a)},{default:l(()=>[...t[6]||(t[6]=[c("i",{class:"fa fa-trash-o",style:{"margin-right":"4px"}},null,-1),i("删除 ",-1)])]),_:1},8,["onClick"])])]),_:1},8,["data","loading"])}}});export{Pt as default};
|