Files
----/后端源码/yifan.action-ai.cn/index/js/index.BRBFOceU.js

2 lines
8.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{h as e,aj as a,ak as l,aa as t,al as i,am as n,q as d,r as o,ay as s,ao as u,ap as c,T as r,w as p,x as m,y as _,aq as f,ar as v,a1 as g,az as b,v as y,a3 as w,a4 as k,E as h,D as x}from"./element-plus.BfMFfVUv.js";import{a as C,K as V}from"./knowledge_base.jxv-xf_v.js";import{E as z}from"./ai_config.CJOBnb2u.js";import{J as j,t as U,S as $,_ as S,$ as q,a0 as B,a1 as D,o as E,a9 as K,a6 as R,T,aa as A,a8 as H,H as I,ay as J,r as L,ak as O}from"./.pnpm.BudmgPu7.js";import{_ as P}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./index.CjKO7M_A.js";import"./codemirror.BdleaLZh.js";const F={class:"app-container"},G={class:"table-toolbar"},M={key:0,class:"embedding-info"},N={class:"config-name"},Q=P(j({name:"KnowledgeBase",inheritAttrs:!1,__name:"index",setup(j){const P=L(!1),Q=L([]),W=L(0),X=L([]),Y=O({page_no:1,page_size:10,name:void 0,kb_status:void 0}),Z=L([]),ee=L(),ae=L([]);async function le(){P.value=!0;try{const e=await V.list(Y);Q.value=e.data.data.items,W.value=e.data.data.total}finally{P.value=!1}}function te(e){X.value=e}function ie(e){var a;return(null==(a=C[e])?void 0:a.type)||"info"}const ne=L(!1),de=L("新增知识库"),oe=L(),se=O({id:void 0,name:void 0,embedding_config_id:void 0,description:void 0}),ue={name:[{required:!0,message:"请输入知识库名称",trigger:"blur"}]};function ce(){de.value="新增知识库";const e=Z.value.find(e=>1===e.is_default);Object.assign(se,{id:void 0,name:void 0,embedding_config_id:null==e?void 0:e.id,description:void 0}),ae.value=[],ne.value=!0}async function re(){var e;await(null==(e=oe.value)?void 0:e.validate());const a=ae.value.map(e=>e.raw).filter(Boolean);await V.create(se,a),h.success("创建成功"),ne.value=!1,le()}function pe(){h.warning("最多只能上传10个文件")}async function me(){await x.confirm(`确定删除选中的${X.value.length}个知识库吗?`,"警告",{type:"warning"});const e=X.value.map(e=>e.id);await V.delete(e),h.success("删除成功"),le()}const _e=L(!1),fe=L({});return U(()=>{le(),async function(){try{const e=await z.list({page_no:1,page_size:100});Z.value=e.data.data.items}catch(e){}}()}),(z,j)=>{const U=e,L=n,O=d,ve=o,ge=i,be=c,ye=r,we=_,ke=m,he=v,xe=f,Ce=g,Ve=p,ze=y,je=k,Ue=w,$e=u;return $(),S("div",F,[q(ye,null,{header:B(()=>[...j[9]||(j[9]=[D("div",{class:"card-header"},[D("span",null,"知识库管理")],-1)])]),default:B(()=>[D("div",G,[q(U,{icon:E(a),onClick:le},{default:B(()=>[...j[10]||(j[10]=[K("刷新",-1)])]),_:1},8,["icon"]),q(U,{type:"primary",icon:E(l),onClick:ce},{default:B(()=>[...j[11]||(j[11]=[K("新增知识库",-1)])]),_:1},8,["icon"]),q(U,{type:"danger",icon:E(t),disabled:0===X.value.length,onClick:me},{default:B(()=>[...j[12]||(j[12]=[K("批量删除",-1)])]),_:1},8,["icon","disabled"])]),R(($(),T(ge,{data:Q.value,onSelectionChange:te},{default:B(()=>[q(L,{type:"selection",width:"50"}),q(L,{prop:"name",label:"知识库名称","min-width":"150"}),q(L,{label:"向量化配置","min-width":"200"},{default:B(({row:e})=>[e.embedding_config?($(),S("div",M,[q(O,{size:"small",type:0===e.embedding_config.embedding_type?"primary":"success"},{default:B(()=>[K(A(0===e.embedding_config.embedding_type?"本地":"远程"),1)]),_:2},1032,["type"]),D("span",N,A(e.embedding_config.name),1)])):($(),T(ve,{key:1,type:"info"},{default:B(()=>[...j[13]||(j[13]=[K("未配置",-1)])]),_:1}))]),_:1}),q(L,{prop:"collection_name",label:"集合名称","min-width":"180","show-overflow-tooltip":""}),q(L,{prop:"document_count",label:"文档数",width:"100",align:"center"}),q(L,{prop:"vector_count",label:"向量数",width:"100",align:"center"}),q(L,{prop:"kb_status",label:"状态",width:"100",align:"center"},{default:B(({row:e})=>[q(O,{type:ie(e.kb_status)},{default:B(()=>{var a;return[K(A((null==(a=E(C)[e.kb_status])?void 0:a.label)||"未知"),1)]}),_:2},1032,["type"])]),_:1}),q(L,{prop:"description",label:"备注","min-width":"150","show-overflow-tooltip":""}),q(L,{prop:"created_time",label:"创建时间",width:"170"}),q(L,{label:"操作",width:"180",fixed:"right"},{default:B(({row:e})=>[3===e.kb_status?($(),T(U,{key:0,type:"warning",link:"",icon:E(a),onClick:a=>async function(e){await x.confirm("确定重新向量化该知识库吗?","提示",{type:"info"}),await V.retry(e.id),h.success("已启动重新向量化"),le()}(e)},{default:B(()=>[...j[14]||(j[14]=[K("重试",-1)])]),_:1},8,["icon","onClick"])):H("",!0),q(U,{type:"primary",link:"",icon:E(s),onClick:a=>async function(e){try{const a=await V.detail(e.id);fe.value=a.data.data,_e.value=!0}catch(a){}}(e)},{default:B(()=>[...j[15]||(j[15]=[K("详情",-1)])]),_:1},8,["icon","onClick"]),q(U,{type:"danger",link:"",icon:E(t),onClick:a=>async function(e){await x.confirm("确定删除该知识库吗?删除后相关向量数据也将被删除。","警告",{type:"warning"}),await V.delete([e.id]),h.success("删除成功"),le()}(e)},{default:B(()=>[...j[16]||(j[16]=[K("删除",-1)])]),_:1},8,["icon","onClick"])]),_:1})]),_:1},8,["data"])),[[$e,P.value]]),q(be,{"current-page":Y.page_no,"onUpdate:currentPage":j[0]||(j[0]=e=>Y.page_no=e),"page-size":Y.page_size,"onUpdate:pageSize":j[1]||(j[1]=e=>Y.page_size=e),total:W.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:le,onCurrentChange:le},null,8,["current-page","page-size","total"])]),_:1}),q(ze,{modelValue:ne.value,"onUpdate:modelValue":j[7]||(j[7]=e=>ne.value=e),title:de.value,width:"600px","destroy-on-close":""},{footer:B(()=>[q(U,{onClick:j[6]||(j[6]=e=>ne.value=!1)},{default:B(()=>[...j[19]||(j[19]=[K("取消",-1)])]),_:1}),q(U,{type:"primary",onClick:re},{default:B(()=>[...j[20]||(j[20]=[K("确定",-1)])]),_:1})]),default:B(()=>[q(Ve,{ref_key:"formRef",ref:oe,model:se,rules:ue,"label-width":"100px"},{default:B(()=>[q(ke,{label:"知识库名称",prop:"name"},{default:B(()=>[q(we,{modelValue:se.name,"onUpdate:modelValue":j[2]||(j[2]=e=>se.name=e),placeholder:"请输入知识库名称"},null,8,["modelValue"])]),_:1}),q(ke,{label:"向量化配置",prop:"embedding_config_id"},{default:B(()=>[q(xe,{modelValue:se.embedding_config_id,"onUpdate:modelValue":j[3]||(j[3]=e=>se.embedding_config_id=e),placeholder:"请选择向量化配置",style:{width:"100%"},clearable:""},{default:B(()=>[($(!0),S(I,null,J(Z.value,e=>($(),T(he,{key:e.id,label:`${e.name} (${0===e.embedding_type?"本地":"远程"} - ${e.model_name})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),se.id?H("",!0):($(),T(ke,{key:0,label:"上传文件",prop:"files"},{default:B(()=>[q(Ce,{ref_key:"uploadRef",ref:ee,"file-list":ae.value,"onUpdate:fileList":j[4]||(j[4]=e=>ae.value=e),"auto-upload":!1,limit:10,multiple:"",accept:".txt,.pdf,.doc,.docx,.md","on-exceed":pe},{tip:B(()=>[...j[18]||(j[18]=[D("div",{class:"el-upload__tip"},"支持 txt、pdf、doc、docx、md 格式最多上传10个文件",-1)])]),default:B(()=>[q(U,{type:"primary",icon:E(b)},{default:B(()=>[...j[17]||(j[17]=[K("选择文件",-1)])]),_:1},8,["icon"])]),_:1},8,["file-list"])]),_:1})),q(ke,{label:"备注",prop:"description"},{default:B(()=>[q(we,{modelValue:se.description,"onUpdate:modelValue":j[5]||(j[5]=e=>se.description=e),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),q(ze,{modelValue:_e.value,"onUpdate:modelValue":j[8]||(j[8]=e=>_e.value=e),title:"知识库详情",width:"700px"},{default:B(()=>[q(Ue,{column:2,border:""},{default:B(()=>[q(je,{label:"知识库名称"},{default:B(()=>[K(A(fe.value.name),1)]),_:1}),q(je,{label:"状态"},{default:B(()=>[q(O,{type:ie(fe.value.kb_status)},{default:B(()=>{var e;return[K(A((null==(e=E(C)[fe.value.kb_status])?void 0:e.label)||"未知"),1)]}),_:1},8,["type"])]),_:1}),q(je,{label:"向量化配置",span:2},{default:B(()=>[fe.value.embedding_config?($(),S(I,{key:0},[q(O,{size:"small",type:0===fe.value.embedding_config.embedding_type?"primary":"success"},{default:B(()=>[K(A(0===fe.value.embedding_config.embedding_type?"本地":"远程"),1)]),_:1},8,["type"]),K(" "+A(fe.value.embedding_config.name)+" ("+A(fe.value.embedding_config.model_name)+") ",1)],64)):($(),S(I,{key:1},[K("未配置")],64))]),_:1}),q(je,{label:"ChromaDB集合名称",span:2},{default:B(()=>[K(A(fe.value.collection_name),1)]),_:1}),q(je,{label:"文档数量"},{default:B(()=>[K(A(fe.value.document_count),1)]),_:1}),q(je,{label:"向量数量"},{default:B(()=>[K(A(fe.value.vector_count),1)]),_:1}),q(je,{label:"备注",span:2},{default:B(()=>[K(A(fe.value.description||"-"),1)]),_:1}),q(je,{label:"创建时间"},{default:B(()=>[K(A(fe.value.created_time),1)]),_:1}),q(je,{label:"更新时间"},{default:B(()=>[K(A(fe.value.updated_time),1)]),_:1}),fe.value.error_message?($(),T(je,{key:0,label:"错误信息",span:2},{default:B(()=>[q(ve,{type:"danger"},{default:B(()=>[K(A(fe.value.error_message),1)]),_:1})]),_:1})):H("",!0)]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-c71b4110"]]);export{Q as default};