muryshev's picture
update
9923f3d
import{b as ue,p as se,e as m,c as R,d as _,f as F,j as M,i as C,q as j,u as f,k as J,l as a,v as G,w as U,x as ae,y as ne,r as re,t as H,h as Q,m as W,n as le}from"../chunks/scheduler.5WtVptCO.js";import{S as oe,i as ce,b as ie,c as de,d as fe,m as he,a as pe,t as me,e as _e}from"../chunks/index.7IiDzEZn.js";import{e as Y}from"../chunks/each.C7pZUaX1.js";import{L as ge}from"../chunks/LlmSelector.Snki38ql.js";function Z(s,e,t){const n=s.slice();return n[15]=e[t],n}function $(s){let e,t,n,r="Вы:",u,g,h,o=s[15][0]+"",p,b,B,A="Бот:",L,P,w,I=s[15][1]+"",T,c;return{c(){e=m("div"),t=m("div"),n=m("p"),n.textContent=r,u=R(),g=m("div"),h=m("p"),p=H(o),b=R(),B=m("p"),B.textContent=A,L=R(),P=m("div"),w=m("pre"),T=H(I),c=R(),this.h()},l(i){e=_(i,"DIV",{class:!0});var v=F(e);t=_(v,"DIV",{class:!0});var E=F(t);n=_(E,"P",{class:!0,"data-svelte-h":!0}),j(n)!=="svelte-rp9yxd"&&(n.textContent=r),u=M(E),g=_(E,"DIV",{class:!0});var N=F(g);h=_(N,"P",{class:!0});var O=F(h);p=Q(O,o),O.forEach(C),N.forEach(C),b=M(E),B=_(E,"P",{class:!0,"data-svelte-h":!0}),j(B)!=="svelte-1l7fbwv"&&(B.textContent=A),L=M(E),P=_(E,"DIV",{class:!0});var S=F(P);w=_(S,"PRE",{class:!0});var d=F(w);T=Q(d,I),d.forEach(C),S.forEach(C),E.forEach(C),c=M(v),v.forEach(C),this.h()},h(){f(n,"class","font-bold text-sm"),f(h,"class","text-sm"),f(g,"class","self-start bg-blue-500 text-white p-2 rounded-lg"),f(B,"class","font-bold text-sm"),f(w,"class","text-sm svelte-1m09ey3"),f(P,"class","self-start bg-slate-100 text-black p-2 rounded-lg"),f(t,"class","mb-2 flex flex-col"),f(e,"class","mb-2 flex flex-col")},m(i,v){J(i,e,v),a(e,t),a(t,n),a(t,u),a(t,g),a(g,h),a(h,p),a(t,b),a(t,B),a(t,L),a(t,P),a(P,w),a(w,T),a(e,c)},p(i,v){v&3&&o!==(o=i[15][0]+"")&&W(p,o),v&3&&I!==(I=i[15][1]+"")&&W(T,I)},d(i){i&&C(e)}}}function ee(s){let e,t="Остановить",n,r;return{c(){e=m("button"),e.textContent=t,this.h()},l(u){e=_(u,"BUTTON",{class:!0,"data-svelte-h":!0}),j(e)!=="svelte-9vttci"&&(e.textContent=t),this.h()},h(){f(e,"class","ml-2 px-4 py-2 mb-8 bg-cyan-800 text-white rounded-md")},m(u,g){J(u,e,g),n||(r=U(e,"click",s[7]),n=!0)},p:le,d(u){u&&C(e),n=!1,r()}}}function te(s){let e,t="Отправить",n,r;return{c(){e=m("button"),e.textContent=t,this.h()},l(u){e=_(u,"BUTTON",{class:!0,"data-svelte-h":!0}),j(e)!=="svelte-n2s9cz"&&(e.textContent=t),this.h()},h(){f(e,"class","ml-2 px-4 py-2 mb-8 bg-blue-500 text-white rounded-md")},m(u,g){J(u,e,g),n||(r=U(e,"click",s[5]),n=!0)},p:le,d(u){u&&C(e),n=!1,r()}}}function be(s){let e,t,n,r,u,g,h,o,p,b,B,A,L,P,w,I="Использовать системный промпт",T,c,i,v,E;function N(l){s[8](l)}let O={};s[4]!==void 0&&(O.selectedLLM=s[4]),t=new ge({props:O}),se.push(()=>ie(t,"selectedLLM",N));let S=Y(s[0]?s[1].slice(1):s[1]),d=[];for(let l=0;l<S.length;l+=1)d[l]=$(Z(s,S,l));let y=s[3]&&ee(s),k=!s[3]&&te(s);return{c(){e=m("div"),de(t.$$.fragment),r=R(),u=m("div");for(let l=0;l<d.length;l+=1)d[l].c();g=R(),h=m("div"),o=m("div"),p=m("div"),b=m("textarea"),B=R(),A=m("label"),L=m("input"),P=R(),w=m("p"),w.textContent=I,T=R(),y&&y.c(),c=R(),k&&k.c(),this.h()},l(l){e=_(l,"DIV",{class:!0});var x=F(e);fe(t.$$.fragment,x),r=M(x),u=_(x,"DIV",{class:!0});var V=F(u);for(let X=0;X<d.length;X+=1)d[X].l(V);V.forEach(C),g=M(x),h=_(x,"DIV",{class:!0});var D=F(h);o=_(D,"DIV",{class:!0});var q=F(o);p=_(q,"DIV",{class:!0});var K=F(p);b=_(K,"TEXTAREA",{class:!0,placeholder:!0}),F(b).forEach(C),B=M(K),A=_(K,"LABEL",{class:!0});var z=F(A);L=_(z,"INPUT",{class:!0,type:!0}),P=M(z),w=_(z,"P",{"data-svelte-h":!0}),j(w)!=="svelte-15ltrgi"&&(w.textContent=I),z.forEach(C),K.forEach(C),T=M(q),y&&y.l(q),c=M(q),k&&k.l(q),q.forEach(C),D.forEach(C),x.forEach(C),this.h()},h(){f(u,"class","flex-1 overflow-y-auto p-4 bg-gray-200"),f(b,"class","flex-1 py-2 px-3 rounded-md border-gray-300 w-full"),f(b,"placeholder","Введите ваше сообщение..."),f(L,"class","checkbox accent-white"),f(L,"type","checkbox"),f(A,"class","flex items-center space-x-2"),f(p,"class","w-full"),f(o,"class","flex"),f(h,"class","p-4 bg-gray-300"),f(e,"class","h-screen flex flex-col py-8")},m(l,x){J(l,e,x),he(t,e,null),a(e,r),a(e,u);for(let V=0;V<d.length;V+=1)d[V]&&d[V].m(u,null);a(e,g),a(e,h),a(h,o),a(o,p),a(p,b),G(b,s[2]),a(p,B),a(p,A),a(A,L),L.checked=s[0],a(A,P),a(A,w),a(o,T),y&&y.m(o,null),a(o,c),k&&k.m(o,null),i=!0,v||(E=[U(b,"input",s[9]),U(b,"keydown",s[6]),U(L,"change",s[10])],v=!0)},p(l,[x]){const V={};if(!n&&x&16&&(n=!0,V.selectedLLM=l[4],ae(()=>n=!1)),t.$set(V),x&3){S=Y(l[0]?l[1].slice(1):l[1]);let D;for(D=0;D<S.length;D+=1){const q=Z(l,S,D);d[D]?d[D].p(q,x):(d[D]=$(q),d[D].c(),d[D].m(u,null))}for(;D<d.length;D+=1)d[D].d(1);d.length=S.length}x&4&&G(b,l[2]),x&1&&(L.checked=l[0]),l[3]?y?y.p(l,x):(y=ee(l),y.c(),y.m(o,c)):y&&(y.d(1),y=null),l[3]?k&&(k.d(1),k=null):k?k.p(l,x):(k=te(l),k.c(),k.m(o,null))},i(l){i||(pe(t.$$.fragment,l),i=!0)},o(l){me(t.$$.fragment,l),i=!1},d(l){l&&C(e),_e(t),ne(d,l),y&&y.d(),k&&k.d(),v=!1,re(E)}}}function ve(s,e,t){const n=["Ты - бот, ассистент. Ты помогаешь пользователю с его запросами. Отвечай на русском языке, если пользователь не указал иное. Обращайся на Вы. Следуй инструкциям и указаниям пользователя.","Я отвечаю на русском языке!"];let r=[],u="",g=!1,h=new AbortController,o=!1,p;async function b(){u.trim()!==""&&(t(1,r=[...r,[u,""]]),t(2,u=""),await A())}function B(c){c.key==="Enter"&&!c.shiftKey&&(c.stopPropagation(),c.preventDefault(),b())}const A=async()=>{t(3,g=!0);const c=await fetch("/llm/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({history:r,llm:p.name.replace(" (изменено)",""),predictParams:p.predict_params}),signal:h.signal});try{if(h.signal.aborted){console.log("Request was cancelled.");return}if(!c.body){console.log("Response has no body");return}const i=c.body.pipeThrough(new TextDecoderStream).getReader();let v=!0;for(;v;)try{if(h.signal.aborted){console.log("Request was cancelled during reading.");break}const{value:E,done:N}=await i.read();if(N){v=!1;break}E&&t(1,r[r.length-1][1]+=E,r)}catch(E){if(E.name==="AbortError"){v=!1,console.log("Fetch was aborted during reading.");break}else{v=!1,console.error("Error during reading:",E);break}}t(3,g=!1)}catch(i){i.name==="AbortError"?console.log("Fetch was aborted."):console.error("Error during fetch:",i)}},L=()=>{h.abort("user canceled"),h=new AbortController};function P(c){c?r.unshift(n):t(1,r=r.filter(i=>i!==n))}function w(c){p=c,t(4,p)}function I(){u=this.value,t(2,u)}function T(){o=this.checked,t(0,o)}return s.$$.update=()=>{s.$$.dirty&1&&P(o)},[o,r,u,g,p,b,B,L,w,I,T]}class xe extends oe{constructor(e){super(),ce(this,e,ve,be,ue,{})}}export{xe as component};