index-aea6b5a4.js 14 KB

1
  1. import{a4 as U,m as oe,al as ae,a8 as ne,am as ue,r as u,f as le,a5 as se,b as pe,h as ie,x as r,C as m,H as $,F as l,v as a,E as _,D as w,K as G,J as X,G as V,M as T,I as H,_ as ce,u as te,L as ee,aa as fe}from"./index-0ce8dc49.js";import{p as re}from"./icon-chart-38e5438e.js";function ve(){return U.get("/api/v1/llm/my_llms")}function ye(c){return U.post("/api/v1/llm/add_llm",c)}function ge(c){return U.post("/api/v1/llm/edit_llm",c)}function be(c){return U.post("/api/v1/llm/delete_llm",c)}function he(c,B){return U.get(`/api/v1/llm/get_llm/${c}/${B}`)}function we(c){return U.post("/api/v1/llm/add_llm_factory",c)}function ke(c){return U.delete(`/api/v1/llm/delete_llm_factory/${c}`)}function Le(c){return U.put("/api/v1/llm/edit_llm_factory",c)}function _e(c){return U.get("/api/v1/llm/factory_config",{params:c})}function xe(c){return U.get("/api/v1/llm/factories",{params:c})}const Ve={key:0},Ue={key:1},Se={class:"addInput"},Ce={style:{width:"100%","text-align":"right"}},Me="/api/v1/llm/upload",Fe=oe({__name:"addPageModel",props:ae({task_id:{type:Number,default:null},type:{type:Number,default:0},title:{type:String,default:""},editList:{type:Object,default:{}}},{show:{},showModifiers:{}}),emits:ae(["refresh-parent"],["update:show"]),setup(c,{emit:B}){const N=ne(),p=ue(c,"show");u(!1);const O=c;le(()=>O.type);const s=le(()=>O.editList),n=se({size:"medium",name:"",formData:{logo:""},llm_factory:"",llm_name:"",api_base:"",volc_ak:"",volc_sk:"",logo:"",radio:"radio one",urlS:"",slider:5,score:5,switch:!1,raptor:!1,addFomList:[]}),d=u(),x={logo:[{required:!0,message:"模型图片不能为空"}]},S=u([]),k=u([]),C=u([]),D=N.hrefUrl,Q=o=>{S.value=o},h=o=>{C.value=o,n.logo=o[0];const e=o.map(t=>D+t);k.value=e},R=()=>{n.logo="",C.value=[],k.value=[]},M=B,A=({values:o,errors:e})=>{var t;n.addFomList.map(f=>f.name+":"+f.value),console.log(n,9999),(t=d.value)==null||t.validate().then(async f=>{f||(n.formData.logo=C.value[0]||"",n.llm_factory=s.value.llm_factory,delete n.formData,O.title=="编辑"?(await ge(n)).code==200?(T.success("添加成功"),p.value=!1,M("refresh-parent",s.value.llm_factory)):T.error("添加失败"):(await ye(n)).code==200?(T.success("添加成功"),p.value=!1,M("refresh-parent",s.value.llm_factory)):T.error("添加失败"))}).catch(f=>{console.log(f)})},I=o=>{n.addFomList.splice(o,1)},J=()=>{p.value=!1},q=o=>{var e;Object.assign(n,{name:"",nameJoin:"",post:"",txt:""}),(e=d.value)==null||e.resetFields()};u();const K=async()=>{const o=await he(s.value.llm_factory,s.value.name);n.llm_name=o.data.llm_name,n.model_type=o.data.model_type,n.volc_ak=o.data.volc_ak,n.volc_sk=o.data.volc_sk,n.api_base=o.data.api_base,n.raptor=o.data.raptor,n.urlS=o.data.logo,JSON.parse(o.data.all_params).length>0&&(n.addFomList=JSON.parse(o.data.all_params).map(e=>({name:e.split(":")[0],value:e.split(":")[1]}))),k.value.push(D+o.data.logo)},W=async()=>{const{data:o}=await _e({factory_name:s.value.llm_factory});n.formData=o};return pe(()=>{W()}),ie(()=>{O.editList.name&&K()}),(o,e)=>{const t=r("a-option"),f=r("a-select"),g=r("a-form-item"),b=r("a-input"),F=r("Upload"),z=r("a-space"),E=r("icon-minus"),j=r("a-button"),Y=r("a-form"),y=r("a-modal");return m(),$(y,{visible:p.value,"onUpdate:visible":e[2]||(e[2]=i=>p.value=i),title:c.title,onBeforeOpen:q,onCancel:J,footer:!1,"title-align":"start",width:"600px"},{default:l(()=>[a(Y,{ref_key:"form_ref",ref:d,rules:x,model:n,onSubmit:A,style:{width:"90%",margin:"0 auto"},layout:"vertical"},{default:l(()=>[_("div",null,[(m(!0),w(X,null,G(n.formData.params,(i,v)=>(m(),w("div",{key:v},[i.value_type==="select"?(m(),w("div",Ve,[a(g,{field:i.key,label:i.name,required:i.required},{default:l(()=>[a(f,{modelValue:n[i.key],"onUpdate:modelValue":L=>n[i.key]=L,placeholder:"请选择"},{default:l(()=>[(m(!0),w(X,null,G(i.options,(L,Z)=>(m(),$(t,{value:Z,label:Z},null,8,["value","label"]))),256))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["field","label","required"])])):i.value_type==="input"?(m(),w("div",Ue,[a(g,{field:i.key,label:i.name,required:i.required},{default:l(()=>[a(b,{modelValue:n[i.key],"onUpdate:modelValue":L=>n[i.key]=L,placeholder:"请输入"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["field","label","required"])])):H("",!0)]))),128)),a(g,{field:"logo",label:"模型图片"},{default:l(()=>[a(z,{direction:"vertical",modelValue:n.logo,"onUpdate:modelValue":e[0]||(e[0]=i=>n.logo=i),style:{width:"100%"}},{default:l(()=>[a(F,{action:Me,limit:1,url:n.urlS,onHandleRemove:R,"onUpdate:fileList":Q,onSuccess:h},null,8,["url"])]),_:1},8,["modelValue"])]),_:1}),(m(!0),w(X,null,G(n.addFomList,(i,v)=>(m(),$(g,{key:v},{default:l(()=>[_("div",Se,[a(b,{style:{width:"230px"},modelValue:i.name,"onUpdate:modelValue":L=>i.name=L,placeholder:"请输入key"},null,8,["modelValue","onUpdate:modelValue"]),e[3]||(e[3]=V(" : ")),a(b,{modelValue:i.value,"onUpdate:modelValue":L=>i.value=L,placeholder:"请输入value"},null,8,["modelValue","onUpdate:modelValue"]),a(j,{status:"danger",onClick:L=>I(v),style:{"margin-left":"10px"}},{icon:l(()=>[a(E,{size:"22"})]),_:2},1032,["onClick"])])]),_:2},1024))),128))]),a(g,null,{default:l(()=>[_("div",Ce,[a(j,{onClick:e[1]||(e[1]=i=>p.value=!1)},{default:l(()=>e[4]||(e[4]=[V("取消")])),_:1}),a(j,{style:{"margin-left":"10px"},type:"primary","html-type":"submit"},{default:l(()=>e[5]||(e[5]=[V("确定")])),_:1})])]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","title"])}}});const $e=ce(Fe,[["__scopeId","data-v-5ad25e7a"]]),Oe={style:{width:"100%","text-align":"right"}},De={name:"add",methods:{}},qe=oe({...De,props:ae({task_id:{type:Number,default:null},nameList:{type:Object,default:{}},title:{type:String,default:"添加模型"}},{tabShow:{},tabShowModifiers:{}}),emits:ae(["refresh-parent"],["update:tabShow"]),setup(c,{emit:B}){const N=ne(),p=ue(c,"tabShow"),O=N.hrefUrl;u(!1);const s=c,n=le(()=>s.nameList),d=se({size:"medium",name:"",describe:"",api_base:"",tags:"",logo:"",urlS:""}),x=u(),S={name:[{required:!0,message:"模型框架不允许为空"}],tags:[{required:!0,message:"描述不允许为空"}],logo:[{required:!0,message:"模型图片不能为空"}]},k=({values:o,errors:e})=>{console.log(n,9999),x.value.validate().then(async t=>{t||(s.title=="编辑模型"?await Le({name:d.name,tags:d.tags,api_base:d.api_base,logo:M.value[0]||""}).then(f=>{f.code===200&&(C("refresh-parent",d.name),p.value=!1)}).catch(()=>{}):await we({name:d.name,tags:d.tags,api_base:d.api_base,logo:M.value[0]}).then(f=>{f.code===200&&(C("refresh-parent",d.name),p.value=!1,T.success("添加成功"))}).catch(()=>{T.error("添加失败")}))})},C=B,D=()=>{p.value=!1},Q="/api/v1/llm/upload",h=u([]),R=u([]),M=u([]),A=o=>{h.value=o},I=()=>{d.logo="",M.value=[],R.value=[]},J=o=>{M.value=o,d.logo=o[0];const e=o.map(t=>O+t);R.value=e},q=o=>{var e;Object.assign(d,{name:"",nameJoin:"",post:"",txt:""}),(e=x.value)==null||e.resetFields()},K=u([]);return(async()=>{const o=await xe();K.value=o.data})(),ie(()=>{s.nameList&&s.title=="编辑模型"&&(d.name=s.nameList.llm_factory,d.tags=s.nameList.tags,d.urlS=s.nameList.logo)}),(o,e)=>{const t=r("a-option"),f=r("a-select"),g=r("a-form-item"),b=r("a-textarea"),F=r("Upload"),z=r("a-space"),E=r("a-button"),j=r("a-form"),Y=r("a-modal");return m(),$(Y,{visible:p.value,"onUpdate:visible":e[4]||(e[4]=y=>p.value=y),title:c.title,onBeforeOpen:q,onCancel:D,footer:!1,"title-align":"start",width:"600px"},{default:l(()=>[a(j,{ref_key:"formRef",ref:x,rules:S,model:d,onSubmit:k,style:{width:"90%",margin:"0 auto"},layout:"vertical"},{default:l(()=>[a(g,{field:"name",label:"模型框架"},{default:l(()=>[a(f,{modelValue:d.name,"onUpdate:modelValue":e[0]||(e[0]=y=>d.name=y),placeholder:"请选择模型框架","allow-create":"","allow-search":""},{default:l(()=>[(m(!0),w(X,null,G(K.value,(y,i)=>(m(),$(t,{value:y.name,label:y.name,disabled:y.added},null,8,["value","label","disabled"]))),256))]),_:1},8,["modelValue"])]),_:1}),a(g,{field:"tags",label:"模型描述"},{default:l(()=>[a(b,{modelValue:d.tags,"onUpdate:modelValue":e[1]||(e[1]=y=>d.tags=y),placeholder:"请输入模型描述","max-length":50,"allow-clear":""},null,8,["modelValue"])]),_:1}),a(g,{field:"logo",label:"模型图片"},{default:l(()=>[a(z,{modelValue:d.logo,"onUpdate:modelValue":e[2]||(e[2]=y=>d.logo=y),direction:"vertical",style:{width:"100%"}},{default:l(()=>[a(F,{action:Q,limit:1,url:d.urlS,onHandleRemove:I,"onUpdate:fileList":A,onSuccess:J},null,8,["url"])]),_:1},8,["modelValue"])]),_:1}),a(g,null,{default:l(()=>[_("div",Oe,[a(E,{onClick:e[3]||(e[3]=y=>p.value=!1)},{default:l(()=>e[5]||(e[5]=[V("取消")])),_:1}),a(E,{style:{"margin-left":"10px"},type:"primary","html-type":"submit"},{default:l(()=>e[6]||(e[6]=[V("确定")])),_:1})])]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","title"])}}}),Pe={class:"container"},Te={class:"card_content"},Be={class:"content_top"},Ne={class:"card_wrap_box"},je={class:"box_user_content"},Re={class:"box_usr_img"},Ae={class:"card_wrap_box_img"},Ie=["src"],Je={class:"arco-content-title"},Ke={class:"title_name"},ze={class:"create_time"},Ee={class:"box_user_btn"},He={key:0,class:"no_data"},Ge={key:1,class:"subset_list"},Xe={class:"card_wrap_box"},Qe={class:"card_wrap_box_img"},We=["src"],Ye={class:"arco-card-body-content"},Ze={class:"arco-card-body-content-title"},et={class:"arco-card-body-content-dec"},tt={class:"arco-btn-group"},at={class:"create_time_list"},lt={name:"Card"},ot=oe({...lt,setup(c){const B=ne(),N=u(!1);u(1),u([{key:1,title:"key",content:"Content of Tab Panel 1"},{key:2,title:"Ollama",content:"Content of Tab Panel 2"},{key:3,title:"Xinference",content:"Content of Tab Panel 3"}]);const p=u({key:{tags:"添加key",id:1,live:1}});u(!1);const O=u({}),s=u(""),n=async e=>{s.value=e,await o()},d=B.hrefUrl,x=u(!1),S=u(!1),k=u("添加模式"),C=u(1),D=u(1),Q=()=>{S.value=!0,k.value="添加模型",h.value.llm_factory=s.value},h=u({llm_factory:""}),R=()=>{D.value=2,h.value=[{llm_factory:""}],h.value.llm_factory=s.value,x.value=!0,k.value="添加模式"},M=(e,t)=>{t==1?(S.value=!0,h.value=e,k.value="编辑模型",h.value.llm_factory=s.value):(D.value=2,C.value=e.id,x.value=!0,k.value="编辑",h.value=e,h.value.llm_factory=s.value)},A=(e,t)=>{s.value,t==1?I(e):fe.confirm({title:"警告",content:"确认删除吗",okText:"确定",cancelText:"取消",onOk:async()=>{(await be({llm_factory:s.value,llm_name:e.name})).code==0&&await q("")},onCancel:()=>{}})},I=async e=>{if(p.value[e]&&p.value[e].llm.length>0){T.error("请先删除子模型");return}(await ke(s.value)).code==200&&(await q(null),T.success("删除成功"))};u(!1),u(),se({size:"medium",name:""});const J=u(!1),q=async e=>{const t=await ve();O.value=t.data,J.value=!0,await K(t.data,1,e),await o()};q(null);const K=(e,t,f)=>{p.value="",s.value="";const g=Object.keys(e).filter(b=>e[b].added==1).reduce((b,F)=>(b[F]=e[F],b),{});p.value=g,f?s.value=f:s.value=Object.keys(p.value)[0],console.log(s.value,6766)},W=async e=>{await q(e)},o=async()=>{const{data:e}=await _e({factory_name:s.value});e.set_type==2?N.value=!0:N.value=!1,console.log(s.value,9787)};return(e,t)=>{const f=r("Breadcrumb"),g=r("icon-plus"),b=r("a-button"),F=r("a-space"),z=r("a-card"),E=r("a-scrollbar"),j=r("a-tab-pane"),Y=r("a-tabs"),y=r("a-col"),i=r("a-row");return m(),w("div",Pe,[a(f,{items:["大模型","模型管理"]}),a(i,{gutter:20,align:"stretch"},{default:l(()=>[a(y,{span:24},{default:l(()=>[a(z,{class:"general-card",style:{"min-height":"130px"},title:e.$t("大模型管理")},{default:l(()=>[a(i,{justify:"space-between"},{default:l(()=>[J.value?(m(),$(y,{key:0,span:24,class:"table_add_clore"},{default:l(()=>[a(Y,{type:"line","default-active-key":s.value,activeKey:s.value,"onUpdate:activeKey":t[0]||(t[0]=v=>s.value=v),editable:!0,onTabClick:n,onAdd:Q,onDelete:I,"show-add-button":""},{default:l(()=>[(m(!0),w(X,null,G(p.value,(v,L)=>(m(),$(j,{key:L,title:L,closable:Object.keys(p.value).length>=4},{default:l(()=>[a(E,{style:{height:"calc(100vh - 320px)",overflow:"auto"}},{default:l(()=>{var Z,de;return[_("div",Te,[_("div",Be,[_("div",Ne,[_("div",je,[_("div",Re,[_("div",Ae,[_("img",{alt:"暂无图片",src:v.logo?te(d)+v.logo:te(re)},null,8,Ie)]),_("div",Je,[_("div",Ke,ee(v.tags),1),_("div",ze,[t[3]||(t[3]=V(" 创建时间: ")),_("span",null,ee(v.create_date),1)])])]),_("div",Ee,[a(F,{class:"btn-group"},{default:l(()=>[a(b,{type:"primary",onClick:R,disabled:N.value},{icon:l(()=>[a(g)]),default:l(()=>[t[4]||(t[4]=V(" 添加 "))]),_:1},8,["disabled"]),a(b,{type:"outline",onClick:P=>M(v,1)},{default:l(()=>t[5]||(t[5]=[V(" 编辑 ")])),_:2},1032,["onClick"]),a(b,{onClick:P=>A(v,1),class:"btn_delete"},{default:l(()=>t[6]||(t[6]=[V(" 删除 ")])),_:2},1032,["onClick"])]),_:2},1024)])])])]),((Z=v.llm)==null?void 0:Z.length)>0?(m(),w("div",He)):H("",!0),((de=v.llm)==null?void 0:de.length)>0?(m(),w("div",Ge,[(m(!0),w(X,null,G(v.llm,(P,me)=>(m(),w("div",{class:"card-wrap",key:me},[_("div",Xe,[_("div",Qe,[_("img",{style:{width:"100%"},alt:"暂无图片",src:P.logo?te(d)+P.logo:te(re)},null,8,We)]),a(z,{bordered:!1,hoverable:""},{default:l(()=>[_("div",Ye,[_("div",Ze,ee(P.name),1),_("div",et,ee(P.type),1)])]),_:2},1024),_("div",tt,[a(F,{class:"btn-group"},{default:l(()=>[_("div",at,[t[7]||(t[7]=V(" 创建时间: ")),_("span",null,ee(P.create_date),1)]),a(b,{onClick:nt=>A(P)},{default:l(()=>t[8]||(t[8]=[V(" 删除 ")])),_:2},1032,["onClick"])]),_:2},1024)])])]))),128))])):H("",!0)])]}),_:2},1024)]),_:2},1032,["title","closable"]))),128))]),_:1},8,["default-active-key","activeKey"])]),_:1})):H("",!0),t[9]||(t[9]=_("div",null,null,-1))]),_:1})]),_:1},8,["title"])]),_:1})]),_:1}),x.value?(m(),$($e,{key:0,show:x.value,"onUpdate:show":t[1]||(t[1]=v=>x.value=v),task_id:C.value,type:D.value,title:k.value,editList:h.value,onRefreshParent:W},null,8,["show","task_id","type","title","editList"])):H("",!0),S.value?(m(),$(qe,{key:1,tabShow:S.value,"onUpdate:tabShow":t[2]||(t[2]=v=>S.value=v),nameList:h.value,title:k.value,onRefreshParent:W},null,8,["tabShow","nameList","title"])):H("",!0)])}}});const rt=ce(ot,[["__scopeId","data-v-33e2e1ab"]]);export{rt as default};