Model-B3VzI37t.js 61 KB

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