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

2 lines
8.8 KiB
JavaScript
Raw 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{g 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,a as h,D as x}from"./element-plus.DhcJM-BD.js";import{a as C,K as V}from"./knowledge_base.DSwMkM2M.js";import{E as z}from"./ai_config.OU8K-Y0S.js";import{o as j,B as U,t as B,H as $,I as q,J as K,K as R,u as S,Y as D,V as I,v as A,Z as E,X as H,R as J,am as L,r as O,ac as P}from"./.pnpm.DGfAnZKL.js";import{_ as T}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./index.BPA2kTd2.js";import"./codemirror.CR5zRbyM.js";const X={class:"app-container"},Y={class:"table-toolbar"},Z={key:0,class:"embedding-info"},F={class:"config-name"},G=T(j({name:"KnowledgeBase",inheritAttrs:!1,__name:"index",setup(j){const T=O(!1),G=O([]),M=O(0),N=O([]),Q=P({page_no:1,page_size:10,name:void 0,kb_status:void 0}),W=O([]),ee=O(),ae=O([]);async function le(){T.value=!0;try{const e=await V.list(Q);G.value=e.data.data.items,M.value=e.data.data.total}finally{T.value=!1}}function te(e){N.value=e}function ie(e){var a;return(null==(a=C[e])?void 0:a.type)||"info"}const ne=O(!1),de=O("新增知识库"),oe=O(),se=P({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=W.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(`确定删除选中的${N.value.length}个知识库吗?`,"警告",{type:"warning"});const e=N.value.map(e=>e.id);await V.delete(e),h.success("删除成功"),le()}const _e=O(!1),fe=O({});return U(()=>{le(),async function(){try{const e=await z.list({page_no:1,page_size:100});W.value=e.data.data.items}catch(e){}}()}),(z,j)=>{const U=e,O=n,P=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,Be=u;return B(),$("div",X,[q(ye,null,{header:K(()=>[...j[9]||(j[9]=[R("div",{class:"card-header"},[R("span",null,"知识库管理")],-1)])]),default:K(()=>[R("div",Y,[q(U,{icon:S(a),onClick:le},{default:K(()=>[...j[10]||(j[10]=[D("刷新",-1)])]),_:1},8,["icon"]),q(U,{type:"primary",icon:S(l),onClick:ce},{default:K(()=>[...j[11]||(j[11]=[D("新增知识库",-1)])]),_:1},8,["icon"]),q(U,{type:"danger",icon:S(t),disabled:0===N.value.length,onClick:me},{default:K(()=>[...j[12]||(j[12]=[D("批量删除",-1)])]),_:1},8,["icon","disabled"])]),I((B(),A(ge,{data:G.value,onSelectionChange:te},{default:K(()=>[q(O,{type:"selection",width:"50"}),q(O,{prop:"name",label:"知识库名称","min-width":"150"}),q(O,{label:"向量化配置","min-width":"200"},{default:K(({row:e})=>[e.embedding_config?(B(),$("div",Z,[q(P,{size:"small",type:0===e.embedding_config.embedding_type?"primary":"success"},{default:K(()=>[D(E(0===e.embedding_config.embedding_type?"本地":"远程"),1)]),_:2},1032,["type"]),R("span",F,E(e.embedding_config.name),1)])):(B(),A(ve,{key:1,type:"info"},{default:K(()=>[...j[13]||(j[13]=[D("未配置",-1)])]),_:1}))]),_:1}),q(O,{prop:"collection_name",label:"集合名称","min-width":"180","show-overflow-tooltip":""}),q(O,{prop:"document_count",label:"文档数",width:"100",align:"center"}),q(O,{prop:"vector_count",label:"向量数",width:"100",align:"center"}),q(O,{prop:"kb_status",label:"状态",width:"100",align:"center"},{default:K(({row:e})=>[q(P,{type:ie(e.kb_status)},{default:K(()=>{var a;return[D(E((null==(a=S(C)[e.kb_status])?void 0:a.label)||"未知"),1)]}),_:2},1032,["type"])]),_:1}),q(O,{prop:"description",label:"备注","min-width":"150","show-overflow-tooltip":""}),q(O,{prop:"created_time",label:"创建时间",width:"170"}),q(O,{label:"操作",width:"180",fixed:"right"},{default:K(({row:e})=>[3===e.kb_status?(B(),A(U,{key:0,type:"warning",link:"",icon:S(a),onClick:a=>async function(e){await x.confirm("确定重新向量化该知识库吗?","提示",{type:"info"}),await V.retry(e.id),h.success("已启动重新向量化"),le()}(e)},{default:K(()=>[...j[14]||(j[14]=[D("重试",-1)])]),_:1},8,["icon","onClick"])):H("",!0),q(U,{type:"primary",link:"",icon:S(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:K(()=>[...j[15]||(j[15]=[D("详情",-1)])]),_:1},8,["icon","onClick"]),q(U,{type:"danger",link:"",icon:S(t),onClick:a=>async function(e){await x.confirm("确定删除该知识库吗?删除后相关向量数据也将被删除。","警告",{type:"warning"}),await V.delete([e.id]),h.success("删除成功"),le()}(e)},{default:K(()=>[...j[16]||(j[16]=[D("删除",-1)])]),_:1},8,["icon","onClick"])]),_:1})]),_:1},8,["data"])),[[Be,T.value]]),q(be,{"current-page":Q.page_no,"onUpdate:currentPage":j[0]||(j[0]=e=>Q.page_no=e),"page-size":Q.page_size,"onUpdate:pageSize":j[1]||(j[1]=e=>Q.page_size=e),total:M.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:K(()=>[q(U,{onClick:j[6]||(j[6]=e=>ne.value=!1)},{default:K(()=>[...j[19]||(j[19]=[D("取消",-1)])]),_:1}),q(U,{type:"primary",onClick:re},{default:K(()=>[...j[20]||(j[20]=[D("确定",-1)])]),_:1})]),default:K(()=>[q(Ve,{ref_key:"formRef",ref:oe,model:se,rules:ue,"label-width":"100px"},{default:K(()=>[q(ke,{label:"知识库名称",prop:"name"},{default:K(()=>[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:K(()=>[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:K(()=>[(B(!0),$(J,null,L(W.value,e=>(B(),A(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):(B(),A(ke,{key:0,label:"上传文件",prop:"files"},{default:K(()=>[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:K(()=>[...j[18]||(j[18]=[R("div",{class:"el-upload__tip"},"支持 txt、pdf、doc、docx、md 格式最多上传10个文件",-1)])]),default:K(()=>[q(U,{type:"primary",icon:S(b)},{default:K(()=>[...j[17]||(j[17]=[D("选择文件",-1)])]),_:1},8,["icon"])]),_:1},8,["file-list"])]),_:1})),q(ke,{label:"备注",prop:"description"},{default:K(()=>[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:K(()=>[q(Ue,{column:2,border:""},{default:K(()=>[q(je,{label:"知识库名称"},{default:K(()=>[D(E(fe.value.name),1)]),_:1}),q(je,{label:"状态"},{default:K(()=>[q(P,{type:ie(fe.value.kb_status)},{default:K(()=>{var e;return[D(E((null==(e=S(C)[fe.value.kb_status])?void 0:e.label)||"未知"),1)]}),_:1},8,["type"])]),_:1}),q(je,{label:"向量化配置",span:2},{default:K(()=>[fe.value.embedding_config?(B(),$(J,{key:0},[q(P,{size:"small",type:0===fe.value.embedding_config.embedding_type?"primary":"success"},{default:K(()=>[D(E(0===fe.value.embedding_config.embedding_type?"本地":"远程"),1)]),_:1},8,["type"]),D(" "+E(fe.value.embedding_config.name)+" ("+E(fe.value.embedding_config.model_name)+") ",1)],64)):(B(),$(J,{key:1},[D("未配置")],64))]),_:1}),q(je,{label:"ChromaDB集合名称",span:2},{default:K(()=>[D(E(fe.value.collection_name),1)]),_:1}),q(je,{label:"文档数量"},{default:K(()=>[D(E(fe.value.document_count),1)]),_:1}),q(je,{label:"向量数量"},{default:K(()=>[D(E(fe.value.vector_count),1)]),_:1}),q(je,{label:"备注",span:2},{default:K(()=>[D(E(fe.value.description||"-"),1)]),_:1}),q(je,{label:"创建时间"},{default:K(()=>[D(E(fe.value.created_time),1)]),_:1}),q(je,{label:"更新时间"},{default:K(()=>[D(E(fe.value.updated_time),1)]),_:1}),fe.value.error_message?(B(),A(je,{key:0,label:"错误信息",span:2},{default:K(()=>[q(ve,{type:"danger"},{default:K(()=>[D(E(fe.value.error_message),1)]),_:1})]),_:1})):H("",!0)]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-c71b4110"]]);export{G as default};