| 1 |
- import Ee from"./LayoutExperience-B_92axy5.js";import Ae from"./ContentContainer-B4iO2hgp.js";import{H as Oe}from"./HeadManage-Dy4_dic9.js";import{H as ke,_ as W,M as te,B as me}from"./index-CbnZ75ik.js";import{S as pe}from"./index-BkdT3yg5.js";/* empty css */import"./index-DojstbIe.js";import{S as de,a as he,O as se,T as we}from"./index-CjPVD-qU.js";/* empty css *//* empty css */import"./index-BOns2yCW.js";/* empty css */import"./index-BdrvICAT.js";import{F as oe,a as ne}from"./index-D0ehM7s7.js";import{q as Se,E as De,F as Fe,G as Be,H as Te,I as xe,J as Re,K as Pe,L as qe,M as Ne,N as Ge,O as Xe,P as He,Q as ze,R as Ke,S as Ye,T as Ze,U as _e,V as Je,W as Qe,X as We}from"./rgflow-dify-D-G5_93h.js";import{M as z}from"./index-BWujGKY8.js";import{e as J,j as m,B as j,q as i,o as a,w as l,a as _,v as t,c as f,F as M,Z as S,t as D,u as b,p as Q,s as A,Y as K,T as ie,J as be,m as re,n as je}from"./vue-vendor-CBGUFTsF.js";import{c as ve}from"./icon-map-D83d39Ln.js";import{_ as Me}from"./DeleteModal-DubEfxiJ.js";/* empty css */import{I as ue}from"./index-ClbtB6T_.js";import{I as el}from"./index-V_1yHv2G.js";import{E as Ve}from"./index-wl2JXYkm.js";import"./Header-5H8TiprC.js";import"./logo-CxXS7KxG.js";import"./use-platform-information-BwI-Z1kC.js";/* empty css */import"./use-logout-ByrETLZf.js";import"./use-current-user-QMkQu5OF.js";import"./login-IlmTmt34.js";import"./use-merge-state-gUKzwAl9.js";import"./resize-observer-7vU4Bram.js";import"./index-CSsgy_e1.js";import"./index-B3z4cY-J.js";import"./index-xbIU2d46.js";import"./responsive-observe-4ACH6YSC.js";import"./index.es-BW_FzNZC.js";import"./index-B98hbOb6.js";function $e(){return ke({url:"/api/v1/complex/model",method:"get"})}function Ue({chatType:y,modelType:x,modelName:c,modelProvider:L}){return ke({url:"/api/v1/complex/model",method:"put",data:{chatType:y,modelType:x,modelName:c,modelProvider:L}})}const ll={class:"section"},al={class:"fist—page-model"},tl={class:"select"},ol={__name:"SystemSetting",props:{show_modal:Boolean},emits:["ragClose"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m({llm_id:"",embd_id:"",img2txt_id:"",asr_id:"",rerank_id:"",tts_id:""}),e=m({dialog_model:{modelName:"",modelProvider:""},dialog_model_ds:{modelName:"",modelProvider:""}}),F=m(),P=m(),N=m(),B=m(),q=m(),E=m(),h=m(),s=m(!1),g=async()=>{s.value=!0;try{const $=await $e();e.value.dialog_model=$.dialog,e.value.dialog_model_ds=$.dialog_ds}catch($){console.log($)}finally{s.value=!1}},r=async($,o,U)=>{s.value=!0;try{await Ue({modelType:U,modelName:$,modelProvider:o,chatType:1})}catch(O){console.log(O)}finally{s.value=!1}},p=async()=>{s.value=!0;try{const $=await De();if($.code/1===0){const o=$.data.llm_id.split("@")[0],U=$.data.embd_id.split("@")[0];o?n.value={...$.data,llm_id:o}:n.value={...$.data},U&&(n.value={...n.value,embd_id:U})}}catch($){console.log($)}finally{s.value=!1}},v=async()=>{s.value=!0;try{const $=await Se(),o={};for(const U in $.data)if(Object.hasOwnProperty.call($.data,U)){const O=$.data[U];o[U]=O.filter(H=>H.available===!0)}F.value=o,B.value=R($.data,"chat"),P.value=R($.data,"embedding"),N.value=R($.data,"rerank"),q.value=R($.data,"tts"),E.value=R($.data,"image2text"),h.value=R($.data,"speech2text")}finally{s.value=!1}};function I($,o){for(const U in o){let O=o[U].find(H=>H.llm_name===$);if(O&&O.fid)return O.fid}}function R($,o){const U={};for(const O in $)$.hasOwnProperty(O)&&(U[O]=$[O].filter(H=>H.model_type===o&&H.available));for(const O in U)U[O].length||delete U[O];return U}const w=async()=>{try{s.value=!0;const $={asr_id:n.value.asr_id,embd_id:n.value.embd_id,img2txt_id:n.value.img2txt_id,llm_id:n.value.llm_id,name:n.value.name,rerank_id:n.value.rerank_id,tenant_id:n.value.tenant_id,tts_id:n.value.tts_id};I(n.value.llm_id,B.value)&&($.llm_id=n.value.llm_id+"@"+I(n.value.llm_id,B.value)),I(n.value.embd_id,P.value)&&($.embd_id=n.value.embd_id+"@"+I(n.value.embd_id,P.value));const o=await Fe($);o.code/1==0&&o.data?(z.success("更新成功"),d()):z.error(o.message)}catch($){console.log($)}finally{s.value=!1}},X=async()=>{try{await r(e.value.dialog_model_ds.modelName,e.value.dialog_model_ds.modelProvider,2),await r(e.value.dialog_model.modelName,e.value.dialog_model.modelProvider,1),await w()}catch($){console.log($)}finally{s.value=!1}},d=()=>{L("ragClose")};return j(async()=>{await v(),await p(),await g()}),($,o)=>{const U=se,O=he,H=de,Y=ne,Z=oe,le=te;return a(),i(le,{visible:k.value,"onUpdate:visible":o[8]||(o[8]=G=>k.value=G),"title-align":"start","align-center":!1,"esc-to-close":!1,top:"10vh",width:"30vw","ok-loading":s.value,onBeforeCancel:d,onOk:X},{title:l(()=>o[9]||(o[9]=[_("div",{class:"model-title"},"系统模型管理设置",-1)])),default:l(()=>[_("div",ll,[t(Z,{model:n.value,layout:V.value},{default:l(()=>[t(Y,{field:"chatModal",label:"聊天模型"},{default:l(()=>[t(H,{modelValue:n.value.llm_id,"onUpdate:modelValue":o[0]||(o[0]=G=>n.value.llm_id=G),"allow-clear":""},{default:l(()=>[(a(!0),f(M,null,S(B.value,(G,C)=>(a(),i(O,{label:C,key:C},{default:l(()=>[(a(!0),f(M,null,S(G,u=>(a(),i(U,{key:u.fid,disabled:!u.available,value:u.llm_name},{default:l(()=>[D(b(u.llm_name),1)]),_:2},1032,["disabled","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Y,{field:"innerModal",label:"嵌入模型"},{default:l(()=>[t(H,{modelValue:n.value.embd_id,"onUpdate:modelValue":o[1]||(o[1]=G=>n.value.embd_id=G),"allow-clear":""},{default:l(()=>[(a(!0),f(M,null,S(P.value,(G,C)=>(a(),i(O,{label:C,key:C},{default:l(()=>[(a(!0),f(M,null,S(G,u=>(a(),i(U,{key:u.fid,disabled:!u.available,value:u.llm_name},{default:l(()=>[D(b(u.llm_name),1)]),_:2},1032,["disabled","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Y,{field:"img2txt",label:"Img2txt模型"},{default:l(()=>[t(H,{modelValue:n.value.img2txt_id,"onUpdate:modelValue":o[2]||(o[2]=G=>n.value.img2txt_id=G),"allow-clear":""},{default:l(()=>[(a(!0),f(M,null,S(E.value,(G,C)=>(a(),i(O,{label:C,key:C},{default:l(()=>[(a(!0),f(M,null,S(G,u=>(a(),i(U,{key:u.fid,disabled:!u.available,value:u.llm_name},{default:l(()=>[D(b(u.llm_name),1)]),_:2},1032,["disabled","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Y,{field:"sequence2txt",label:"Sequence2txt模型"},{default:l(()=>[t(H,{modelValue:n.value.asr_id,"onUpdate:modelValue":o[3]||(o[3]=G=>n.value.asr_id=G),"allow-clear":""},{default:l(()=>[(a(!0),f(M,null,S(h.value,(G,C)=>(a(),i(O,{label:C,key:C},{default:l(()=>[(a(!0),f(M,null,S(G,u=>(a(),i(U,{key:u.fid,disabled:!u.available,value:u.llm_name},{default:l(()=>[D(b(u.llm_name),1)]),_:2},1032,["disabled","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Y,{field:"rerank",label:"Rerank模型"},{default:l(()=>[t(H,{modelValue:n.value.rerank_id,"onUpdate:modelValue":o[4]||(o[4]=G=>n.value.rerank_id=G),"allow-clear":""},{default:l(()=>[(a(!0),f(M,null,S(N.value,(G,C)=>(a(),i(O,{label:C,key:C},{default:l(()=>[(a(!0),f(M,null,S(G,u=>(a(),i(U,{key:u.fid,disabled:!u.available,value:u.llm_name},{default:l(()=>[D(b(u.llm_name),1)]),_:2},1032,["disabled","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Y,{field:"tts",label:"TTS模型"},{default:l(()=>[t(H,{modelValue:n.value.tts_id,"onUpdate:modelValue":o[5]||(o[5]=G=>n.value.tts_id=G),"allow-clear":""},{default:l(()=>[(a(!0),f(M,null,S(q.value,(G,C)=>(a(),i(O,{label:C,key:C},{default:l(()=>[(a(!0),f(M,null,S(G,u=>(a(),i(U,{key:u.fid,disabled:!u.available,value:u.llm_name},{default:l(()=>[D(b(u.llm_name),1)]),_:2},1032,["disabled","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),_("div",al,[o[10]||(o[10]=_("span",{class:"title"},"首页模型配置",-1)),_("div",tl,[t(Y,{field:"",label:"聊天模型(普通)"},{default:l(()=>[t(H,{modelValue:e.value.dialog_model.modelName,"onUpdate:modelValue":o[6]||(o[6]=G=>e.value.dialog_model.modelName=G)},{default:l(()=>[(a(!0),f(M,null,S(B.value,(G,C)=>(a(),i(O,{label:C,key:C},{default:l(()=>[(a(!0),f(M,null,S(G,u=>(a(),i(U,{key:u.fid,disabled:!u.available,value:u.llm_name},{default:l(()=>[D(b(u.llm_name),1)]),_:2},1032,["disabled","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Y,{field:"",label:"聊天模型(深度)"},{default:l(()=>[t(H,{modelValue:e.value.dialog_model_ds.modelName,"onUpdate:modelValue":o[7]||(o[7]=G=>e.value.dialog_model_ds.modelName=G)},{default:l(()=>[(a(!0),f(M,null,S(B.value,(G,C)=>(a(),i(O,{label:C,key:C},{default:l(()=>[(a(!0),f(M,null,S(G,u=>(a(),i(U,{key:u.fid,disabled:!u.available,value:u.llm_name},{default:l(()=>[D(b(u.llm_name),1)]),_:2},1032,["disabled","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})])])]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},nl=W(ol,[["__scopeId","data-v-addb8d47"]]),dl={class:"section"},sl={class:"fist—page-model"},ul={class:"select"},il={__name:"SystemSetting",props:{show_modal:Boolean},emits:["difyClose"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m({llm:{model:"",model_type:"llm",provider:""},embd:{model:"",model_type:"text-embedding",provider:""},speech2txt:{model:"",model_type:"speech2text",provider:""},rerank:{model:"",model_type:"rerank",provider:""},tts:{model:"",model_type:"tts",provider:""}}),e=m({workflow_model:{modelName:"",modelProvider:""},workflow_model_ds:{modelName:"",modelProvider:""}}),F=m(!1),P=async()=>{await r(e.value.workflow_model.modelName,e.value.workflow_model_ds.modelProvider,1),await r(e.value.workflow_model_ds.modelName,e.value.workflow_model_ds.modelProvider,2);const o=Object.values(n.value);await v({model_settings:o})},N=()=>{L("difyClose")},B=m([]),q=m([]),E=m([]),h=m([]),s=m([]),g=async()=>{F.value=!0;try{const o=await $e();e.value.workflow_model=o.workflow,e.value.workflow_model_ds=o.workflow_ds}catch(o){console.log(o)}finally{F.value=!1}},r=async(o,U,O)=>{F.value=!0;try{await Ue({modelType:O,modelName:o,modelProvider:U,chatType:2})}catch(H){console.log(H)}finally{F.value=!1}};function p(o,U){const O={};return o.forEach(H=>{O[H.provider]=H.models}),O}const v=async o=>{var U;F.value=!0;try{(await Ne(o)).result==="success"&&(z.success("修改成功"),N())}catch(O){z.error((U=O.response)==null?void 0:U.data.message)}finally{F.value=!1}},I=async()=>{try{const o=await Be();o.data&&(B.value=p(o.data)||{})}catch(o){console.log(o)}},R=async()=>{try{const o=await Te();o.data&&(q.value=p(o.data)||{})}catch(o){console.log(o)}},w=async()=>{try{const o=await xe();o.data&&(E.value=p(o.data)||{})}catch(o){console.log(o)}},X=async()=>{try{const o=await Re();o.data&&(h.value=p(o.data)||{})}catch(o){console.log(o)}},d=async()=>{try{const o=await Pe();o.data&&(s.value=p(o.data)||{})}catch(o){console.log(o)}},$=async(o,U)=>{try{const O=await qe(o,U);O.data&&(n.value[U].provider=O.data.provider.provider,n.value[U].model=O.data.model,n.value[U].model_type=O.data.model_type)}catch(O){console.log(O)}};return j(async()=>{F.value=!0,await I(),await R(),await w(),await X(),await d(),await g(),await $("llm","llm"),await $("text-embedding","embd"),await $("speech2text","speech2text"),await $("rerank","rerank"),await $("tts","tts"),F.value=!1}),(o,U)=>{const O=se,H=he,Y=de,Z=ne,le=oe,G=te;return a(),i(G,{visible:k.value,"onUpdate:visible":U[7]||(U[7]=C=>k.value=C),"title-align":"start","align-center":!1,"esc-to-close":!1,top:"10vh",width:"30vw","ok-loading":F.value,onBeforeCancel:N,onOk:P},{title:l(()=>U[8]||(U[8]=[_("div",{class:"model-title"},"系统模型管理设置",-1)])),default:l(()=>[_("div",dl,[t(le,{model:n.value,layout:V.value},{default:l(()=>[t(Z,{field:"",label:"聊天模型"},{default:l(()=>[t(Y,{modelValue:n.value.llm.model,"onUpdate:modelValue":U[0]||(U[0]=C=>n.value.llm.model=C)},{default:l(()=>[(a(!0),f(M,null,S(B.value,(C,u)=>(a(),i(H,{label:u,key:u},{default:l(()=>[(a(!0),f(M,null,S(C,T=>(a(),i(O,{key:T.model,value:T.model},{default:l(()=>[D(b(T.model),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Z,{field:"",label:"嵌入模型"},{default:l(()=>[t(Y,{modelValue:n.value.embd.model,"onUpdate:modelValue":U[1]||(U[1]=C=>n.value.embd.model=C)},{default:l(()=>[(a(!0),f(M,null,S(q.value,(C,u)=>(a(),i(H,{label:u,key:u},{default:l(()=>[(a(!0),f(M,null,S(C,T=>(a(),i(O,{key:T.model,value:T.model},{default:l(()=>[D(b(T.model),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Z,{field:"",label:"Rerank 模型"},{default:l(()=>[t(Y,{modelValue:n.value.rerank.model,"onUpdate:modelValue":U[2]||(U[2]=C=>n.value.rerank.model=C)},{default:l(()=>[(a(!0),f(M,null,S(E.value,(C,u)=>(a(),i(H,{label:u,key:u},{default:l(()=>[(a(!0),f(M,null,S(C,T=>(a(),i(O,{key:T.model,value:T.model},{default:l(()=>[D(b(T.model),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Z,{field:"",label:"语音转文本模型"},{default:l(()=>[t(Y,{modelValue:n.value.speech2txt.model,"onUpdate:modelValue":U[3]||(U[3]=C=>n.value.speech2txt.model=C)},{default:l(()=>[(a(!0),f(M,null,S(h.value,(C,u)=>(a(),i(H,{label:u,key:u},{default:l(()=>[(a(!0),f(M,null,S(C,T=>(a(),i(O,{key:T.model,value:T.model},{default:l(()=>[D(b(T.model),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Z,{field:"",label:"TTS模型"},{default:l(()=>[t(Y,{modelValue:n.value.tts.model,"onUpdate:modelValue":U[4]||(U[4]=C=>n.value.tts.model=C)},{default:l(()=>[(a(!0),f(M,null,S(s.value,(C,u)=>(a(),i(H,{label:u,key:u},{default:l(()=>[(a(!0),f(M,null,S(C,T=>(a(),i(O,{key:T.model,value:T.model},{default:l(()=>[D(b(T.model),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),_("div",sl,[U[9]||(U[9]=_("span",{class:"title"},"首页模型配置",-1)),_("div",ul,[t(Z,{field:"",label:"聊天模型(普通)"},{default:l(()=>[t(Y,{modelValue:e.value.workflow_model.modelName,"onUpdate:modelValue":U[5]||(U[5]=C=>e.value.workflow_model.modelName=C)},{default:l(()=>[(a(!0),f(M,null,S(B.value,(C,u)=>(a(),i(H,{label:u,key:u},{default:l(()=>[(a(!0),f(M,null,S(C,T=>(a(),i(O,{key:T.model,value:T.model},{default:l(()=>[D(b(T.model),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(Z,{field:"",label:"聊天模型(推理)"},{default:l(()=>[t(Y,{modelValue:e.value.workflow_model_ds.modelName,"onUpdate:modelValue":U[6]||(U[6]=C=>e.value.workflow_model_ds.modelName=C)},{default:l(()=>[(a(!0),f(M,null,S(B.value,(C,u)=>(a(),i(H,{label:u,key:u},{default:l(()=>[(a(!0),f(M,null,S(C,T=>(a(),i(O,{key:T.model,value:T.model},{default:l(()=>[D(b(T.model),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})])])]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},rl=W(il,[["__scopeId","data-v-7b298ba6"]]),ml={__name:"TopSetting",emits:["changeType"],setup(y,{emit:x}){const c=x,L=m([{label:"助手",value:"assistant"},{label:"智能体",value:"agent"}]),k=m("assistant"),V=m(!1),n=m(!1),e=B=>{c("changeType",B)},F=()=>{k.value==="assistant"&&(V.value=!0),k.value==="agent"&&(n.value=!0)},P=()=>{V.value=!1},N=()=>{n.value=!1};return(B,q)=>{const E=se,h=de,s=Q("icon-settings"),g=me,r=pe;return a(),f(M,null,[t(r,{size:"large"},{default:l(()=>[t(h,{style:{width:"200px","background-color":"var(--color-bg-5)"},modelValue:k.value,"onUpdate:modelValue":q[0]||(q[0]=p=>k.value=p),onChange:e},{default:l(()=>[(a(!0),f(M,null,S(L.value,p=>(a(),i(E,{key:p.value,value:p.value},{default:l(()=>[D(b(p.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),t(g,{type:"primary",size:"large",onClick:F},{icon:l(()=>[t(s)]),default:l(()=>[D(" "+b(B.$t("management.setModel")),1)]),_:1})]),_:1}),V.value?(a(),i(nl,{key:0,show_modal:V.value,onRagClose:P},null,8,["show_modal"])):A("",!0),n.value?(a(),i(rl,{key:1,show_modal:n.value,onDifyClose:N},null,8,["show_modal"])):A("",!0)],64)}}},_l={class:"collapse-item"},cl={class:"name"},pl={class:"tag"},vl={__name:"CollapseItem",props:{models:{type:Object,required:!0}},emits:["toDeleteLLm"],setup(y,{emit:x}){const c=x,L=k=>{c("toDeleteLLm",k)};return(k,V)=>{const n=we,e=Q("icon-delete");return a(),f("div",_l,[_("div",cl,b(y.models.name),1),_("div",pl,[t(n,null,{default:l(()=>[D(b(y.models.type),1)]),_:1})]),t(e,{class:"delete-icon",onClick:V[0]||(V[0]=F=>L(y.models.name))})])}}},fl=W(vl,[["__scopeId","data-v-c29dc0b4"]]);function ce(y=1e3){const x=m(y);return{beforeEnter:V=>{V.style.maxHeight=0},enter:(V,n)=>{V.offsetHeight,V.style.transition="max-height 0.5s ease",V.style.maxHeight=`${x.value}px`,n()},leave:(V,n)=>{V.style.transition="max-height 0.5s ease",V.style.maxHeight=0,n()}}}const yl={class:"model-list"},gl={class:"list-header"},bl={class:"list-info"},kl=["src"],hl={class:"info-desc"},wl={class:"name"},Ml={class:"desc"},Vl={class:"list-tools"},$l={key:0,class:"list-collapse"},Ul={__name:"ModelList",props:{model_item:{request:!0,type:Object},model_name:{request:!0,type:String}},emits:["showMore","updateAddModelRG","toAddModel"],setup(y,{emit:x}){const c=y,L=x,k=m(!1),V=m(""),{beforeEnter:n,enter:e,leave:F}=ce(1e3),P=()=>{L("toAddModel",c.model_name)},N=()=>{k.value=!0},B=()=>{V.value?h():E()},q=g=>{L("showMore",g)},E=async()=>{try{const g=await Xe({llm_factory:c.model_name});g.code/1==0&&g.data?(z.success("删除成功"),L("updateAddModelRG"),k.value=!1):z.error("删除失败")}catch(g){console.log(g)}},h=async()=>{try{const g=await Ge({llm_factory:c.model_name,llm_name:V.value});g.code/1==0&&g.data?(z.success("删除成功"),L("updateAddModelRG"),V.value="",k.value=!1):z.error("删除失败")}catch(g){console.log(g)}},s=g=>{V.value=g,k.value=!0};return(g,r)=>{const p=Q("icon-plus"),v=me,I=Q("icon-down"),R=Q("icon-up"),w=Q("icon-delete"),X=pe;return a(),f(M,null,[_("div",yl,[_("div",gl,[_("div",bl,[_("img",{class:"icon",src:K(ve)(y.model_item.name),alt:""},null,8,kl),_("div",hl,[_("div",wl,b(y.model_name),1),_("div",Ml,b(y.model_item.tags),1)])]),_("div",Vl,[t(X,null,{default:l(()=>[["OpenAI-API-Compatible","HuggingFace","Xinference","Ollama"].includes(y.model_item.name)?(a(),i(v,{key:0,onClick:P},{icon:l(()=>[t(p)]),default:l(()=>[D(" "+b(g.$t("management.addModelBtn")),1)]),_:1})):A("",!0),["OpenAI","DeepSeek"].includes(y.model_item.name)?(a(),i(v,{key:1,onClick:P},{icon:l(()=>[t(p)]),default:l(()=>[r[3]||(r[3]=D(" API_Key "))]),_:1})):A("",!0),t(v,{onClick:r[0]||(r[0]=d=>q(y.model_item))},{default:l(()=>[D(b(g.$t("management.showMoreModelBtn"))+" ",1),y.model_item.showMore?(a(),i(I,{key:0})):A("",!0),y.model_item.showMore?A("",!0):(a(),i(R,{key:1}))]),_:1}),t(w,{class:"delete-icon",onClick:r[1]||(r[1]=d=>N(y.model_item.name))})]),_:1})])]),t(ie,{name:"expand-collapse",onBeforeEnter:K(n),onEnter:K(e),onLeave:K(F)},{default:l(()=>[y.model_item.showMore?(a(),f("div",$l,[(a(!0),f(M,null,S(y.model_item.llm,(d,$)=>(a(),i(fl,{key:$,models:d,onToDeleteLLm:s},null,8,["models"]))),128))])):A("",!0)]),_:1},8,["onBeforeEnter","onEnter","onLeave"])]),t(Me,{visible:k.value,onOk:B,onCancel:r[2]||(r[2]=d=>k.value=!1)},null,8,["visible"])],64)}}},Ll=W(Ul,[["__scopeId","data-v-21ff9a11"]]),Cl={class:"card-name"},Il=["src"],El=["src"],Al={class:"name"},Ol={class:"card-label"},Sl={class:"card-des"},Dl={class:"card-label"},Fl={class:"card-bottom"},Bl={class:"card-settings"},Tl={__name:"CardItem",props:{name:{type:String},img_src:{type:String},height:{type:Number,default:175},is_model:{type:Boolean,default:!1}},emits:["clickIcon"],setup(y,{emit:x}){const c=y,L=x,k=()=>{L("clickIcon",c.img_src)};return(V,n)=>(a(),f("div",{class:"card-container",style:je({height:`${y.height}px`})},[_("div",Cl,[y.is_model?A("",!0):(a(),f("img",{key:0,src:y.img_src,class:"logo",onClick:be(k,["stop"])},null,8,Il)),y.is_model?(a(),f("img",{key:1,src:K(ve)(y.name),class:"logo",onClick:be(k,["stop"])},null,8,El)):A("",!0),_("div",Al,b(y.name),1)]),_("div",Ol,[re(V.$slots,"labels",{},void 0,!0)]),_("div",Sl,[re(V.$slots,"description",{},void 0,!0)]),_("div",Dl,[re(V.$slots,"labelBtn",{},void 0,!0)]),_("div",Fl,[re(V.$slots,"bottom",{},void 0,!0)]),_("div",Bl,[re(V.$slots,"settings",{},void 0,!0)])],4))}},Le=W(Tl,[["__scopeId","data-v-a931c306"]]),xl={class:"section"},Rl={__name:"ModalAdd_1",props:{show_modal:Boolean,model_data:Object},emits:["ragClose","updateModelList"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m(!1),e=m({model_type:"",llm_name:"",api_base:"",max_tokens:"",api_key:"",llm_factory:""}),F={model_type:[{required:!0,message:"模型类型必填"}],llm_name:[{required:!0,message:"模型名称必填"}],api_base:[{required:!0,message:"基础url必填"}],max_tokens:[{required:!0,message:"最大token数必填"}]},P=J(()=>c.model_data.model_types),N=async()=>{if(e.value.model_type&&e.value.llm_name&&e.value.api_base&&e.value.max_tokens){n.value=!0;const h={...e.value};h.api_key||delete h.api_key;const s=await q(h);s.code/1===0?(z.success("添加成功"),L("updateModelList"),B()):z.error(s.message),n.value=!1}else z.error("缺少必填项")},B=()=>{L("ragClose")},q=async h=>{try{return await He(h)}catch(s){console.log(s)}},E=()=>{};return j(()=>{c.model_data.model_types.length&&(e.value.model_type=c.model_data.model_types[0]),e.value.llm_factory=c.model_data.name}),(h,s)=>{const g=se,r=de,p=ne,v=ue,I=el,R=oe,w=te;return a(),i(w,{visible:k.value,"onUpdate:visible":s[5]||(s[5]=X=>k.value=X),"title-align":"start","align-center":!1,"esc-to-close":!1,"ok-loading":n.value,top:"15vh",width:"30vw",onBeforeCancel:B,onOk:N},{title:l(()=>s[6]||(s[6]=[_("div",{class:"model-title"},[_("b",null,"添加LLM")],-1)])),default:l(()=>[_("div",xl,[t(R,{model:e.value,ref:"formRef",rules:F,layout:V.value,onSubmit:E},{default:l(()=>[t(p,{field:"model_type",label:"模型类型"},{default:l(()=>[t(r,{modelValue:e.value.model_type,"onUpdate:modelValue":s[0]||(s[0]=X=>e.value.model_type=X)},{default:l(()=>[(a(!0),f(M,null,S(P.value,X=>(a(),i(g,{key:X,value:X},{default:l(()=>[D(b(X),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(p,{field:"llm_name",label:y.model_data.name=="Xinference"||y.model_data.name=="Ollama"?"模型UID":"模型名称"},{default:l(()=>[t(v,{modelValue:e.value.llm_name,"onUpdate:modelValue":s[1]||(s[1]=X=>e.value.llm_name=X),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1},8,["label"]),t(p,{field:"api_base",label:"基础Url"},{default:l(()=>[t(v,{modelValue:e.value.api_base,"onUpdate:modelValue":s[2]||(s[2]=X=>e.value.api_base=X),placeholder:"请输入模型基础URL"},null,8,["modelValue"])]),_:1}),t(p,{field:"api_key",label:"API-Key"},{default:l(()=>[t(v,{modelValue:e.value.api_key,"onUpdate:modelValue":s[3]||(s[3]=X=>e.value.api_key=X),placeholder:"请输入apiKey(如果是本地部署的模型,请忽略它)"},null,8,["modelValue"])]),_:1}),t(p,{field:"max_tokens",label:"最大token数"},{default:l(()=>[t(I,{modelValue:e.value.max_tokens,"onUpdate:modelValue":s[4]||(s[4]=X=>e.value.max_tokens=X),placeholder:"这设置了模型输出的最大长度,以标记(单词或单词判断)的数量来衡量",min:0},null,8,["modelValue"])]),_:1})]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},Pl={class:"section"},ql={__name:"ModalAdd_2",props:{show_modal:Boolean,model_data:Object},emits:["ragClose","updateModelList"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m({api_key:"",base_url:"",llm_factory:""}),e={api_key:[{required:!0,message:"请输入api key(如果是本地部署的模型,请忽略它)"}]},F=m(!1);J(()=>c.model_data.model_types);const P=async()=>{if(n.value.api_key){F.value=!0;const q=await B(n.value);q.code/1===0?(z.success("添加成功"),L("updateModelList"),N()):z.error(q.message),F.value=!1}else z.error("缺少必填项")},N=()=>{L("ragClose")},B=async q=>{try{return await ze(q)}catch(E){console.log(E)}};return j(()=>{c.model_data.model_types.length&&(n.value.model_type=c.model_data.model_types[0]),n.value.llm_factory=c.model_data.name}),(q,E)=>{const h=ue,s=ne,g=oe,r=te;return a(),i(r,{visible:k.value,"onUpdate:visible":E[2]||(E[2]=p=>k.value=p),"title-align":"start","align-center":!1,"esc-to-close":!1,top:"15vh",width:"30vw","ok-loading":F.value,onBeforeCancel:N,onOk:P},{title:l(()=>E[3]||(E[3]=[_("div",{class:"model-title"},[_("b",null,"修改")],-1)])),default:l(()=>[_("div",Pl,[t(g,{model:n.value,ref:"formRef",rules:e,layout:V.value},{default:l(()=>[t(s,{field:"api_key",label:"API-Key"},{default:l(()=>[t(h,{modelValue:n.value.api_key,"onUpdate:modelValue":E[0]||(E[0]=p=>n.value.api_key=p),placeholder:"请输入apiKey(如果是本地部署的模型,请忽略它)"},null,8,["modelValue"])]),_:1}),y.model_data.name==="OpenAI"?(a(),i(s,{key:0,field:"base_url",label:"Base-Url"},{default:l(()=>[t(h,{modelValue:n.value.base_url,"onUpdate:modelValue":E[1]||(E[1]=p=>n.value.base_url=p),placeholder:"https://api.openai.com/v1"},null,8,["modelValue"])]),_:1})):A("",!0)]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},Nl={class:"model-body"},Gl={class:"body-item"},Xl={class:"item-title"},Hl={class:"title"},zl={key:0},Kl={class:"body-item"},Yl={class:"item-title"},Zl={class:"title"},Jl={key:0,class:"card-list"},Ql={class:"labels"},Wl={class:"desc"},jl={__name:"MessageBody",setup(y){const{beforeEnter:x,enter:c,leave:L}=ce(1e3),k=m([]);m([{id:"1",name:"OpenAl",keyword:"LLM,TEXT",desc:"EMBEDDING,SPEECH2TEXT,MODERATION",img_src:"modelFrame4"},{id:"2",name:"Moonshot",keyword:"LLM,TEXT EMBEDDING",desc:"",img_src:"modelFrame5"},{id:"3",name:"ZHIPU-AI",keyword:"LLM,TEXT",desc:"EMBEDDING,SPEECH2TEXT,MODERATION",img_src:"modelFrame6"},{id:"4",name:"BaiChuan",keyword:"LLM,TEXT EMBEDDING",desc:"",img_src:"modelFrame7"},{id:"5",name:"DeepSeek",keyword:"LLM",desc:"",img_src:"modelFrame8"},{id:"6",name:"Mistral",keyword:"LLM,TEXT EMBEDDING",desc:"",img_src:"modelFrame9"},{id:"7",name:"StepFun",keyword:"LLM",desc:"",img_src:"modelFrame10"}]);const V=m({}),n=m({}),e=m([]),F=m(!0),P=m(!0),N=m(!1),B=m({}),q=m(!1),E=m({}),h=()=>{F.value=!F.value,F.value||k.value.forEach(d=>{d.show_more=!1})},s=()=>{P.value=!P.value},g=d=>{n.value[d.name].showMore=!n.value[d.name].showMore},r=async()=>{try{const d=await Ke();if(d.code/1===0){for(const $ in d.data)d.data[$].showMore=!1,d.data[$].name=$;n.value={...d.data}}}catch(d){console.log(d)}},p=async()=>{try{const d=await Ye();if(d.code/1===0){V.value=d.data;const $=Object.keys(n.value);$.length?e.value=d.data.filter(o=>["OpenAI","Ollama","DeepSeek","OpenAI-API-Compatible","Xinference","HuggingFace"].includes(o.name)).filter(o=>!$.includes(o.name)):e.value=d.data.filter(o=>["OpenAI","Ollama","DeepSeek","OpenAI-API-Compatible","Xinference","HuggingFace"].includes(o.name))}}catch(d){console.log(d)}},v=async()=>{await r(),await p()},I=d=>{const $=V.value.find(o=>o.name===d);R($)},R=async d=>{["OpenAI-API-Compatible","HuggingFace","Xinference","Ollama"].includes(d.name)&&(N.value=!0,B.value=d),["OpenAI","DeepSeek"].includes(d.name)&&(q.value=!0,E.value=d)},w=()=>{N.value=!1,B.value={}},X=()=>{q.value=!1,E.value={}};return j(async()=>{await r(),await p()}),(d,$)=>{const o=Q("icon-up"),U=Q("icon-down"),O=Ve,H=Q("icon-plus"),Y=me;return a(),f(M,null,[_("div",Nl,[_("div",Gl,[_("div",Xl,[_("div",Hl,b(d.$t("management.addedModel")),1),_("div",{class:"icon",onClick:h},[F.value?(a(),f(M,{key:0},[D(b(d.$t("management.upBtn"))+" ",1),t(o)],64)):A("",!0),F.value?A("",!0):(a(),f(M,{key:1},[D(b(d.$t("management.downBtn"))+" ",1),t(U)],64))])]),t(ie,{name:"expand-collapse",onBeforeEnter:K(x),onEnter:K(c),onLeave:K(L)},{default:l(()=>[F.value?(a(),f("div",zl,[(a(!0),f(M,null,S(n.value,(Z,le)=>(a(),i(Ll,{key:le,model_item:Z,model_name:le,onShowMore:g,onUpdateAddModelRG:v,onToAddModel:I},{default:l(()=>[D(b(d.index),1)]),_:2},1032,["model_item","model_name"]))),128)),Object.keys(n.value).length?A("",!0):(a(),i(O,{key:0,class:"empty-list"}))])):A("",!0)]),_:1},8,["onBeforeEnter","onEnter","onLeave"])]),_("div",Kl,[_("div",Yl,[_("div",Zl,b(d.$t("management.unaddModel")),1),_("div",{class:"icon",onClick:s},[P.value?(a(),f(M,{key:0},[D(b(d.$t("management.upBtn"))+" ",1),t(o)],64)):A("",!0),P.value?A("",!0):(a(),f(M,{key:1},[D(b(d.$t("management.downBtn"))+" ",1),t(U)],64))])]),t(ie,{name:"expand-collapse",onBeforeEnter:K(x),onEnter:K(c),onLeave:K(L)},{default:l(()=>[P.value?(a(),f("div",Jl,[(a(!0),f(M,null,S(e.value,Z=>(a(),i(Le,{key:Z.id,name:Z.name,img_src:Z.img_src,is_model:""},{labels:l(()=>[_("div",Ql,b(Z.keyword),1)]),description:l(()=>[_("div",Wl,b(Z.tags),1)]),bottom:l(()=>[t(Y,{onClick:le=>R(Z)},{icon:l(()=>[t(H)]),default:l(()=>[D(b(d.$t("management.addModelBtn")),1)]),_:2},1032,["onClick"])]),_:2},1032,["name","img_src"]))),128))])):A("",!0)]),_:1},8,["onBeforeEnter","onEnter","onLeave"]),e.value.length?A("",!0):(a(),i(O,{key:0,class:"empty-list"}))])]),N.value?(a(),i(Rl,{key:0,show_modal:N.value,model_data:B.value,onRagClose:w,onUpdateModelList:v},null,8,["show_modal","model_data"])):A("",!0),q.value?(a(),i(ql,{key:1,show_modal:q.value,model_data:E.value,onRagClose:X,onUpdateModelList:v},null,8,["show_modal","model_data"])):A("",!0)],64)}}},ea=W(jl,[["__scopeId","data-v-6ffeba01"]]),la={class:"collapse-item"},aa={class:"name"},ta={class:"tag"},oa={__name:"CollapseItem",props:{models:{type:Object,required:!0}},emits:["toDeleteLLm"],setup(y,{emit:x}){const c=x,L=k=>{c("toDeleteLLm",k)};return(k,V)=>{const n=we,e=Q("icon-delete");return a(),f("div",la,[_("div",aa,b(y.models.model),1),_("div",ta,[t(n,null,{default:l(()=>[D(b(y.models.model_type),1)]),_:1})]),t(e,{class:"delete-icon",onClick:V[0]||(V[0]=F=>L(y.models))})])}}},na=W(oa,[["__scopeId","data-v-0b61c642"]]),da={class:"model-list"},sa={class:"list-header"},ua={class:"list-info"},ia=["src"],ra={class:"info-desc"},ma={class:"name"},_a={class:"desc"},ca={class:"list-tools"},pa={key:0,class:"list-collapse"},va={__name:"ModelList",props:{model_item:{request:!0,type:Object},model_name:{request:!0,type:String}},emits:["showMore","updateAddModelDify","toAddModel"],setup(y,{emit:x}){const c=y,L=x,k=m(!1),V=m({}),{beforeEnter:n,enter:e,leave:F}=ce(1e3),P=()=>{L("toAddModel",c.model_name)},N=async()=>{await q()},B=h=>{L("showMore",h)},q=async()=>{try{await Ze(V.value.provider,{model:V.value.model,model_type:V.value.model_type}),V.value={},k.value=!1,z.success("删除成功")}catch{}finally{L("updateAddModelDify"),delete_llm_name.value={},k.value=!1}},E=h=>{V.value={model:h.model,model_type:h.model_type,provider:h.provider.provider},k.value=!0};return(h,s)=>{const g=Q("icon-plus"),r=me,p=Q("icon-down"),v=Q("icon-up"),I=pe;return a(),f(M,null,[_("div",da,[_("div",sa,[_("div",ua,[_("img",{class:"icon",src:K(ve)(y.model_name),alt:""},null,8,ia),_("div",ra,[_("div",ma,b(y.model_name),1),_("div",_a,b(y.model_item.supported_model_types.join(",")),1)])]),_("div",ca,[t(I,null,{default:l(()=>[["OpenAI-API-compatible","HuggingFace","Xorbits Inference","Ollama"].includes(y.model_name)?(a(),i(r,{key:0,onClick:P},{icon:l(()=>[t(g)]),default:l(()=>[D(" "+b(h.$t("management.addModelBtn")),1)]),_:1})):A("",!0),["OpenAI","DeepSeek"].includes(y.model_item.name)?(a(),i(r,{key:1,onClick:P},{icon:l(()=>[t(g)]),default:l(()=>[s[2]||(s[2]=D(" API_Key "))]),_:1})):A("",!0),t(r,{onClick:s[0]||(s[0]=R=>B(y.model_item))},{default:l(()=>[D(b(h.$t("management.showMoreModelBtn"))+" ",1),y.model_item.showMore?(a(),i(p,{key:0})):A("",!0),y.model_item.showMore?A("",!0):(a(),i(v,{key:1}))]),_:1})]),_:1})])]),t(ie,{name:"expand-collapse",onBeforeEnter:K(n),onEnter:K(e),onLeave:K(F)},{default:l(()=>[y.model_item.showMore?(a(),f("div",pa,[(a(!0),f(M,null,S(y.model_item.llm,(R,w)=>(a(),i(na,{key:w,models:R,onToDeleteLLm:E},null,8,["models"]))),128))])):A("",!0)]),_:1},8,["onBeforeEnter","onEnter","onLeave"])]),t(Me,{visible:k.value,onOk:N,onCancel:s[1]||(s[1]=R=>k.value=!1)},null,8,["visible"])],64)}}},fa=W(va,[["__scopeId","data-v-eef490d8"]]),ya={class:"model-title"},ga={class:"section"},ba={__name:"ModalAdd_1",props:{show_modal:Boolean,model_data:Object},emits:["difyClose","updateModelList"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m(!1),e=m({model_type:"",model:"",credentials:{api_key:"",model_uid:"",server_url:""},load_balancing:{configs:[],enabled:!1}}),F={model_type:[{required:!0,message:"模型类型必填"}],model:[{required:!0,message:"模型名称必填"}],"credentials.server_url":[{required:!0,message:"服务器URL必填"}],"credentials.model_uid":[{required:!0,message:"模型UID必填"}]},P=J(()=>c.model_data.supported_model_types),N=async()=>{try{if(e.value.model_type&&e.value.model&&e.value.credentials.server_url&&e.value.credentials.model_uid){n.value=!0;const h=await q(c.model_data.provider,e.value);h&&h.result==="success"?(z.success("添加成功"),L("updateModelList"),B()):z.error(h.message),n.value=!1}else z.error("缺少必填项")}catch{}finally{n.value=!1}},B=()=>{L("difyClose")},q=async(h,s)=>{var g,r;try{return await _e(h,s)}catch(p){console.log(p),z.error((r=(g=p.response)==null?void 0:g.data)==null?void 0:r.message)}},E=()=>{};return j(()=>{c.model_data.supported_model_types.length&&(e.value.model_type=c.model_data.supported_model_types[0])}),(h,s)=>{const g=se,r=de,p=ne,v=ue,I=oe,R=te;return a(),i(R,{visible:k.value,"onUpdate:visible":s[5]||(s[5]=w=>k.value=w),"title-align":"start","align-center":!1,"esc-to-close":!1,"ok-loading":n.value,top:"15vh",width:"30vw",onBeforeCancel:B,onOk:N},{title:l(()=>[_("div",ya,[_("b",null,"添加 "+b(c.model_data.label.en_US),1)])]),default:l(()=>[_("div",ga,[t(I,{model:e.value,ref:"formRef",rules:F,layout:V.value,onSubmit:E},{default:l(()=>[t(p,{field:"model_type",label:"模型类型"},{default:l(()=>[t(r,{modelValue:e.value.model_type,"onUpdate:modelValue":s[0]||(s[0]=w=>e.value.model_type=w)},{default:l(()=>[(a(!0),f(M,null,S(P.value,w=>(a(),i(g,{key:w,value:w},{default:l(()=>[D(b(w),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(p,{field:"model",label:"模型名称"},{default:l(()=>[t(v,{modelValue:e.value.model,"onUpdate:modelValue":s[1]||(s[1]=w=>e.value.model=w),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),t(p,{field:"credentials.server_url",label:"服务器Url"},{default:l(()=>[t(v,{modelValue:e.value.credentials.server_url,"onUpdate:modelValue":s[2]||(s[2]=w=>e.value.credentials.server_url=w),placeholder:"请输入服务器地址"},null,8,["modelValue"])]),_:1}),t(p,{field:"credentials.model_uid",label:"模型UID"},{default:l(()=>[t(v,{modelValue:e.value.credentials.model_uid,"onUpdate:modelValue":s[3]||(s[3]=w=>e.value.credentials.model_uid=w),placeholder:"请输入模型UID"},null,8,["modelValue"])]),_:1}),t(p,{field:"api_key",label:"API密钥"},{default:l(()=>[t(v,{modelValue:e.value.credentials.api_key,"onUpdate:modelValue":s[4]||(s[4]=w=>e.value.credentials.api_key=w),placeholder:"请输入API密钥"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},ka={class:"model-title"},ha={class:"section"},wa={__name:"ModalAdd_2",props:{show_modal:Boolean,model_data:Object},emits:["difyClose","updateModelList"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m(!1),e=m({model_type:"",model:"",credentials:{openai_api_key:"",openai_api_base:"",openai_organization:""},load_balancing:{configs:[],enabled:!1}}),F={model_type:[{required:!0,message:"模型类型必填"}],model:[{required:!0,message:"模型名称必填"}],"credentials.openai_api_key":[{required:!0,message:"API Key必填"}]},P=J(()=>c.model_data.supported_model_types),N=async()=>{try{if(e.value.model_type&&e.value.model&&e.value.credentials.openai_api_key){n.value=!0;const h=await q(c.model_data.provider,e.value);h&&h.result==="success"&&(L("updateModelList"),B()),n.value=!1}else z.error("缺少必填项")}catch{}finally{n.value=!1}},B=()=>{L("difyClose")},q=async(h,s)=>{var g,r;try{return await _e(h,s)}catch(p){console.log(p),z.error((r=(g=p.response)==null?void 0:g.data)==null?void 0:r.message)}},E=()=>{};return j(()=>{c.model_data.supported_model_types.length&&(e.value.model_type=c.model_data.supported_model_types[0])}),(h,s)=>{const g=se,r=de,p=ne,v=ue,I=oe,R=te;return a(),i(R,{visible:k.value,"onUpdate:visible":s[5]||(s[5]=w=>k.value=w),"title-align":"start","align-center":!1,"esc-to-close":!1,"ok-loading":n.value,top:"15vh",width:"30vw",onBeforeCancel:B,onOk:N},{title:l(()=>[_("div",ka,[_("b",null,"添加 "+b(c.model_data.label.en_US),1)])]),default:l(()=>[_("div",ha,[t(I,{model:e.value,ref:"formRef",rules:F,layout:V.value,onSubmit:E},{default:l(()=>[t(p,{field:"model_type",label:"模型类型"},{default:l(()=>[t(r,{modelValue:e.value.model_type,"onUpdate:modelValue":s[0]||(s[0]=w=>e.value.model_type=w)},{default:l(()=>[(a(!0),f(M,null,S(P.value,w=>(a(),i(g,{key:w,value:w},{default:l(()=>[D(b(w),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(p,{field:"model",label:"模型名称"},{default:l(()=>[t(v,{modelValue:e.value.model,"onUpdate:modelValue":s[1]||(s[1]=w=>e.value.model=w),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),t(p,{field:"credentials.openai_api_key",label:"API Key"},{default:l(()=>[t(v,{modelValue:e.value.credentials.openai_api_key,"onUpdate:modelValue":s[2]||(s[2]=w=>e.value.credentials.openai_api_key=w),placeholder:"请输入API Key"},null,8,["modelValue"])]),_:1}),t(p,{field:"credentials.openai_organization",label:"组织 ID"},{default:l(()=>[t(v,{modelValue:e.value.credentials.openai_organization,"onUpdate:modelValue":s[3]||(s[3]=w=>e.value.credentials.openai_organization=w),placeholder:"请输入组织 ID"},null,8,["modelValue"])]),_:1}),t(p,{field:"credentials.openai_api_base",label:"API Base"},{default:l(()=>[t(v,{modelValue:e.value.credentials.openai_api_base,"onUpdate:modelValue":s[4]||(s[4]=w=>e.value.credentials.openai_api_base=w),placeholder:"请输入API Base"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},Ma={class:"model-title"},Va={class:"section"},$a={__name:"ModalAdd_3",props:{show_modal:Boolean,model_data:Object},emits:["difyClose","updateModelList"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m(!1),e=m({model_type:"",model:"",credentials:{api_key:"",endpoint_url:"",context_size:"4096",function_calling_type:"no_call",max_tokens_to_sample:"4096",mode:"chat",stream_function_calling:"not_supported",stream_mode_delimiter:"\\n\\n",vision_support:"no_support"},load_balancing:{configs:[],enabled:!1}}),F={model_type:[{required:!0,message:"模型类型必填"}],model:[{required:!0,message:"模型名称必填"}],"credentials.endpoint_url":[{required:!0,message:"API endpoint URL必填"}],"credentials.context_size":[{required:!0,message:"模型上下文长度必填"}],"credentials.max_tokens_to_sample":[{required:!0,message:"最大token上限必填"}],"credentials.stream_mode_delimiter":[{required:!0,message:"流模式返回结果的分隔符必填"}]},P=m([{label:"补全",value:"completion"},{label:"对话",value:"chat"}]),N=m([{label:"Function Call",value:"function_call"},{label:"Tool Call",value:"tool_call"},{label:"不支持",value:"no_call"}]),B=m([{label:"不支持",value:"not_supported"},{label:"支持",value:"supported"}]),q=m([{label:"不支持",value:"no_support"},{label:"支持",value:"support"}]),E=J(()=>c.model_data.supported_model_types),h=async()=>{try{if(e.value.model_type&&e.value.model&&e.value.credentials.endpoint_url&&e.value.credentials.context_size&&e.value.credentials.max_tokens_to_sample&&e.value.credentials.stream_mode_delimiter){n.value=!0;const p=await g(c.model_data.provider,e.value);p&&p.result==="success"&&(L("updateModelList"),s()),n.value=!1}else z.error("缺少必填项")}catch{}finally{n.value=!1}},s=()=>{L("difyClose")},g=async(p,v)=>{var I,R;try{return await _e(p,v)}catch(w){console.log(w),z.error((R=(I=w.response)==null?void 0:I.data)==null?void 0:R.message)}},r=()=>{};return j(()=>{c.model_data.supported_model_types.length&&(e.value.model_type=c.model_data.supported_model_types[0])}),(p,v)=>{const I=se,R=de,w=ne,X=ue,d=oe,$=te;return a(),i($,{visible:k.value,"onUpdate:visible":v[11]||(v[11]=o=>k.value=o),"title-align":"start","align-center":!1,"esc-to-close":!1,"ok-loading":n.value,top:"15vh",width:"30vw",onBeforeCancel:s,onOk:h},{title:l(()=>[_("div",Ma,[_("b",null,"添加 "+b(c.model_data.label.en_US),1)])]),default:l(()=>[_("div",Va,[t(d,{model:e.value,ref:"formRef",rules:F,layout:V.value,onSubmit:r},{default:l(()=>[t(w,{field:"model_type",label:"模型类型"},{default:l(()=>[t(R,{modelValue:e.value.model_type,"onUpdate:modelValue":v[0]||(v[0]=o=>e.value.model_type=o)},{default:l(()=>[(a(!0),f(M,null,S(E.value,o=>(a(),i(I,{key:o,value:o},{default:l(()=>[D(b(o),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(w,{field:"model",label:"模型名称"},{default:l(()=>[t(X,{modelValue:e.value.model,"onUpdate:modelValue":v[1]||(v[1]=o=>e.value.model=o),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),t(w,{field:"api_key",label:"API Key"},{default:l(()=>[t(X,{modelValue:e.value.credentials.api_key,"onUpdate:modelValue":v[2]||(v[2]=o=>e.value.credentials.api_key=o),placeholder:"请输入API Key"},null,8,["modelValue"])]),_:1}),t(w,{field:"credentials.endpoint_url",label:"API endpoint URL"},{default:l(()=>[t(X,{modelValue:e.value.credentials.endpoint_url,"onUpdate:modelValue":v[3]||(v[3]=o=>e.value.credentials.endpoint_url=o),placeholder:"Base URL,e.g.https://api.openai.com/v1"},null,8,["modelValue"])]),_:1}),e.value.model_type==="llm"?(a(),i(w,{key:0,field:"credentials.mode",label:"Completion mode"},{default:l(()=>[t(R,{modelValue:e.value.credentials.mode,"onUpdate:modelValue":v[4]||(v[4]=o=>e.value.credentials.mode=o),"allow-clear":"",placeholder:"选择对话类型"},{default:l(()=>[(a(!0),f(M,null,S(P.value,o=>(a(),i(I,{key:o.value,value:o.value},{default:l(()=>[D(b(o.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1})):A("",!0),e.value.model_type!=="speech2text"?(a(),i(w,{key:1,field:"credentials.context_size",label:"模型上下文长度"},{default:l(()=>[t(X,{modelValue:e.value.credentials.context_size,"onUpdate:modelValue":v[5]||(v[5]=o=>e.value.credentials.context_size=o),placeholder:"请输入模型上下文长度"},null,8,["modelValue"])]),_:1})):A("",!0),e.value.model_type==="llm"?(a(),i(w,{key:2,field:"credentials.max_tokens_to_sample",label:"最大token上限"},{default:l(()=>[t(X,{modelValue:e.value.credentials.max_tokens_to_sample,"onUpdate:modelValue":v[6]||(v[6]=o=>e.value.credentials.max_tokens_to_sample=o)},null,8,["modelValue"])]),_:1})):A("",!0),e.value.model_type==="llm"?(a(),i(w,{key:3,field:"credentials.function_calling_type",label:"Function calling"},{default:l(()=>[t(R,{modelValue:e.value.credentials.function_calling_type,"onUpdate:modelValue":v[7]||(v[7]=o=>e.value.credentials.function_calling_type=o),"allow-clear":"",placeholder:"请选择"},{default:l(()=>[(a(!0),f(M,null,S(N.value,o=>(a(),i(I,{key:o.value,value:o.value},{default:l(()=>[D(b(o.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1})):A("",!0),e.value.model_type==="llm"?(a(),i(w,{key:4,field:"credentials.stream_function_calling",label:"Stream function calling"},{default:l(()=>[t(R,{modelValue:e.value.credentials.stream_function_calling,"onUpdate:modelValue":v[8]||(v[8]=o=>e.value.credentials.stream_function_calling=o),"allow-clear":"",placeholder:"请选择"},{default:l(()=>[(a(!0),f(M,null,S(B.value,o=>(a(),i(I,{key:o.value,value:o.value},{default:l(()=>[D(b(o.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1})):A("",!0),e.value.model_type==="llm"?(a(),i(w,{key:5,field:"credentials.vision_support",label:"Vision 支持"},{default:l(()=>[t(R,{modelValue:e.value.credentials.vision_support,"onUpdate:modelValue":v[9]||(v[9]=o=>e.value.credentials.vision_support=o),"allow-clear":"",placeholder:"请选择"},{default:l(()=>[(a(!0),f(M,null,S(q.value,o=>(a(),i(I,{key:o.value,value:o.value},{default:l(()=>[D(b(o.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1})):A("",!0),e.value.model_type==="llm"?(a(),i(w,{key:6,field:"credentials.stream_mode_delimiter",label:"流模式返回结果的分隔符"},{default:l(()=>[t(X,{modelValue:e.value.credentials.stream_mode_delimiter,"onUpdate:modelValue":v[10]||(v[10]=o=>e.value.credentials.stream_mode_delimiter=o),placeholder:"请输入模型UID"},null,8,["modelValue"])]),_:1})):A("",!0)]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},Ua=W($a,[["__scopeId","data-v-9178ccbe"]]),La={class:"model-title"},Ca={class:"section"},Ia={__name:"ModalAdd_4",props:{show_modal:Boolean,model_data:Object},emits:["difyClose","updateModelList"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m(!1),e=m({model_type:"",model:"",credentials:{huggingfacehub_api_type:"hosted_inference_api",huggingfacehub_api_token:"",huggingfacehub_endpoint_url:"",task_type:""},load_balancing:{configs:[],enabled:!1}}),F={model_type:[{required:!0,message:"模型类型必填"}],model:[{required:!0,message:"模型名称必填"}],"credentials.huggingfacehub_api_token":[{required:!0,message:"API Token必填"}],"credentials.huggingfacehub_api_type":[{required:!0,message:"端点类型必填"}],"credentials.huggingfacehub_endpoint_url":[{required:!0,message:"端点URL必填"}],"credentials.task_type":[{required:!0,message:"Task必填"}]},P=m([{label:"Hosted Inference API",value:"hosted_inference_api"},{label:"Inference Endpoints",value:"inference_endpoints"}]),N=m([{label:"Text-to-Text Generation",value:"text2text-generation"},{label:"文本生成",value:"text-generation"}]),B=J(()=>c.model_data.supported_model_types),q=async()=>{try{let g=!1;if(e.value.credentials.huggingfacehub_api_type==="hosted_inference_api"&&(e.value.model_type&&e.value.model&&e.value.credentials.huggingfacehub_api_token?g=!0:g=!1),e.value.credentials.huggingfacehub_api_type==="inference_endpoints"&&(e.value.model_type&&e.value.model&&e.value.credentials.huggingfacehub_api_token&&e.value.credentials.huggingfacehub_endpoint_url&&e.value.credentials.task_type?g=!0:g=!1),g){n.value=!0;const r=await h(c.model_data.provider,e.value);r&&r.result==="success"&&(L("updateModelList"),E()),n.value=!1}else z.error("缺少必填项")}catch{}finally{n.value=!1}},E=()=>{L("difyClose")},h=async(g,r)=>{var p,v;try{return await _e(g,r)}catch(I){console.log(I),z.error((v=(p=I.response)==null?void 0:p.data)==null?void 0:v.message)}},s=()=>{};return j(()=>{c.model_data.supported_model_types.length&&(e.value.model_type=c.model_data.supported_model_types[0])}),(g,r)=>{const p=se,v=de,I=ne,R=ue,w=oe,X=te;return a(),i(X,{visible:k.value,"onUpdate:visible":r[6]||(r[6]=d=>k.value=d),"title-align":"start","align-center":!1,"esc-to-close":!1,"ok-loading":n.value,top:"15vh",width:"30vw",onBeforeCancel:E,onOk:q},{title:l(()=>[_("div",La,[_("b",null,"添加 "+b(c.model_data.label.en_US),1)])]),default:l(()=>[_("div",Ca,[t(w,{model:e.value,ref:"formRef",rules:F,layout:V.value,onSubmit:s},{default:l(()=>[t(I,{field:"model_type",label:"模型类型"},{default:l(()=>[t(v,{modelValue:e.value.model_type,"onUpdate:modelValue":r[0]||(r[0]=d=>e.value.model_type=d)},{default:l(()=>[(a(!0),f(M,null,S(B.value,d=>(a(),i(p,{key:d,value:d},{default:l(()=>[D(b(d),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(I,{field:"model",label:"模型名称"},{default:l(()=>[t(R,{modelValue:e.value.model,"onUpdate:modelValue":r[1]||(r[1]=d=>e.value.model=d),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),t(I,{field:"credentials.huggingfacehub_api_type",label:"端点类型"},{default:l(()=>[t(v,{modelValue:e.value.credentials.huggingfacehub_api_type,"onUpdate:modelValue":r[2]||(r[2]=d=>e.value.credentials.huggingfacehub_api_type=d)},{default:l(()=>[(a(!0),f(M,null,S(P.value,d=>(a(),i(p,{key:d.value,value:d.value},{default:l(()=>[D(b(d.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(I,{field:"credentials.huggingfacehub_api_token",label:"API Token"},{default:l(()=>[t(R,{modelValue:e.value.credentials.huggingfacehub_api_token,"onUpdate:modelValue":r[3]||(r[3]=d=>e.value.credentials.huggingfacehub_api_token=d),placeholder:"请输入API Token"},null,8,["modelValue"])]),_:1}),e.value.credentials.huggingfacehub_api_type==="inference_endpoints"?(a(),i(I,{key:0,field:"credentials.huggingfacehub_endpoint_url",label:"端点 URL"},{default:l(()=>[t(R,{modelValue:e.value.credentials.huggingfacehub_endpoint_url,"onUpdate:modelValue":r[4]||(r[4]=d=>e.value.credentials.huggingfacehub_endpoint_url=d),placeholder:"请输入端点 URL"},null,8,["modelValue"])]),_:1})):A("",!0),e.value.credentials.huggingfacehub_api_type==="inference_endpoints"?(a(),i(I,{key:1,field:"credentials.task_type",label:"Task"},{default:l(()=>[t(v,{modelValue:e.value.credentials.task_type,"onUpdate:modelValue":r[5]||(r[5]=d=>e.value.credentials.task_type=d),placeholder:"请选择"},{default:l(()=>[(a(!0),f(M,null,S(N.value,d=>(a(),i(p,{key:d.value,value:d.value},{default:l(()=>[D(b(d.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1})):A("",!0)]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},Ea=W(Ia,[["__scopeId","data-v-1e5dee75"]]),Aa={class:"model-title"},Oa={class:"section"},Sa={__name:"ModalAdd_5",props:{show_modal:Boolean,model_data:Object},emits:["difyClose","updateModelList"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m(!1),e=m({model_type:"",model:"",credentials:{base_url:"",context_size:"4096",max_tokens:"4096",mode:"chat",vision_support:!1},load_balancing:{configs:[],enabled:!1}}),F={model_type:[{required:!0,message:"模型类型必填"}],model:[{required:!0,message:"模型名称必填"}],"credentials.base_url":[{required:!0,message:"基础 URL必填"}],"credentials.context_size":[{required:!0,message:"模型上下文长度必填"}],"credentials.max_tokens":[{required:!0,message:"最大token上限必填"}],"credentials.stream_mode_delimiter":[{required:!0,message:"流模式返回结果的分隔符必填"}]},P=m([{label:"补全",value:"completion"},{label:"对话",value:"chat"}]),N=m([{label:"不支持",value:!1},{label:"支持",value:!0}]),B=J(()=>c.model_data.supported_model_types),q=async()=>{try{let g=!1;if(e.value.model_type==="llm"&&e.value.model&&e.value.credentials.base_url&&e.value.credentials.context_size&&e.value.credentials.max_tokens&&(g=!0),e.value.model_type==="text-embedding"&&e.value.model&&e.value.credentials.base_url&&e.value.credentials.context_size&&(g=!0),g){n.value=!0;const r=await h(c.model_data.provider,e.value);r&&r.result==="success"&&(L("updateModelList"),E()),n.value=!1}else z.error("缺少必填项")}catch{}finally{n.value=!1}},E=()=>{L("difyClose")},h=async(g,r)=>{var p,v;try{return await _e(g,r)}catch(I){console.log(I),z.error((v=(p=I.response)==null?void 0:p.data)==null?void 0:v.message)}},s=()=>{};return j(()=>{c.model_data.supported_model_types.length&&(e.value.model_type=c.model_data.supported_model_types[0])}),(g,r)=>{const p=se,v=de,I=ne,R=ue,w=oe,X=te;return a(),i(X,{visible:k.value,"onUpdate:visible":r[7]||(r[7]=d=>k.value=d),"title-align":"start","align-center":!1,"esc-to-close":!1,"ok-loading":n.value,top:"15vh",width:"30vw",onBeforeCancel:E,onOk:q},{title:l(()=>[_("div",Aa,[_("b",null,"添加 "+b(c.model_data.label.en_US),1)])]),default:l(()=>[_("div",Oa,[t(w,{model:e.value,ref:"formRef",rules:F,layout:V.value,onSubmit:s},{default:l(()=>[t(I,{field:"model_type",label:"模型类型"},{default:l(()=>[t(v,{modelValue:e.value.model_type,"onUpdate:modelValue":r[0]||(r[0]=d=>e.value.model_type=d)},{default:l(()=>[(a(!0),f(M,null,S(B.value,d=>(a(),i(p,{key:d,value:d},{default:l(()=>[D(b(d),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(I,{field:"model",label:"模型名称"},{default:l(()=>[t(R,{modelValue:e.value.model,"onUpdate:modelValue":r[1]||(r[1]=d=>e.value.model=d),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),t(I,{field:"credentials.base_url",label:"基础 URL"},{default:l(()=>[t(R,{modelValue:e.value.credentials.base_url,"onUpdate:modelValue":r[2]||(r[2]=d=>e.value.credentials.base_url=d),placeholder:"Ollama server的基础URL"},null,8,["modelValue"])]),_:1}),e.value.model_type==="llm"?(a(),i(I,{key:0,field:"credentials.mode",label:"模型类型"},{default:l(()=>[t(v,{modelValue:e.value.credentials.mode,"onUpdate:modelValue":r[3]||(r[3]=d=>e.value.credentials.mode=d),placeholder:"选择对话类型","allow-clear":""},{default:l(()=>[(a(!0),f(M,null,S(P.value,d=>(a(),i(p,{key:d.value,value:d.value},{default:l(()=>[D(b(d.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1})):A("",!0),t(I,{field:"credentials.context_size",label:"模型上下文长度"},{default:l(()=>[t(R,{modelValue:e.value.credentials.context_size,"onUpdate:modelValue":r[4]||(r[4]=d=>e.value.credentials.context_size=d),placeholder:"请输入模型上下文长度"},null,8,["modelValue"])]),_:1}),e.value.model_type==="llm"?(a(),i(I,{key:1,field:"credentials.max_tokens",label:"最大token上限"},{default:l(()=>[t(R,{modelValue:e.value.credentials.max_tokens,"onUpdate:modelValue":r[5]||(r[5]=d=>e.value.credentials.max_tokens=d)},null,8,["modelValue"])]),_:1})):A("",!0),e.value.model_type==="llm"?(a(),i(I,{key:2,field:"credentials.vision_support",label:"Vision 支持"},{default:l(()=>[t(v,{modelValue:e.value.credentials.vision_support,"onUpdate:modelValue":r[6]||(r[6]=d=>e.value.credentials.vision_support=d),"allow-clear":"",placeholder:"请选择"},{default:l(()=>[(a(!0),f(M,null,S(N.value,d=>(a(),i(p,{key:d.value,value:d.value},{default:l(()=>[D(b(d.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1})):A("",!0)]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},Da=W(Sa,[["__scopeId","data-v-42678865"]]),Fa={class:"model-title"},Ba={class:"section"},Ta={__name:"ModalAdd_6",props:{show_modal:Boolean,model_data:Object},emits:["difyClose","updateModelList"],setup(y,{emit:x}){const c=y,L=x,k=J(()=>c.show_modal),V=m("vertical"),n=m(!1),e=m({config_from:"predefined-model",credentials:{api_key:"",endpoint_url:""},load_balancing:{configs:[],enabled:!1}}),F={"credentials.api_key":[{required:!0,message:"API Key必填"}]};J(()=>c.model_data.supported_model_types);const P=async()=>{try{if(e.value.credentials.api_key){n.value=!0;const E=await B(c.model_data.provider,e.value);E&&E.result==="success"&&(L("updateModelList"),N()),n.value=!1}else z.error("缺少必填项")}catch{}finally{n.value=!1}},N=()=>{L("difyClose")},B=async(E,h)=>{var s,g;try{return await Je(E,h)}catch(r){console.log(r),z.error((g=(s=r.response)==null?void 0:s.data)==null?void 0:g.message)}},q=()=>{};return j(()=>{}),(E,h)=>{const s=ue,g=ne,r=oe,p=te;return a(),i(p,{visible:k.value,"onUpdate:visible":h[2]||(h[2]=v=>k.value=v),"title-align":"start","align-center":!1,"esc-to-close":!1,"ok-loading":n.value,top:"15vh",width:"30vw",onBeforeCancel:N,onOk:P},{title:l(()=>[_("div",Fa,[_("b",null,"设置 "+b(c.model_data.label.en_US),1)])]),default:l(()=>[_("div",Ba,[t(r,{model:e.value,ref:"formRef",rules:F,layout:V.value,onSubmit:q},{default:l(()=>[t(g,{field:"credentials.api_key",label:"API Key"},{default:l(()=>[t(s,{modelValue:e.value.credentials.api_key,"onUpdate:modelValue":h[0]||(h[0]=v=>e.value.credentials.api_key=v),placeholder:"请输入API Key"},null,8,["modelValue"])]),_:1}),t(g,{field:"credentials.endpoint_url",label:"自定义 API endpoint 地址"},{default:l(()=>[t(s,{modelValue:e.value.credentials.endpoint_url,"onUpdate:modelValue":h[1]||(h[1]=v=>e.value.credentials.endpoint_url=v),placeholder:"Base URL"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","layout"])])]),_:1},8,["visible","ok-loading"])}}},xa={class:"model-body"},Ra={class:"body-item"},Pa={class:"item-title"},qa={class:"title"},Na={key:0},Ga={class:"body-item"},Xa={class:"item-title"},Ha={class:"title"},za={key:0,class:"card-list"},Ka={class:"labels"},Ya={class:"desc"},Za={__name:"MessageBody",setup(y){const{beforeEnter:x,enter:c,leave:L}=ce(1e3);m([]),m([{id:"1",name:"OpenAl",keyword:"LLM,TEXT",desc:"EMBEDDING,SPEECH2TEXT,MODERATION",img_src:"modelFrame4"},{id:"2",name:"Moonshot",keyword:"LLM,TEXT EMBEDDING",desc:"",img_src:"modelFrame5"},{id:"3",name:"ZHIPU-AI",keyword:"LLM,TEXT",desc:"EMBEDDING,SPEECH2TEXT,MODERATION",img_src:"modelFrame6"},{id:"4",name:"BaiChuan",keyword:"LLM,TEXT EMBEDDING",desc:"",img_src:"modelFrame7"},{id:"5",name:"DeepSeek",keyword:"LLM",desc:"",img_src:"modelFrame8"},{id:"6",name:"Mistral",keyword:"LLM,TEXT EMBEDDING",desc:"",img_src:"modelFrame9"},{id:"7",name:"StepFun",keyword:"LLM",desc:"",img_src:"modelFrame10"}]);const k=m({}),V=m([]),n=m([]),e=m(!0),F=m(!0),P=m(!1),N=m({}),B=m(!1),q=m({}),E=m(!1),h=m({}),s=m(!1),g=m({}),r=m(!1),p=m({}),v=m(!1),I=m({}),R=()=>{e.value=!e.value},w=()=>{F.value=!F.value},X=async u=>{if(u.showMore){k.value.forEach(ee=>{ee.provider===u.provider&&(ee.showMore=!1)});return}const T=await d(u.provider);T.data&&k.value.forEach(ee=>{ee.provider===u.provider&&(ee.showMore=!0,ee.llm=T.data)})},d=async u=>{try{return await We(u)}catch(T){console.log(T)}},$=async()=>{try{const u=await Qe();u.data&&(n.value=u.data,V.value=u.data.filter(T=>["openai","ollama","deepseek","openai_api_compatible","xinference","huggingface_hub"].includes(T.provider)).filter(T=>T.custom_configuration.status==="no-configure"),k.value=u.data.filter(T=>["openai","ollama","deepseek","openai_api_compatible","xinference","huggingface_hub"].includes(T.provider)).filter(T=>T.custom_configuration.status==="active").map(T=>({...T,showMore:!1})))}catch(u){console.log(u)}},o=async()=>{await $()},U=u=>{const T=n.value.find(ee=>ee.label.en_US===u);O(T)},O=async u=>{["xinference"].includes(u.provider)&&(P.value=!0,N.value=u),["openai_api_compatible"].includes(u.provider)&&(B.value=!0,q.value=u),["openai"].includes(u.provider)&&(E.value=!0,h.value=u),["huggingface_hub"].includes(u.provider)&&(s.value=!0,g.value=u),["ollama"].includes(u.provider)&&(r.value=!0,p.value=u),["deepseek"].includes(u.provider)&&(v.value=!0,I.value=u)},H=()=>{P.value=!1,N.value={}},Y=()=>{E.value=!1,h.value={}},Z=()=>{B.value=!1,q.value={}},le=()=>{s.value=!1,g.value={}},G=()=>{r.value=!1,p.value={}},C=()=>{v.value=!1,I.value={}};return j(()=>{$()}),(u,T)=>{const ee=Q("icon-up"),fe=Q("icon-down"),ye=Ve,Ce=Q("icon-plus"),Ie=me;return a(),f(M,null,[_("div",xa,[_("div",Ra,[_("div",Pa,[_("div",qa,b(u.$t("management.addedModel")),1),_("div",{class:"icon",onClick:R},[e.value?(a(),f(M,{key:0},[D(b(u.$t("management.upBtn"))+" ",1),t(ee)],64)):A("",!0),e.value?A("",!0):(a(),f(M,{key:1},[D(b(u.$t("management.downBtn"))+" ",1),t(fe)],64))])]),t(ie,{name:"expand-collapse",onBeforeEnter:K(x),onEnter:K(c),onLeave:K(L)},{default:l(()=>[e.value?(a(),f("div",Na,[(a(!0),f(M,null,S(k.value,(ae,ge)=>(a(),i(fa,{key:ge,model_item:ae,model_name:ae.label.en_US,onShowMore:X,onUpdateAddModelDify:o,onToAddModel:U},{default:l(()=>[D(b((u.key,u.index)),1)]),_:2},1032,["model_item","model_name"]))),128)),k.value.length?A("",!0):(a(),i(ye,{key:0,class:"empty-list"}))])):A("",!0)]),_:1},8,["onBeforeEnter","onEnter","onLeave"])]),_("div",Ga,[_("div",Xa,[_("div",Ha,b(u.$t("management.unaddModel")),1),_("div",{class:"icon",onClick:w},[F.value?(a(),f(M,{key:0},[D(b(u.$t("management.upBtn"))+" ",1),t(ee)],64)):A("",!0),F.value?A("",!0):(a(),f(M,{key:1},[D(b(u.$t("management.downBtn"))+" ",1),t(fe)],64))])]),t(ie,{name:"expand-collapse",onBeforeEnter:K(x),onEnter:K(c),onLeave:K(L)},{default:l(()=>[F.value?(a(),f("div",za,[(a(!0),f(M,null,S(V.value,ae=>(a(),i(Le,{key:ae.id,name:ae.label.en_US,img_src:ae.img_src,is_model:""},{labels:l(()=>[_("div",Ka,b(ae.supported_model_types.join(",")),1)]),description:l(()=>[_("div",Ya,b(ae.description&&ae.description.zh_Hans),1)]),bottom:l(()=>[t(Ie,{onClick:ge=>O(ae)},{icon:l(()=>[t(Ce)]),default:l(()=>[D(b(u.$t("management.addModelBtn")),1)]),_:2},1032,["onClick"])]),_:2},1032,["name","img_src"]))),128))])):A("",!0)]),_:1},8,["onBeforeEnter","onEnter","onLeave"]),V.value.length?A("",!0):(a(),i(ye,{key:0,class:"empty-list"}))])]),P.value?(a(),i(ba,{key:0,show_modal:P.value,model_data:N.value,onDifyClose:H,onUpdateModelList:o},null,8,["show_modal","model_data"])):A("",!0),E.value?(a(),i(wa,{key:1,show_modal:E.value,model_data:h.value,onDifyClose:Y,onUpdateModelList:o},null,8,["show_modal","model_data"])):A("",!0),B.value?(a(),i(Ua,{key:2,show_modal:B.value,model_data:q.value,onDifyClose:Z,onUpdateModelList:o},null,8,["show_modal","model_data"])):A("",!0),s.value?(a(),i(Ea,{key:3,show_modal:s.value,model_data:g.value,onDifyClose:le,onUpdateModelList:o},null,8,["show_modal","model_data"])):A("",!0),r.value?(a(),i(Da,{key:4,show_modal:r.value,model_data:p.value,onDifyClose:G,onUpdateModelList:o},null,8,["show_modal","model_data"])):A("",!0),v.value?(a(),i(Ta,{key:5,show_modal:v.value,model_data:I.value,onDifyClose:C,onUpdateModelList:o},null,8,["show_modal","model_data"])):A("",!0)],64)}}},Ja=W(Za,[["__scopeId","data-v-c67a10a8"]]),Ft={__name:"Model",setup(y){const x=m("assistant"),c=L=>{x.value=L};return(L,k)=>(a(),i(Ee,null,{default:l(()=>[t(Ae,null,{default:l(()=>[t(Oe,{title:L.$t("management.modelTitle"),tips:L.$t("management.modelDesc")},{setting:l(()=>[t(ml,{onChangeType:c})]),_:1},8,["title","tips"]),x.value==="assistant"?(a(),i(ea,{key:0})):A("",!0),x.value==="agent"?(a(),i(Ja,{key:1})):A("",!0)]),_:1})]),_:1}))}};export{Ft as default};
|