import{d as q,ac as G,r as n,D as A,G as X,a7 as Z,o as i,c as b,b as o,w as r,l as c,a as v,F as R,ag as J,ai as O,X as z,k as Q,f as M,a1 as Y,H as ee,ae,C as te,ah as ne,p as se,aZ as oe,af as B,M as le,v as ce}from"./index-4533c179.js";/* empty css */import{V as ie}from"./vue3-lottie.es-c66b7bf9.js";import{_ as re,a as ue}from"./AiChatInfo.vue_vue_type_script_setup_true_lang-aad2daf0.js";const de={class:"chat-bot"},pe={class:"messsage-area"},me={key:1,class:"no-message-container"},fe={class:"input-area"},ve={class:"input-panel"},_e=q({__name:"knowledgeChat",props:{win:{}},setup(S){const f=G(),u=n(!1),_=n(!1),E=n(null);let I=n(""),g=n(""),C=n("");const h=n(),x=n(),d=n(""),w=n(0),T=S,l=n([]),F=n({}),D=n(0),V=A(()=>[{content:F.value.prompt||"",chatType:"chat",chatId:D.value,role:"system",id:Date.now(),createAt:Date.now()}]);X(async()=>{var t,e;w.value=((e=(t=T.win)==null?void 0:t.props)==null?void 0:e.knowledgeId)||0,D.value=w.value});const K=A(()=>{if(l.value.length<=10)return[...V.value,...l.value];{const e=l.value.slice(-10);return[...V.value,...e]}}),L=async()=>{if(d.value.trim()){if(u.value===!0)return;let t={content:d.value,chatId:w.value,role:"user",id:Date.now(),createdAt:Date.now()};l.value.push(t),await f.addMessages(D.value,t),d.value="",u.value=!0,await N()}},N=async()=>{try{const t=Date.now(),e={content:"",role:"assistant",chatType:"chat",chatId:f.activeId,id:t,createdAt:t};let p={messages:K.value,model:f.chatInfo.model,engine:"ollama",stream:!1,webSearch:_.value,fileContent:g.value,fileName:C.value,knowledgeId:w.value*1};const a=await oe(p);if(I.value="",g.value="",C.value="",!a){B("模型调用失败,请稍后重试!"),u.value=!1;return}if(a&&a.choices&&a.choices.length>0&&a.choices[0].message.content){const m=a.choices[0].message.content;e.content=m,a.documents&&a.documents.length>0&&(e.doc=a.documents),a.web_search&&a.web_search.length>0&&(e.web_search=a.web_search),l.value.push(e)}a&&a.message&&(a.message.content.startsWith(` `)&&(a.message.content=a.message.content.replace(` `,"")),e.content=a.message.content,l.value.push(e)),u.value=!1}catch(t){u.value=!1,B(t.message)}},P=()=>{le(()=>{h&&h.value&&x.value&&h.value.setScrollTop(x.value.clientHeight)})};Z(()=>l,()=>{P()},{deep:!0});const U=t=>{t.key==="Enter"&&(t.altKey||t.shiftKey)?(t.preventDefault(),d.value+=` `):t.key==="Enter"&&(t.preventDefault(),L())},H=async()=>{E.value.click()},W=async t=>{const e=t.target.files[0];if(!e)return;const p=new FileReader;p.onload=a=>{const m=a.target.result.split(",")[1];e.type.startsWith("image/")?I.value=m:(g.value=m,C.value=e.name)},p.readAsDataURL(e)};return(t,e)=>{const p=re,a=J,m=ue,y=te,k=ne,$=se,j=O;return i(),b(R,null,[o(a,{modelValue:c(f).showInfo,"onUpdate:modelValue":e[0]||(e[0]=s=>c(f).showInfo=s),width:"600","append-to-body":"",fullscreen:!!c(z)()},{default:r(()=>[o(p)]),_:1},8,["modelValue","fullscreen"]),v("div",de,[v("div",pe,[o(c(Y),{class:"message-container",ref_key:"messageContainerRef",ref:h},{default:r(()=>[l.value.length>0?(i(),b("div",{key:0,ref_key:"messageInnerRef",ref:x},[(i(!0),b(R,null,Q(l.value,s=>(i(),M(m,{key:s.messageId,content:s.content,link:s.link,role:s.role,createdAt:s.createdAt,doc:s.documents||[],web_search:s.web_search||[]},null,8,["content","link","role","createdAt","doc","web_search"]))),128))],512)):(i(),b("div",me,[o(c(ie),{animationLink:"/os/bot/chat.json",height:420,width:420})]))]),_:1},512),v("div",fe,[v("div",ve,[o(j,{gutter:24,style:{"border-bottom":"none"}},{default:r(()=>[o(k,{span:2},{default:r(()=>[o(y,{class:ee(["file-btn",{"selected-image":c(I)!=""||c(g)!=""}]),onClick:H,size:"large",icon:"Paperclip",circle:""},null,8,["class"]),v("input",{type:"file",ref_key:"imageInput",ref:E,accept:"image/*,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/pdf",style:{display:"none"},onChange:W},null,544)]),_:1}),o(k,{span:2},{default:r(()=>[o(y,{class:"websearch-btn",onClick:e[1]||(e[1]=s=>_.value=!_.value),size:"large",icon:"ChromeFilled",circle:"",type:_.value?"primary":"default"},null,8,["type"])]),_:1}),o(k,{span:17},{default:r(()=>[o($,{modelValue:d.value,"onUpdate:modelValue":e[2]||(e[2]=s=>d.value=s),placeholder:c(ae)("aichat.askme"),size:"large",clearable:"",onKeydown:U,autofocus:!c(z)(),class:"ai-input-area"},null,8,["modelValue","placeholder","autofocus"])]),_:1}),o(k,{span:2},{default:r(()=>[u.value?(i(),M(y,{key:1,type:"primary",size:"large","loading-icon":"Eleme",icon:"Loading",loading:"",circle:""})):(i(),M(y,{key:0,onClick:L,icon:"Promotion",type:"info",size:"large",circle:""}))]),_:1})]),_:1})])])])])],64)}}});const ke=ce(_e,[["__scopeId","data-v-7dd101eb"]]);export{ke as default};