| 1 |
- import{ac as Y,ft as s,cs as S,cp as o,cQ as ie,gS as ce,fr as me,fp as fe,fV as u,cq as c,ct as ye,g$ as l,cw as a,h2 as E,cv as w,gx as m,cr as f,gN as x,f8 as he,aF as ge,V as ke,gs as z,dX as de,cB as we,fM as v,c9 as D,w as $e,eS as G,y as Me,fy as ue,gZ as Ce,fW as pe,dS as Se,E as be,fe as re,aW as se,h0 as ne,gV as Te,F as U,fS as J,f9 as xe,h as De,aK as Le,gh as Re}from"./builder-DygomDiV.js";import{E as Ie,_ as Ne}from"./ParamSettingDialog.vue_vue_type_script_setup_true_lang-hr6V5Smx.js";import{_ as Ve}from"./AuthorizedWorkspaceDialog.vue_vue_type_script_setup_true_lang-oa_DbDP7.js";import{_ as Ee}from"./index.vue_vue_type_script_setup_true_lang-11hXv39X.js";import"./permission-api-BH6iJDRI.js";import"./workspace-DtPl6jqF.js";const Ae={},Be={class:"loading-container loader"};function ze(i,L){return s(),S("div",Be,[...L[0]||(L[0]=[o("div",{class:"download-loading"},[o("div"),o("div"),o("div"),o("div"),o("div"),o("div"),o("div"),o("div")],-1)])])}const Fe=Y(Ae,[["render",ze],["__scopeId","data-v-91938551"]]),Oe=["innerHTML"],Pe={class:"flex"},We=["title"],He={key:0},Ue={key:1},Ge=["title"],je={class:"ml-4 mr-4"},qe={class:"flex mb-4"},Ke={class:"ellipsis ml-16"},Qe={class:"flex"},Xe={class:"ellipsis-1 ml-16",style:{height:"20px",width:"70%"}},Ze={key:0,class:"progress-mask"},Je={class:"percentage-label flex-center"},Ye=ie({__name:"ModelCard",props:{model:{},provider_list:{},updateModelById:{type:Function},isShared:{type:Boolean},isSystemShare:{type:Boolean},apiType:{}},emits:["change","update:model"],setup(i,{emit:L}){const F=v();ce();const r=i,$=e=>{F.value?.open("MODEL",e)},M=D(()=>r.apiType==="systemShare"),_=D(()=>ue.model[r.apiType]),P=e=>_.value.modify(e)||_.value.delete(e)||_.value.auth(e)||_.value.relate_map(e)||M.value,y=v();function b(e){y.value.open(e.id)}const n=v(),d=D(()=>n.value?n.value:r.model),g=D(()=>d.value.meta&&d.value.meta.message?d.value.meta.message==="pull model manifest: file does not exist"?`${d.value.model_name} ${z("views.model.tip.noModel")}`:d.value.meta.message:""),I=L,A=v();let T;const h=()=>{$e(`${z("views.model.delete.confirmTitle")}${r.model.name} ?`,r.model.resource_count>0?z("views.model.delete.resourceCountMessage",{count:r.model.resource_count}):"",{confirmButtonText:z("common.confirm"),confirmButtonClass:"danger"}).then(()=>{G({type:"model",systemType:r.apiType}).deleteModel(r.model.id).then(()=>{I("change"),Me(z("common.deleteSuccess"))})}).catch(()=>{})},N=()=>{G({type:"model",systemType:r.apiType}).pauseDownload(r.model.id).then(()=>{n.value=void 0,I("change")})},ee=()=>{const e=r.provider_list.find(t=>t.provider===r.model.provider);e&&A.value?.open(e,r.model)},j=D(()=>r.provider_list.find(e=>e.provider===r.model.provider)?.icon),q=()=>{T=setInterval(()=>{d.value.status==="DOWNLOAD"?G({type:"model",systemType:r.apiType}).getModelMetaById(r.model.id).then(e=>{n.value=e.data}):n.value&&(r.updateModelById(r.model.id,n.value),n.value=void 0)},6e3)},K=()=>{T&&clearInterval(T)},Q=v(),W=()=>{Q.value?.open(r.model)},C=v();function le(e){C.value&&C.value.open(e,"Model")}return me(()=>{q()}),fe(()=>{K()}),(e,t)=>{const k=u("WarningFilled"),O=u("el-icon"),X=u("el-tooltip"),H=u("el-text"),oe=u("el-tag"),Z=u("el-button"),R=u("AppIcon"),V=u("el-dropdown-item"),te=u("el-dropdown-menu"),ae=u("el-dropdown"),p=u("card-box");return s(),c(p,{title:i.model.name,shadow:"hover",class:"model-card"},ye({icon:l(()=>[o("span",{style:{height:"32px",width:"32px"},innerHTML:j.value},null,8,Oe)]),title:l(()=>[o("div",Pe,[o("span",{class:"ellipsis-1",title:i.model.name,style:{"max-width":"80%"}},m(i.model.name),9,We),d.value.status==="ERROR"?(s(),S("span",He,[a(X,{effect:"dark",content:g.value,placement:"top"},{default:l(()=>[a(O,{class:"color-danger ml-4",size:"18"},{default:l(()=>[a(k)]),_:1})]),_:1},8,["content"])])):f("",!0),d.value.status==="PAUSE_DOWNLOAD"?(s(),S("span",Ue,[a(X,{effect:"dark",content:`${e.$t("views.model.modelForm.base_model.label")}: ${r.model.model_name} ${e.$t("views.model.tip.downloadError")}`,placement:"top"},{default:l(()=>[a(O,{class:"color-danger ml-4",size:"18"},{default:l(()=>[a(k)]),_:1})]),_:1},8,["content"])])):f("",!0)])]),subTitle:l(()=>[a(H,{class:"color-secondary lighter flex align-center",size:"small"},{default:l(()=>[o("span",{title:x(de)(i.model.nick_name),class:"ellipsis",style:{"max-width":"90px"}},m(x(de)(i.model.nick_name)),9,Ge),o("span",je,m(e.$t("common.createdIn")),1),o("span",null,m(x(we)(i.model.create_time)),1)]),_:1})]),tag:l(()=>[i.isShared||M.value?(s(),c(oe,{key:0,size:"small",type:"info",class:"info-tag"},{default:l(()=>[w(m(x(z)("views.shared.title")),1)]),_:1})):f("",!0)]),default:l(()=>[o("ul",null,[o("li",qe,[a(H,{type:"info",class:"color-secondary"},{default:l(()=>[w(m(e.$t("views.model.modelForm.model_type.label")),1)]),_:1}),o("span",Ke,m(e.$t(x(he)[i.model.model_type])),1)]),o("li",Qe,[a(H,{type:"info",class:"color-secondary"},{default:l(()=>[w(m(e.$t("views.model.modelForm.base_model.label")),1)]),_:1}),o("span",Xe,m(i.model.model_name),1)])]),d.value.status==="DOWNLOAD"?(s(),S("div",Ze,[a(Fe,{class:"percentage"}),o("div",Je,[w(m(e.$t("views.model.download.downloading"))+" ",1),t[5]||(t[5]=o("span",{class:"dotting"},null,-1)),a(Z,{link:"",type:"primary",class:"ml-16",onClick:E(N,["stop"])},{default:l(()=>[w(m(e.$t("views.model.download.cancelDownload")),1)]),_:1})])])):f("",!0),a(Ie,{ref_key:"editModelRef",ref:A,onSubmit:t[4]||(t[4]=B=>I("change"))},null,512),a(Ne,{ref_key:"paramSettingRef",ref:Q},null,512),M.value?(s(),c(Ve,{key:1,ref_key:"AuthorizedWorkspaceDialogRef",ref:C},null,512)):f("",!0),i.apiType==="workspace"?(s(),c(ge,{key:2,type:x(ke).MODEL,ref_key:"ResourceAuthorizationDrawerRef",ref:y},null,8,["type"])):f("",!0),a(Ee,{ref_key:"resourceMappingDrawerRef",ref:F},null,512)]),_:2},[P(i.model.id)?{name:"mouseEnter",fn:l(()=>[i.isShared?f("",!0):(s(),c(ae,{key:0,trigger:"click"},{dropdown:l(()=>[a(te,null,{default:l(()=>[_.value.modify(i.model.id)?(s(),c(V,{key:0,text:"",onClick:E(ee,["stop"])},{default:l(()=>[a(R,{iconName:"app-edit",class:"color-secondary"}),w(" "+m(e.$t("common.edit")),1)]),_:1})):f("",!0),M.value?(s(),c(V,{key:1,onClick:t[1]||(t[1]=E(B=>le(i.model),["stop"]))},{default:l(()=>[a(R,{iconName:"app-lock",class:"color-secondary"}),w(" "+m(e.$t("views.shared.authorized_workspace")),1)]),_:1})):f("",!0),(d.value.model_type==="TTS"||d.value.model_type==="STT"||d.value.model_type==="LLM"||d.value.model_type==="IMAGE"||d.value.model_type==="TTI"||d.value.model_type==="ITV"||d.value.model_type==="EMBEDDING"||d.value.model_type==="TTV")&&_.value.paramSetting(i.model.id)?(s(),c(V,{key:2,onClick:E(W,["stop"])},{default:l(()=>[a(R,{iconName:"app-setting",class:"color-secondary"}),w(" "+m(e.$t("views.model.modelForm.title.paramSetting")),1)]),_:1})):f("",!0),i.apiType==="workspace"&&_.value.auth(i.model.id)?(s(),c(V,{key:3,onClick:t[2]||(t[2]=E(B=>b(i.model),["stop"]))},{default:l(()=>[a(R,{iconName:"app-resource-authorization",class:"color-secondary"}),w(" "+m(e.$t("views.system.resourceAuthorization.title")),1)]),_:1})):f("",!0),_.value.relate_map(i.model.id)?(s(),c(V,{key:4,text:"",onClick:t[3]||(t[3]=E(B=>$(i.model),["stop"]))},{default:l(()=>[a(R,{iconName:"app-resource-mapping",class:"color-secondary"}),w(" "+m(e.$t("views.system.resourceMapping.title")),1)]),_:1})):f("",!0),_.value.delete(i.model.id)?(s(),c(V,{key:5,divided:"",text:"",onClick:E(h,["stop"])},{default:l(()=>[a(R,{iconName:"app-delete",class:"color-secondary"}),w(" "+m(e.$t("common.delete")),1)]),_:1})):f("",!0)]),_:1})]),default:l(()=>[a(Z,{text:"",onClick:t[0]||(t[0]=E(()=>{},["stop"]))},{default:l(()=>[a(R,{iconName:"app-more",class:"color-secondary"})]),_:1})]),_:1}))]),key:"0"}:void 0]),1032,["title"])}}}),el=Y(Ye,[["__scopeId","data-v-6d825019"]]),ll={class:"provider-list"},ol={class:"p-8"},tl={key:0,class:"border-b mb-4"},al={class:"ml-8"},sl={class:"flex align-center"},nl={class:"ml-8"},il={class:"flex align-center"},dl=["innerHTML"],rl=["title"],cl={class:"flex align-center"},ml={class:"ml-8"},ul={class:"flex align-center"},pl=["innerHTML"],vl=["title"],_l=ie({__name:"Provider",props:{data:{},loading:{type:Boolean},showShared:{type:Boolean},active:{}},emits:["click"],setup(i,{emit:L}){const F=i,r=L,$=v([]),M=v([]);Ce(()=>F.data,y=>{const b=["model_ollama_provider","model_local_provider","model_xinference_provider","model_vllm_provider","model_docker_ai_provider"];y.filter(n=>n.provider)?.forEach(n=>{b.indexOf(n.provider)>-1?M.value.push(n):$.value.push(n)}),$.value.sort((n,d)=>n.provider.localeCompare(d.provider)),M.value.sort((n,d)=>n.provider.localeCompare(d.provider))},{immediate:!0});const _=y=>{r("click",y)},P=()=>{r("click",{provider:"share",name:z("views.shared.shared_model")})};return(y,b)=>{const n=u("AppIcon"),d=u("common-list"),g=u("el-collapse-item"),I=u("el-collapse"),A=u("el-scrollbar"),T=pe("loading");return s(),S("div",ll,[a(A,null,{default:l(()=>[o("div",ol,[i.showShared&&x(Se)(x(be).IS_EE,"OR")?(s(),S("div",tl,[o("div",{onClick:P,class:re(["shared-button flex cursor",i.active?.provider==="share"&&"active"])},[a(n,{iconName:"app-shared-active",style:{"font-size":"18px"},class:"color-primary"}),o("span",al,m(y.$t("views.shared.shared_model")),1)],2)])):f("",!0),o("div",{class:re(["all-mode flex cursor",i.active?.provider?"":"all-mode-active color-primary-1"]),onClick:b[0]||(b[0]=h=>_(x(se)))},[a(n,{class:"mr-8 color-primary",style:{height:"20px",width:"20px"},iconName:"app-all-menu-active"}),o("span",null,m(y.$t("views.model.modelType.allModel")),1)],2),a(I,{class:"model-collapse","expand-icon-position":"left"},{default:l(()=>[a(g,{title:y.$t("views.model.modelType.publicModel"),name:"1",icon:"CaretRight"},{title:l(()=>[o("div",sl,[a(n,{iconName:"app-folder",style:{"font-size":"20px"}}),o("span",nl,m(y.$t("views.model.modelType.publicModel")),1)])]),default:l(()=>[ne((s(),c(d,{data:$.value,onClick:_,"value-key":"provider","default-active":"",ref:"commonList1"},{default:l(({row:h})=>[o("div",il,[o("span",{innerHTML:h.icon,alt:"",style:{height:"20px",width:"20px"},class:"mr-8"},null,8,dl),o("span",{class:"ellipsis-1",title:h.name},m(h.name),9,rl)])]),_:1},8,["data"])),[[T,i.loading]])]),_:1},8,["title"]),a(g,{title:y.$t("views.model.modelType.privateModel"),name:"2",icon:"CaretRight"},{title:l(()=>[o("div",cl,[a(n,{iconName:"app-folder",style:{"font-size":"20px"}}),o("span",ml,m(y.$t("views.model.modelType.privateModel")),1)])]),default:l(()=>[ne((s(),c(d,{data:M.value,onClick:_,"value-key":"provider","default-active":"",ref:"commonList2"},{default:l(({row:h})=>[o("div",ul,[o("span",{innerHTML:h.icon,alt:"",style:{height:"20px",width:"20px"},class:"mr-8"},null,8,pl),o("span",{class:"ellipsis-1",title:h.name},m(h.name),9,vl)])]),_:1},8,["data"])),[[T,i.loading]])]),_:1},8,["title"])]),_:1})])]),_:1})])}}}),fl=Y(_l,[["__scopeId","data-v-0ef9896e"]]),yl={class:"p-12-16 pb-0 mt-12"},hl={class:"flex"},gl={class:"complex-search"},kl={class:"model-list-height"},wl=ie({__name:"index",setup(i){const L=ce(),{model:F,user:r}=Te(),$=D(()=>L.path.includes("shared")?"systemShare":L.path.includes("resource-management")?"systemManage":"workspace"),M=D(()=>ue.model[$.value]),_=D(()=>$.value==="systemShare"),P=v(),y=v(),b=v(!1),n=v(),d=v("name"),g=v({name:"",create_user:"",model_type:""}),I=v([]),A=v(!1),T=v([]),h=v([]),N=D(()=>n.value&&n.value.provider==="share"),ee=(e,t)=>{h.value.filter(k=>k.id==e).forEach(k=>{k.status=t.status})},j=D(()=>Re(h.value,2)),q=v(),K=v(),Q=e=>{n.value=e,C(),n.value.provider===""&&(P.value?.clearCurrent(),y.value?.clearCurrent())},W=(e,t)=>{e&&e.provider?q.value?.open(e,t):K.value?.open()},C=()=>{const e=n.value?.provider&&n.value?.provider!=="share"?{provider:n.value.provider}:{};G({type:"model",isShared:N.value,systemType:$.value}).getModelList({...g.value,...e},A).then(t=>{h.value=t.data}),G({type:"workspace",isShared:N.value,systemType:$.value}).getAllMemberList(r.getWorkspaceId(),b).then(t=>{I.value=t.data})},le=()=>{g.value={name:"",create_user:"",model_type:""}};return me(()=>{F.asyncGetProvider(b).then(e=>{n.value=se,T.value=[se,...e.data],C()})}),(e,t)=>{const k=u("el-option"),O=u("el-select"),X=u("el-input"),H=u("el-button"),oe=u("el-col"),Z=u("el-row"),R=u("el-empty"),V=u("ContentContainer"),te=u("LayoutContainer"),ae=pe("loading");return s(),c(te,{showCollapse:"",class:"model-manage"},{left:l(()=>[o("h4",yl,m(e.$t("views.model.provider")),1),a(fl,{data:T.value,onClick:Q,loading:b.value,showShared:M.value.is_share(),active:n.value},null,8,["data","loading","showShared","active"])]),default:l(()=>[ne((s(),c(V,{header:n.value?.name,style:{padding:"0"}},{search:l(()=>[o("div",hl,[o("div",gl,[a(O,{class:"complex-search__left",modelValue:d.value,"onUpdate:modelValue":t[0]||(t[0]=p=>d.value=p),style:{width:"120px"},onChange:le},{default:l(()=>[a(k,{label:e.$t("common.creator"),value:"create_user"},null,8,["label"]),a(k,{label:e.$t("views.model.modelForm.model_type.label"),value:"model_type"},null,8,["label"]),a(k,{label:e.$t("views.model.modelForm.modeName.label"),value:"name"},null,8,["label"])]),_:1},8,["modelValue"]),d.value==="name"?(s(),c(X,{key:0,modelValue:g.value.name,"onUpdate:modelValue":t[1]||(t[1]=p=>g.value.name=p),onChange:C,placeholder:e.$t("common.searchBar.placeholder"),style:{width:"220px"},clearable:""},null,8,["modelValue","placeholder"])):d.value==="create_user"?(s(),c(O,{key:1,modelValue:g.value.create_user,"onUpdate:modelValue":t[2]||(t[2]=p=>g.value.create_user=p),onChange:C,filterable:"",clearable:"",style:{width:"220px"}},{default:l(()=>[(s(!0),S(U,null,J(I.value,p=>(s(),c(k,{key:p.id,value:p.id,label:p.nick_name},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])):d.value==="model_type"?(s(),c(O,{key:2,modelValue:g.value.model_type,"onUpdate:modelValue":t[3]||(t[3]=p=>g.value.model_type=p),clearable:"",onChange:C,style:{width:"220px"}},{default:l(()=>[(s(!0),S(U,null,J(x(xe),p=>(s(),c(k,{key:p.value,label:p.text,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):f("",!0)]),!N.value&&M.value.create()?(s(),c(H,{key:0,class:"ml-16",type:"primary",onClick:t[4]||(t[4]=p=>W(n.value))},{default:l(()=>[w(m(e.$t("views.model.addModel")),1)]),_:1})):f("",!0)])]),default:l(()=>[o("div",kl,[j.value.length>0?(s(),c(Z,{key:0,gutter:15,class:"w-full"},{default:l(()=>[(s(!0),S(U,null,J(j.value,(p,B)=>(s(),S(U,{key:B},[(s(!0),S(U,null,J(p,(ve,_e)=>(s(),c(oe,{xs:24,sm:12,md:_.value?24:12,lg:_.value?12:8,xl:_.value?12:8,class:"mb-16",key:_e},{default:l(()=>[a(el,{onChange:C,updateModelById:ee,model:ve,provider_list:T.value,isShared:N.value,isSystemShare:_.value,apiType:$.value},null,8,["model","provider_list","isShared","isSystemShare","apiType"])]),_:2},1032,["md","lg","xl"]))),128))],64))),128))]),_:1})):(s(),c(R,{key:1,description:e.$t("common.noData")},null,8,["description"]))])]),_:1},8,["header"])),[[ae,A.value]]),N.value?f("",!0):(s(),c(De,{key:0,ref_key:"createModelRef",ref:q,onSubmit:C,onChange:t[5]||(t[5]=p=>W(p))},null,512)),N.value?f("",!0):(s(),c(Le,{key:1,ref_key:"selectProviderRef",ref:K,onChange:t[6]||(t[6]=(p,B)=>W(p,B))},null,512))]),_:1})}}}),xl=Y(wl,[["__scopeId","data-v-13008727"]]);export{xl as default};
|