2 lines
7.0 KiB
JavaScript
2 lines
7.0 KiB
JavaScript
|
|
import{a as S,E as $}from"./el-form-item-rya6onmd.js";import{E as F}from"./el-popper-DDJTxf27.js";import{E as T}from"./index-DbBHj60R.js";import{E as G}from"./index-DxH5-_w6.js";import{E as z,a as Y}from"./el-select-BQaRHu3V.js";import{E as H,b as J}from"./el-radio-group-HDdMmxmO.js";import{v as Q}from"./directive-BBfPDwlQ.js";import{d as W,aN as X,G as Z,K as ee,e as m,w as t,y as _,j as I,z as le,o as s,s as a,c as b,ad as L,f as oe,M as w,x as n,q as P,aa as ae,A as k,v as te,ac as re}from"./index-D5veDkuG.js";import"./el-tooltip-l0sNRNKZ.js";import"./el-scrollbar-GFOwBTUz.js";import"./el-tag-C2d1Zfbn.js";import{P as ue}from"./PageCard-DFGMy1ik.js";import{h as ne,i as se,u as ie,j as pe}from"./model-Do_d1nlo.js";import{_ as de}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./castArray-BDIbf8ih.js";import"./_baseClone-BuqHm105.js";import"./index-BT1A2I5c.js";import"./index-DmAaj_YO.js";import"./raf-Dsox5IbR.js";import"./index-DDY6aSpq.js";import"./vnode-CYZHqsIy.js";import"./index-DbuKXJ7V.js";import"./scroll-DswMXu1y.js";import"./clamp-Ddg8_Yc2.js";import"./toNumber-a8w_gs0u.js";import"./_baseIteratee-N-G7GeYE.js";import"./omit-DxQEBv1Z.js";import"./el-card-DzhpMhms.js";const me={class:"model-path-row"},_e=W({__name:"ModelCreateView",setup(fe){const E=re(),M=te(),f=_(),c=_(!1),g=_(!1),y=I(()=>!!E.params.id),d=I(()=>E.params.id),v=_([]),l=le({name:"",type:"LLM",purpose:"inference",model_source:"local",description:"",path:"",api_url:"",api_key:"",online_model_name:""}),U={name:[{required:!0,message:"请输入模型名称",trigger:"blur"},{max:100,message:"不超过 100 字符",trigger:"blur"}],type:[{required:!0,message:"请选择模型类型",trigger:"change"}],purpose:[{required:!0,message:"请选择模型用途",trigger:"change"}]};function A(){return l.model_source==="local"?{path:[{required:!0,message:"请选择本地模型路径",trigger:"change"}]}:{api_url:[{required:!0,message:"请输入 API 地址",trigger:"blur"}],api_key:[{required:!0,message:"请输入 API Key",trigger:"blur"}],online_model_name:[{required:!0,message:"请输入模型名称",trigger:"blur"}]}}const R=Object.entries(X).map(([r,e])=>({value:r,label:e}));async function B(){if(d.value){c.value=!0;try{const r=await ne(d.value),e=r.model_source==="online"?"api":r.model_source||"local";Object.assign(l,{name:r.name||"",type:r.type||"LLM",purpose:r.purpose||"inference",model_source:e,description:r.description||"",path:r.path||"",api_url:r.api_url||"",api_key:r.api_key||"",online_model_name:r.model_name||""})}catch{}finally{c.value=!1}}}async function h(){try{const r=await se();v.value=(r==null?void 0:r.models)||[]}catch{v.value=[]}}async function O(){f.value&&await f.value.validate(async r=>{if(r){if(l.model_source==="local"&&!l.path){k.warning("请选择本地模型路径");return}g.value=!0;try{const e={name:l.name,type:l.type,purpose:l.purpose,model_source:l.model_source,description:l.description};l.model_source==="local"?e.path=l.path:(e.api_url=l.api_url,e.api_key=l.api_key,e.online_model_name=l.online_model_name),y.value&&d.value?(await ie(d.value,e),k.success("更新成功")):(await pe(e),k.success("创建成功")),M.push("/model-manage")}catch{}finally{g.value=!1}}})}function j(){M.back()}return Z(()=>{h(),B()}),(r,e)=>{const i=T,u=S,x=Y,q=z,p=J,C=H,V=G,D=F,K=$,N=Q;return ee((s(),m(ue,{title:y.value?"编辑模型":"添加模型"},{default:t(()=>[a(K,{ref_key:"formRef",ref:f,model:l,rules:{...U,...A()},"label-width":"120px",style:{"max-width":"640px"}},{default:t(()=>[a(u,{label:"模型名称",prop:"name"},{default:t(()=>[a(i,{modelValue:l.name,"onUpdate:modelValue":e[0]||(e[0]=o=>l.name=o),placeholder:"请输入模型名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(u,{label:"模型类型",prop:"type"},{default:t(()=>[a(q,{modelValue:l.type,"onUpdate:modelValue":e[1]||(e[1]=o=>l.type=o),placeholder:"请选择模型类型",style:{width:"100%"}},{default:t(()=>[(s(!0),b(w,null,L(oe(R),o=>(s(),m(x,{key:o.value,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(u,{
|