From 70a3d081c3da2cd6ea7a8ce21ebfee3b42910738 Mon Sep 17 00:00:00 2001 From: Saifeddine ALOUI Date: Thu, 12 Sep 2024 22:23:24 +0200 Subject: [PATCH] fixed voice recording and transcription --- endpoints/lollms_advanced.py | 4 +++- web/dist/assets/{index-1f8c86f3.js => index-1a16f704.js} | 2 +- web/dist/index.html | 2 +- web/src/views/PlayGroundView.vue | 4 +++- 4 files changed, 8 insertions(+), 4 deletions(-) rename web/dist/assets/{index-1f8c86f3.js => index-1a16f704.js} (99%) diff --git a/endpoints/lollms_advanced.py b/endpoints/lollms_advanced.py index c190bdcf..78630046 100644 --- a/endpoints/lollms_advanced.py +++ b/endpoints/lollms_advanced.py @@ -507,7 +507,9 @@ def stop_recording(data:Identification): lollmsElfServer.info("Stopping audio capture") fn = lollmsElfServer.audioNinja.stop_recording() lollmsElfServer.audioNinja = None - if lollmsElfServer.stt: + if lollmsElfServer.stt and fn: text = lollmsElfServer.stt.transcribe(fn) return text + else: + return "" diff --git a/web/dist/assets/index-1f8c86f3.js b/web/dist/assets/index-1a16f704.js similarity index 99% rename from web/dist/assets/index-1f8c86f3.js rename to web/dist/assets/index-1a16f704.js index 7fcdf5df..8dcb62dd 100644 --- a/web/dist/assets/index-1f8c86f3.js +++ b/web/dist/assets/index-1a16f704.js @@ -77,7 +77,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),me=F,le=W),ne===void 0 `?(this.text=this.text.slice(0,e)+"```"+t+` `+this.text.slice(e,n)+"\n```\n"+this.text.slice(n),e=e+4+t.length):(this.text=this.text.slice(0,e)+"\n```"+t+` `+this.text.slice(e,n)+"\n```\n"+this.text.slice(n),e=e+3+t.length),this.$refs.mdTextarea.focus(),this.$refs.mdTextarea.selectionStart=this.$refs.mdTextarea.selectionEnd=p},insertTab(t){const e=t.target,n=e.selectionStart,s=e.selectionEnd,i=e.value.substring(0,n),r=e.value.substring(s),o=i+" "+r;this.text=o,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=n+4}),t.preventDefault()},mdTextarea_changed(){console.log("mdTextarea_changed"),this.cursorPosition=this.$refs.mdTextarea.selectionStart},mdTextarea_clicked(){console.log(`mdTextarea_clicked: ${this.$refs.mdTextarea.selectionStart}`),this.cursorPosition=this.$refs.mdTextarea.selectionStart},setModel(){this.selecting_model=!0,ae.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"model_name",setting_value:this.selectedModel}).then(t=>{console.log(t),t.status&&this.$refs.toast.showToast(`Model changed to ${this.selectedModel}`,4,!0),this.selecting_model=!1}).catch(t=>{this.$refs.toast.showToast(`Error ${t}`,4,!0),this.selecting_model=!1})},onVoicesChanged(){this.voices=this.speechSynthesis.getVoices()},read(){console.log("READING..."),this.isSynthesizingVoice=!0;let t=this.$refs.mdTextarea.selectionStart,e=this.$refs.mdTextarea.selectionEnd,n=this.text;t!=e&&(n=n.slice(t,e)),ae.post("./text2Wave",{client_id:this.$store.state.client_id,text:n}).then(s=>{console.log(s.data.url);let i=s.data.url;this.audio_url=i,this.isSynthesizingVoice=!1,Le(()=>{ze.replace()})}).catch(s=>{this.$refs.toast.showToast(`Error: ${s}`,4,!1),this.isSynthesizingVoice=!1,Le(()=>{ze.replace()})})},speak(){if(this.msg){this.speechSynthesis.cancel(),this.msg=null,this.isSpeaking=!1;return}let t=0;console.log("voice on"),this.isSpeaking=!0;const e=200;this.msg=new SpeechSynthesisUtterance,this.msg.pitch=this.$store.state.config.audio_pitch,this.voices.length>0&&(this.msg.voice=this.voices.filter(i=>i.name===this.$store.state.config.audio_out_voice)[0]);const n=i=>{let r=this.text.substring(i,i+e);const o=[".","!","?",` -`];let a=-1;return o.forEach(c=>{const d=r.lastIndexOf(c);d>a&&(a=d)}),a==-1&&(a=r.length),console.log(a),a+i+1},s=()=>{const i=n(t),r=this.text.substring(t,i);this.msg.text=r,t=i+1,this.msg.onend=o=>{t{s()},1):(this.isSpeaking=!1,console.log("voice off :",this.text.length," ",i))},this.speechSynthesis.speak(this.msg)};s()},getCursorPosition(){return this.$refs.mdTextarea.selectionStart},appendToOutput(t){this.pre_text+=t,this.text=this.pre_text+this.post_text},generate_in_placeholder(){console.log("Finding cursor position");let t=this.text.indexOf("@@");if(t<0){this.$refs.toast.showToast("No generation placeholder found",4,!1);return}this.text=this.text.substring(0,t)+this.text.substring(t+26,this.text.length),this.pre_text=this.text.substring(0,t),this.post_text=this.text.substring(t,this.text.length);var e=this.text.substring(0,t);console.log(e),qe.emit("generate_text",{prompt:e,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},async tokenize_text(){const t=await ae.post("/lollms_tokenize",{prompt:this.text},{headers:this.posts_headers});console.log(t.data.named_tokens),this.namedTokens=t.data.named_tokens},generate(){console.log("Finding cursor position"),this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length);var t=this.text.substring(0,this.getCursorPosition());console.log(this.text),console.log(`cursor position :${this.getCursorPosition()}`),console.log(`pretext:${this.pre_text}`),console.log(`post_text:${this.post_text}`),console.log(`prompt:${t}`),qe.emit("generate_text",{prompt:t,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},stopGeneration(){qe.emit("cancel_text_generation",{})},exportText(){const t=this.text,e=document.createElement("a"),n=new Blob([t],{type:"text/plain"});e.href=URL.createObjectURL(n),e.download="exported_text.txt",document.body.appendChild(e),e.click(),document.body.removeChild(e)},importText(){const t=document.getElementById("import-input");t&&(t.addEventListener("change",e=>{if(e.target.files&&e.target.files[0]){const n=new FileReader;n.onload=()=>{this.text=n.result},n.readAsText(e.target.files[0])}else alert("Please select a file.")}),t.click())},setPreset(){console.log("Setting preset"),console.log(this.selectedPreset),this.tab_id="render",this.text=Qet(this.selectedPreset.content,t=>{console.log("Done"),console.log(t),this.text=t})},addPreset(){let t=prompt("Enter the title of the preset:");this.presets[t]={client_id:this.$store.state.client_id,name:t,content:this.text},ae.post("./add_preset",this.presets[t]).then(e=>{console.log(e.data)}).catch(e=>{this.$refs.toast.showToast(`Error: ${e}`,4,!1)})},removePreset(){this.selectedPreset&&delete this.presets[this.selectedPreset.name]},reloadPresets(){ae.get("./get_presets").then(t=>{console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startRecording(){this.pending=!0,this.is_recording?ae.post("/stop_recording",{client_id:this.$store.state.client_id}).then(t=>{this.is_recording=!1,this.pending=!1,console.log(t),this.text+=t.data.text,console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}):ae.post("/start_recording",{client_id:this.$store.state.client_id}).then(t=>{this.is_recording=!0,this.pending=!1,console.log(t.data)}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startRecordingAndTranscribing(){this.pending=!0,this.is_deaf_transcribing?ae.get("/stop_recording").then(t=>{this.is_deaf_transcribing=!1,this.pending=!1,this.text=t.data.text,this.read()}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}):ae.get("/start_recording").then(t=>{this.is_deaf_transcribing=!0,this.pending=!1}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startSpeechRecognition(){"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.recognition.lang=this.$store.state.config.audio_in_language,this.recognition.interimResults=!0,this.recognition.onstart=()=>{this.isLesteningToVoice=!0,this.silenceTimer=setTimeout(()=>{this.recognition.stop()},this.silenceTimeout)},this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length),this.recognition.onresult=t=>{this.generated="";for(let e=t.resultIndex;e{this.recognition.stop()},this.silenceTimeout)},this.recognition.onerror=t=>{console.error("Speech recognition error:",t.error),this.isLesteningToVoice=!1,clearTimeout(this.silenceTimer)},this.recognition.onend=()=>{console.log("Speech recognition ended."),this.isLesteningToVoice=!1,this.pre_text=this.pre_text+this.generated,this.cursorPosition=this.pre_text.length,clearTimeout(this.silenceTimer)},this.recognition.start()):console.error("Speech recognition is not supported in this browser.")}}},Zet={class:"container w-full background-color shadow-lg overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Jet={class:"container flex flex-row m-2 w-full"},ett={class:"flex-grow w-full m-2"},ttt={class:"flex panels-color gap-3 flex-1 items-center flex-grow flex-row rounded-md border-2 border-blue-300 m-2 p-4"},ntt={class:"flex items-center space-x-2"},stt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1),itt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"})],-1),rtt=["src"],ott=l("span",{class:"w-80"},null,-1),att=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),ltt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),ctt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),dtt=["src"],utt=["src"],ptt=["src"],_tt=["src"],htt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),ftt={key:1,class:"w-6 h-6"},mtt=l("svg",{class:"animate-spin h-5 w-5 text-secondary",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[l("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),l("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1),gtt=[mtt],btt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1),Ett=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1),ytt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1),vtt={class:"flex gap-3 flex-1 items-center flex-grow justify-end"},Stt=l("input",{type:"file",id:"import-input",class:"hidden"},null,-1),Ttt={key:0},xtt=["src"],Ctt={key:2},wtt={key:0,class:"settings scrollbar bg-white dark:bg-gray-800 rounded-lg shadow-md p-6"},Rtt=l("h2",{class:"text-2xl font-bold text-gray-900 dark:text-white mb-4"},"Settings",-1),Att=["value"],Ntt={key:0,title:"Selecting model",class:"flex flex-row flex-grow justify-end"},Ott=l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Selecting model...")],-1),Mtt=[Ott],Itt=["value"],ktt=l("br",null,null,-1),Dtt=l("i",{"data-feather":"check"},null,-1),Ltt=[Dtt],Ptt=l("i",{"data-feather":"plus"},null,-1),Ftt=[Ptt],Utt=l("i",{"data-feather":"x"},null,-1),Btt=[Utt],Gtt=l("i",{"data-feather":"refresh-ccw"},null,-1),Vtt=[Gtt],ztt={class:"slider-container ml-2 mr-2"},Htt=l("h3",{class:"text-gray-600"},"Temperature",-1),qtt={class:"slider-value text-gray-500"},$tt={class:"slider-container ml-2 mr-2"},Ytt=l("h3",{class:"text-gray-600"},"Top K",-1),Wtt={class:"slider-value text-gray-500"},Ktt={class:"slider-container ml-2 mr-2"},jtt=l("h3",{class:"text-gray-600"},"Top P",-1),Qtt={class:"slider-value text-gray-500"},Xtt={class:"slider-container ml-2 mr-2"},Ztt=l("h3",{class:"text-gray-600"},"Repeat Penalty",-1),Jtt={class:"slider-value text-gray-500"},ent={class:"slider-container ml-2 mr-2"},tnt=l("h3",{class:"text-gray-600"},"Repeat Last N",-1),nnt={class:"slider-value text-gray-500"},snt={class:"slider-container ml-2 mr-2"},int=l("h3",{class:"text-gray-600"},"Number of tokens to crop the text to",-1),rnt={class:"slider-value text-gray-500"},ont={class:"slider-container ml-2 mr-2"},ant=l("h3",{class:"text-gray-600"},"Number of tokens to generate",-1),lnt={class:"slider-value text-gray-500"},cnt={class:"slider-container ml-2 mr-2"},dnt=l("h3",{class:"text-gray-600"},"Seed",-1),unt={class:"slider-value text-gray-500"};function pnt(t,e,n,s,i,r){const o=tt("ChatBarButton"),a=tt("ToolbarButton"),c=tt("DropdownSubmenu"),d=tt("DropdownMenu"),u=tt("tokens-hilighter"),h=tt("MarkdownRenderer"),f=tt("Card"),m=tt("Toast");return T(),x(Fe,null,[l("div",Zet,[l("div",Jet,[l("div",ett,[l("div",ttt,[l("div",ntt,[P(V(o,{onClick:r.generate,title:"Generate from the current cursor position"},{icon:Ie(()=>[stt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.generate_in_placeholder,title:"Generate from the next placeholder"},{icon:Ie(()=>[itt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.tokenize_text,title:"Tokenize the text"},{icon:Ie(()=>[l("img",{src:i.tokenize_icon,alt:"Tokenize",class:"h-5 w-5"},null,8,rtt)]),_:1},8,["onClick"]),[[wt,!i.generating]]),ott,P(V(o,{onClick:r.stopGeneration,title:"Stop generation"},{icon:Ie(()=>[att]),_:1},8,["onClick"]),[[wt,i.generating]]),V(o,{onClick:r.startSpeechRecognition,class:Ge({"text-red-500":t.isListeningToVoice}),title:"Dictate (using your browser's transcription)"},{icon:Ie(()=>[ltt]),_:1},8,["onClick","class"]),V(o,{onClick:r.speak,class:Ge({"text-red-500":r.isTalking}),title:"Convert text to audio (not saved, uses your browser's TTS service)"},{icon:Ie(()=>[Je(" 🍓 ")]),_:1},8,["onClick","class"]),V(o,{onClick:r.triggerFileUpload,title:"Upload a voice"},{icon:Ie(()=>[ctt]),_:1},8,["onClick"]),V(o,{onClick:r.startRecordingAndTranscribing,class:Ge({"text-green-500":i.isLesteningToVoice}),title:"Start audio to audio"},{icon:Ie(()=>[i.pending?(T(),x("img",{key:1,src:i.loading_icon,alt:"Loading",class:"h-5 w-5"},null,8,utt)):(T(),x("img",{key:0,src:i.is_deaf_transcribing?i.deaf_on:i.deaf_off,alt:"Deaf",class:"h-5 w-5"},null,8,dtt))]),_:1},8,["onClick","class"]),V(o,{onClick:r.startRecording,class:Ge({"text-green-500":i.isLesteningToVoice}),title:"Start audio recording"},{icon:Ie(()=>[i.pending?(T(),x("img",{key:1,src:i.loading_icon,alt:"Loading",class:"h-5 w-5"},null,8,_tt)):(T(),x("img",{key:0,src:i.is_recording?i.rec_on:i.rec_off,alt:"Record",class:"h-5 w-5"},null,8,ptt))]),_:1},8,["onClick","class"]),i.isSynthesizingVoice?(T(),x("div",ftt,gtt)):(T(),dt(o,{key:0,onClick:r.read,title:"Generate audio from text"},{icon:Ie(()=>[htt]),_:1},8,["onClick"])),P(V(o,{onClick:r.exportText,title:"Export text"},{icon:Ie(()=>[btt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.importText,title:"Import text"},{icon:Ie(()=>[Ett]),_:1},8,["onClick"]),[[wt,!i.generating]]),V(o,{onClick:e[0]||(e[0]=_=>i.showSettings=!i.showSettings),title:"Settings"},{icon:Ie(()=>[ytt]),_:1})]),l("input",{type:"file",ref:"fileInput",onChange:e[1]||(e[1]=(..._)=>r.handleFileUpload&&r.handleFileUpload(..._)),style:{display:"none"},accept:".wav"},null,544),l("div",vtt,[l("button",{class:Ge(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":i.tab_id=="source"}]),onClick:e[2]||(e[2]=_=>i.tab_id="source")}," Source ",2),l("button",{class:Ge(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":i.tab_id=="render"}]),onClick:e[3]||(e[3]=_=>i.tab_id="render")}," Render ",2)]),Stt]),l("div",{class:Ge(["flex-grow m-2 p-2 border panels-color border-blue-300 rounded-md",{"border-red-500":i.generating}])},[i.tab_id==="source"?(T(),x("div",Ttt,[V(d,{title:"Add Block"},{default:Ie(()=>[V(c,{title:"Programming Languages",icon:"code"},{default:Ie(()=>[V(a,{onClick:e[4]||(e[4]=j(_=>r.addBlock("python"),["stop"])),title:"Python",icon:"python"}),V(a,{onClick:e[5]||(e[5]=j(_=>r.addBlock("javascript"),["stop"])),title:"JavaScript",icon:"js"}),V(a,{onClick:e[6]||(e[6]=j(_=>r.addBlock("typescript"),["stop"])),title:"TypeScript",icon:"typescript"}),V(a,{onClick:e[7]||(e[7]=j(_=>r.addBlock("java"),["stop"])),title:"Java",icon:"java"}),V(a,{onClick:e[8]||(e[8]=j(_=>r.addBlock("c++"),["stop"])),title:"C++",icon:"cplusplus"}),V(a,{onClick:e[9]||(e[9]=j(_=>r.addBlock("csharp"),["stop"])),title:"C#",icon:"csharp"}),V(a,{onClick:e[10]||(e[10]=j(_=>r.addBlock("go"),["stop"])),title:"Go",icon:"go"}),V(a,{onClick:e[11]||(e[11]=j(_=>r.addBlock("rust"),["stop"])),title:"Rust",icon:"rust"}),V(a,{onClick:e[12]||(e[12]=j(_=>r.addBlock("swift"),["stop"])),title:"Swift",icon:"swift"}),V(a,{onClick:e[13]||(e[13]=j(_=>r.addBlock("kotlin"),["stop"])),title:"Kotlin",icon:"kotlin"}),V(a,{onClick:e[14]||(e[14]=j(_=>r.addBlock("r"),["stop"])),title:"R",icon:"r-project"})]),_:1}),V(c,{title:"Web Technologies",icon:"web"},{default:Ie(()=>[V(a,{onClick:e[15]||(e[15]=j(_=>r.addBlock("html"),["stop"])),title:"HTML",icon:"html5"}),V(a,{onClick:e[16]||(e[16]=j(_=>r.addBlock("css"),["stop"])),title:"CSS",icon:"css3"}),V(a,{onClick:e[17]||(e[17]=j(_=>r.addBlock("vue"),["stop"])),title:"Vue.js",icon:"vuejs"}),V(a,{onClick:e[18]||(e[18]=j(_=>r.addBlock("react"),["stop"])),title:"React",icon:"react"}),V(a,{onClick:e[19]||(e[19]=j(_=>r.addBlock("angular"),["stop"])),title:"Angular",icon:"angular"})]),_:1}),V(c,{title:"Markup and Data",icon:"file-code"},{default:Ie(()=>[V(a,{onClick:e[20]||(e[20]=j(_=>r.addBlock("xml"),["stop"])),title:"XML",icon:"xml"}),V(a,{onClick:e[21]||(e[21]=j(_=>r.addBlock("json"),["stop"])),title:"JSON",icon:"json"}),V(a,{onClick:e[22]||(e[22]=j(_=>r.addBlock("yaml"),["stop"])),title:"YAML",icon:"yaml"}),V(a,{onClick:e[23]||(e[23]=j(_=>r.addBlock("markdown"),["stop"])),title:"Markdown",icon:"markdown"}),V(a,{onClick:e[24]||(e[24]=j(_=>r.addBlock("latex"),["stop"])),title:"LaTeX",icon:"latex"})]),_:1}),V(c,{title:"Scripting and Shell",icon:"terminal"},{default:Ie(()=>[V(a,{onClick:e[25]||(e[25]=j(_=>r.addBlock("bash"),["stop"])),title:"Bash",icon:"bash"}),V(a,{onClick:e[26]||(e[26]=j(_=>r.addBlock("powershell"),["stop"])),title:"PowerShell",icon:"powershell"}),V(a,{onClick:e[27]||(e[27]=j(_=>r.addBlock("perl"),["stop"])),title:"Perl",icon:"perl"})]),_:1}),V(c,{title:"Diagramming",icon:"sitemap"},{default:Ie(()=>[V(a,{onClick:e[28]||(e[28]=j(_=>r.addBlock("mermaid"),["stop"])),title:"Mermaid",icon:"mermaid"}),V(a,{onClick:e[29]||(e[29]=j(_=>r.addBlock("graphviz"),["stop"])),title:"Graphviz",icon:"graphviz"}),V(a,{onClick:e[30]||(e[30]=j(_=>r.addBlock("plantuml"),["stop"])),title:"PlantUML",icon:"plantuml"})]),_:1}),V(c,{title:"Database",icon:"database"},{default:Ie(()=>[V(a,{onClick:e[31]||(e[31]=j(_=>r.addBlock("sql"),["stop"])),title:"SQL",icon:"sql"}),V(a,{onClick:e[32]||(e[32]=j(_=>r.addBlock("mongodb"),["stop"])),title:"MongoDB",icon:"mongodb"})]),_:1}),V(a,{onClick:e[33]||(e[33]=j(_=>r.addBlock(""),["stop"])),title:"Generic Block",icon:"code"})]),_:1}),V(a,{onClick:e[34]||(e[34]=j(_=>t.copyContentToClipboard(),["stop"])),title:"Copy message to clipboard",icon:"copy"}),P(l("textarea",{ref:"mdTextarea",onKeydown:e[35]||(e[35]=zs(j((..._)=>r.insertTab&&r.insertTab(..._),["prevent"]),["tab"])),class:"block min-h-500 p-2.5 w-full text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",rows:4,style:Ht({minHeight:i.mdRenderHeight+"px"}),placeholder:"Enter message here...","onUpdate:modelValue":e[36]||(e[36]=_=>i.text=_),onClick:e[37]||(e[37]=j((..._)=>r.mdTextarea_clicked&&r.mdTextarea_clicked(..._),["prevent"])),onChange:e[38]||(e[38]=j((..._)=>r.mdTextarea_changed&&r.mdTextarea_changed(..._),["prevent"]))},`\r +`];let a=-1;return o.forEach(c=>{const d=r.lastIndexOf(c);d>a&&(a=d)}),a==-1&&(a=r.length),console.log(a),a+i+1},s=()=>{const i=n(t),r=this.text.substring(t,i);this.msg.text=r,t=i+1,this.msg.onend=o=>{t{s()},1):(this.isSpeaking=!1,console.log("voice off :",this.text.length," ",i))},this.speechSynthesis.speak(this.msg)};s()},getCursorPosition(){return this.$refs.mdTextarea.selectionStart},appendToOutput(t){this.pre_text+=t,this.text=this.pre_text+this.post_text},generate_in_placeholder(){console.log("Finding cursor position");let t=this.text.indexOf("@@");if(t<0){this.$refs.toast.showToast("No generation placeholder found",4,!1);return}this.text=this.text.substring(0,t)+this.text.substring(t+26,this.text.length),this.pre_text=this.text.substring(0,t),this.post_text=this.text.substring(t,this.text.length);var e=this.text.substring(0,t);console.log(e),qe.emit("generate_text",{prompt:e,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},async tokenize_text(){const t=await ae.post("/lollms_tokenize",{prompt:this.text},{headers:this.posts_headers});console.log(t.data.named_tokens),this.namedTokens=t.data.named_tokens},generate(){console.log("Finding cursor position"),this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length);var t=this.text.substring(0,this.getCursorPosition());console.log(this.text),console.log(`cursor position :${this.getCursorPosition()}`),console.log(`pretext:${this.pre_text}`),console.log(`post_text:${this.post_text}`),console.log(`prompt:${t}`),qe.emit("generate_text",{prompt:t,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},stopGeneration(){qe.emit("cancel_text_generation",{})},exportText(){const t=this.text,e=document.createElement("a"),n=new Blob([t],{type:"text/plain"});e.href=URL.createObjectURL(n),e.download="exported_text.txt",document.body.appendChild(e),e.click(),document.body.removeChild(e)},importText(){const t=document.getElementById("import-input");t&&(t.addEventListener("change",e=>{if(e.target.files&&e.target.files[0]){const n=new FileReader;n.onload=()=>{this.text=n.result},n.readAsText(e.target.files[0])}else alert("Please select a file.")}),t.click())},setPreset(){console.log("Setting preset"),console.log(this.selectedPreset),this.tab_id="render",this.text=Qet(this.selectedPreset.content,t=>{console.log("Done"),console.log(t),this.text=t})},addPreset(){let t=prompt("Enter the title of the preset:");this.presets[t]={client_id:this.$store.state.client_id,name:t,content:this.text},ae.post("./add_preset",this.presets[t]).then(e=>{console.log(e.data)}).catch(e=>{this.$refs.toast.showToast(`Error: ${e}`,4,!1)})},removePreset(){this.selectedPreset&&delete this.presets[this.selectedPreset.name]},reloadPresets(){ae.get("./get_presets").then(t=>{console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startRecording(){this.pending=!0,this.is_recording?ae.post("/stop_recording",{client_id:this.$store.state.client_id}).then(t=>{this.is_recording=!1,this.pending=!1,console.log(t),this.text+=t.data,console.log("text"),console.log(this.text),console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}):ae.post("/start_recording",{client_id:this.$store.state.client_id}).then(t=>{this.is_recording=!0,this.pending=!1,console.log(t.data)}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startRecordingAndTranscribing(){this.pending=!0,this.is_deaf_transcribing?ae.get("/stop_recording").then(t=>{this.is_deaf_transcribing=!1,this.pending=!1,this.text=t.data.text,this.read()}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}):ae.get("/start_recording").then(t=>{this.is_deaf_transcribing=!0,this.pending=!1}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startSpeechRecognition(){"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.recognition.lang=this.$store.state.config.audio_in_language,this.recognition.interimResults=!0,this.recognition.onstart=()=>{this.isLesteningToVoice=!0,this.silenceTimer=setTimeout(()=>{this.recognition.stop()},this.silenceTimeout)},this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length),this.recognition.onresult=t=>{this.generated="";for(let e=t.resultIndex;e{this.recognition.stop()},this.silenceTimeout)},this.recognition.onerror=t=>{console.error("Speech recognition error:",t.error),this.isLesteningToVoice=!1,clearTimeout(this.silenceTimer)},this.recognition.onend=()=>{console.log("Speech recognition ended."),this.isLesteningToVoice=!1,this.pre_text=this.pre_text+this.generated,this.cursorPosition=this.pre_text.length,clearTimeout(this.silenceTimer)},this.recognition.start()):console.error("Speech recognition is not supported in this browser.")}}},Zet={class:"container w-full background-color shadow-lg overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Jet={class:"container flex flex-row m-2 w-full"},ett={class:"flex-grow w-full m-2"},ttt={class:"flex panels-color gap-3 flex-1 items-center flex-grow flex-row rounded-md border-2 border-blue-300 m-2 p-4"},ntt={class:"flex items-center space-x-2"},stt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1),itt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"})],-1),rtt=["src"],ott=l("span",{class:"w-80"},null,-1),att=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),ltt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),ctt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),dtt=["src"],utt=["src"],ptt=["src"],_tt=["src"],htt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),ftt={key:1,class:"w-6 h-6"},mtt=l("svg",{class:"animate-spin h-5 w-5 text-secondary",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[l("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),l("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1),gtt=[mtt],btt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1),Ett=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1),ytt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1),vtt={class:"flex gap-3 flex-1 items-center flex-grow justify-end"},Stt=l("input",{type:"file",id:"import-input",class:"hidden"},null,-1),Ttt={key:0},xtt=["src"],Ctt={key:2},wtt={key:0,class:"settings scrollbar bg-white dark:bg-gray-800 rounded-lg shadow-md p-6"},Rtt=l("h2",{class:"text-2xl font-bold text-gray-900 dark:text-white mb-4"},"Settings",-1),Att=["value"],Ntt={key:0,title:"Selecting model",class:"flex flex-row flex-grow justify-end"},Ott=l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Selecting model...")],-1),Mtt=[Ott],Itt=["value"],ktt=l("br",null,null,-1),Dtt=l("i",{"data-feather":"check"},null,-1),Ltt=[Dtt],Ptt=l("i",{"data-feather":"plus"},null,-1),Ftt=[Ptt],Utt=l("i",{"data-feather":"x"},null,-1),Btt=[Utt],Gtt=l("i",{"data-feather":"refresh-ccw"},null,-1),Vtt=[Gtt],ztt={class:"slider-container ml-2 mr-2"},Htt=l("h3",{class:"text-gray-600"},"Temperature",-1),qtt={class:"slider-value text-gray-500"},$tt={class:"slider-container ml-2 mr-2"},Ytt=l("h3",{class:"text-gray-600"},"Top K",-1),Wtt={class:"slider-value text-gray-500"},Ktt={class:"slider-container ml-2 mr-2"},jtt=l("h3",{class:"text-gray-600"},"Top P",-1),Qtt={class:"slider-value text-gray-500"},Xtt={class:"slider-container ml-2 mr-2"},Ztt=l("h3",{class:"text-gray-600"},"Repeat Penalty",-1),Jtt={class:"slider-value text-gray-500"},ent={class:"slider-container ml-2 mr-2"},tnt=l("h3",{class:"text-gray-600"},"Repeat Last N",-1),nnt={class:"slider-value text-gray-500"},snt={class:"slider-container ml-2 mr-2"},int=l("h3",{class:"text-gray-600"},"Number of tokens to crop the text to",-1),rnt={class:"slider-value text-gray-500"},ont={class:"slider-container ml-2 mr-2"},ant=l("h3",{class:"text-gray-600"},"Number of tokens to generate",-1),lnt={class:"slider-value text-gray-500"},cnt={class:"slider-container ml-2 mr-2"},dnt=l("h3",{class:"text-gray-600"},"Seed",-1),unt={class:"slider-value text-gray-500"};function pnt(t,e,n,s,i,r){const o=tt("ChatBarButton"),a=tt("ToolbarButton"),c=tt("DropdownSubmenu"),d=tt("DropdownMenu"),u=tt("tokens-hilighter"),h=tt("MarkdownRenderer"),f=tt("Card"),m=tt("Toast");return T(),x(Fe,null,[l("div",Zet,[l("div",Jet,[l("div",ett,[l("div",ttt,[l("div",ntt,[P(V(o,{onClick:r.generate,title:"Generate from the current cursor position"},{icon:Ie(()=>[stt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.generate_in_placeholder,title:"Generate from the next placeholder"},{icon:Ie(()=>[itt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.tokenize_text,title:"Tokenize the text"},{icon:Ie(()=>[l("img",{src:i.tokenize_icon,alt:"Tokenize",class:"h-5 w-5"},null,8,rtt)]),_:1},8,["onClick"]),[[wt,!i.generating]]),ott,P(V(o,{onClick:r.stopGeneration,title:"Stop generation"},{icon:Ie(()=>[att]),_:1},8,["onClick"]),[[wt,i.generating]]),V(o,{onClick:r.startSpeechRecognition,class:Ge({"text-red-500":t.isListeningToVoice}),title:"Dictate (using your browser's transcription)"},{icon:Ie(()=>[ltt]),_:1},8,["onClick","class"]),V(o,{onClick:r.speak,class:Ge({"text-red-500":r.isTalking}),title:"Convert text to audio (not saved, uses your browser's TTS service)"},{icon:Ie(()=>[Je(" 🍓 ")]),_:1},8,["onClick","class"]),V(o,{onClick:r.triggerFileUpload,title:"Upload a voice"},{icon:Ie(()=>[ctt]),_:1},8,["onClick"]),V(o,{onClick:r.startRecordingAndTranscribing,class:Ge({"text-green-500":i.isLesteningToVoice}),title:"Start audio to audio"},{icon:Ie(()=>[i.pending?(T(),x("img",{key:1,src:i.loading_icon,alt:"Loading",class:"h-5 w-5"},null,8,utt)):(T(),x("img",{key:0,src:i.is_deaf_transcribing?i.deaf_on:i.deaf_off,alt:"Deaf",class:"h-5 w-5"},null,8,dtt))]),_:1},8,["onClick","class"]),V(o,{onClick:r.startRecording,class:Ge({"text-green-500":i.isLesteningToVoice}),title:"Start audio recording"},{icon:Ie(()=>[i.pending?(T(),x("img",{key:1,src:i.loading_icon,alt:"Loading",class:"h-5 w-5"},null,8,_tt)):(T(),x("img",{key:0,src:i.is_recording?i.rec_on:i.rec_off,alt:"Record",class:"h-5 w-5"},null,8,ptt))]),_:1},8,["onClick","class"]),i.isSynthesizingVoice?(T(),x("div",ftt,gtt)):(T(),dt(o,{key:0,onClick:r.read,title:"Generate audio from text"},{icon:Ie(()=>[htt]),_:1},8,["onClick"])),P(V(o,{onClick:r.exportText,title:"Export text"},{icon:Ie(()=>[btt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.importText,title:"Import text"},{icon:Ie(()=>[Ett]),_:1},8,["onClick"]),[[wt,!i.generating]]),V(o,{onClick:e[0]||(e[0]=_=>i.showSettings=!i.showSettings),title:"Settings"},{icon:Ie(()=>[ytt]),_:1})]),l("input",{type:"file",ref:"fileInput",onChange:e[1]||(e[1]=(..._)=>r.handleFileUpload&&r.handleFileUpload(..._)),style:{display:"none"},accept:".wav"},null,544),l("div",vtt,[l("button",{class:Ge(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":i.tab_id=="source"}]),onClick:e[2]||(e[2]=_=>i.tab_id="source")}," Source ",2),l("button",{class:Ge(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":i.tab_id=="render"}]),onClick:e[3]||(e[3]=_=>i.tab_id="render")}," Render ",2)]),Stt]),l("div",{class:Ge(["flex-grow m-2 p-2 border panels-color border-blue-300 rounded-md",{"border-red-500":i.generating}])},[i.tab_id==="source"?(T(),x("div",Ttt,[V(d,{title:"Add Block"},{default:Ie(()=>[V(c,{title:"Programming Languages",icon:"code"},{default:Ie(()=>[V(a,{onClick:e[4]||(e[4]=j(_=>r.addBlock("python"),["stop"])),title:"Python",icon:"python"}),V(a,{onClick:e[5]||(e[5]=j(_=>r.addBlock("javascript"),["stop"])),title:"JavaScript",icon:"js"}),V(a,{onClick:e[6]||(e[6]=j(_=>r.addBlock("typescript"),["stop"])),title:"TypeScript",icon:"typescript"}),V(a,{onClick:e[7]||(e[7]=j(_=>r.addBlock("java"),["stop"])),title:"Java",icon:"java"}),V(a,{onClick:e[8]||(e[8]=j(_=>r.addBlock("c++"),["stop"])),title:"C++",icon:"cplusplus"}),V(a,{onClick:e[9]||(e[9]=j(_=>r.addBlock("csharp"),["stop"])),title:"C#",icon:"csharp"}),V(a,{onClick:e[10]||(e[10]=j(_=>r.addBlock("go"),["stop"])),title:"Go",icon:"go"}),V(a,{onClick:e[11]||(e[11]=j(_=>r.addBlock("rust"),["stop"])),title:"Rust",icon:"rust"}),V(a,{onClick:e[12]||(e[12]=j(_=>r.addBlock("swift"),["stop"])),title:"Swift",icon:"swift"}),V(a,{onClick:e[13]||(e[13]=j(_=>r.addBlock("kotlin"),["stop"])),title:"Kotlin",icon:"kotlin"}),V(a,{onClick:e[14]||(e[14]=j(_=>r.addBlock("r"),["stop"])),title:"R",icon:"r-project"})]),_:1}),V(c,{title:"Web Technologies",icon:"web"},{default:Ie(()=>[V(a,{onClick:e[15]||(e[15]=j(_=>r.addBlock("html"),["stop"])),title:"HTML",icon:"html5"}),V(a,{onClick:e[16]||(e[16]=j(_=>r.addBlock("css"),["stop"])),title:"CSS",icon:"css3"}),V(a,{onClick:e[17]||(e[17]=j(_=>r.addBlock("vue"),["stop"])),title:"Vue.js",icon:"vuejs"}),V(a,{onClick:e[18]||(e[18]=j(_=>r.addBlock("react"),["stop"])),title:"React",icon:"react"}),V(a,{onClick:e[19]||(e[19]=j(_=>r.addBlock("angular"),["stop"])),title:"Angular",icon:"angular"})]),_:1}),V(c,{title:"Markup and Data",icon:"file-code"},{default:Ie(()=>[V(a,{onClick:e[20]||(e[20]=j(_=>r.addBlock("xml"),["stop"])),title:"XML",icon:"xml"}),V(a,{onClick:e[21]||(e[21]=j(_=>r.addBlock("json"),["stop"])),title:"JSON",icon:"json"}),V(a,{onClick:e[22]||(e[22]=j(_=>r.addBlock("yaml"),["stop"])),title:"YAML",icon:"yaml"}),V(a,{onClick:e[23]||(e[23]=j(_=>r.addBlock("markdown"),["stop"])),title:"Markdown",icon:"markdown"}),V(a,{onClick:e[24]||(e[24]=j(_=>r.addBlock("latex"),["stop"])),title:"LaTeX",icon:"latex"})]),_:1}),V(c,{title:"Scripting and Shell",icon:"terminal"},{default:Ie(()=>[V(a,{onClick:e[25]||(e[25]=j(_=>r.addBlock("bash"),["stop"])),title:"Bash",icon:"bash"}),V(a,{onClick:e[26]||(e[26]=j(_=>r.addBlock("powershell"),["stop"])),title:"PowerShell",icon:"powershell"}),V(a,{onClick:e[27]||(e[27]=j(_=>r.addBlock("perl"),["stop"])),title:"Perl",icon:"perl"})]),_:1}),V(c,{title:"Diagramming",icon:"sitemap"},{default:Ie(()=>[V(a,{onClick:e[28]||(e[28]=j(_=>r.addBlock("mermaid"),["stop"])),title:"Mermaid",icon:"mermaid"}),V(a,{onClick:e[29]||(e[29]=j(_=>r.addBlock("graphviz"),["stop"])),title:"Graphviz",icon:"graphviz"}),V(a,{onClick:e[30]||(e[30]=j(_=>r.addBlock("plantuml"),["stop"])),title:"PlantUML",icon:"plantuml"})]),_:1}),V(c,{title:"Database",icon:"database"},{default:Ie(()=>[V(a,{onClick:e[31]||(e[31]=j(_=>r.addBlock("sql"),["stop"])),title:"SQL",icon:"sql"}),V(a,{onClick:e[32]||(e[32]=j(_=>r.addBlock("mongodb"),["stop"])),title:"MongoDB",icon:"mongodb"})]),_:1}),V(a,{onClick:e[33]||(e[33]=j(_=>r.addBlock(""),["stop"])),title:"Generic Block",icon:"code"})]),_:1}),V(a,{onClick:e[34]||(e[34]=j(_=>t.copyContentToClipboard(),["stop"])),title:"Copy message to clipboard",icon:"copy"}),P(l("textarea",{ref:"mdTextarea",onKeydown:e[35]||(e[35]=zs(j((..._)=>r.insertTab&&r.insertTab(..._),["prevent"]),["tab"])),class:"block min-h-500 p-2.5 w-full text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",rows:4,style:Ht({minHeight:i.mdRenderHeight+"px"}),placeholder:"Enter message here...","onUpdate:modelValue":e[36]||(e[36]=_=>i.text=_),onClick:e[37]||(e[37]=j((..._)=>r.mdTextarea_clicked&&r.mdTextarea_clicked(..._),["prevent"])),onChange:e[38]||(e[38]=j((..._)=>r.mdTextarea_changed&&r.mdTextarea_changed(..._),["prevent"]))},`\r `,36),[[pe,i.text]]),l("span",null,"Cursor position "+K(i.cursorPosition),1)])):G("",!0),i.audio_url!=null?(T(),x("audio",{controls:"",key:i.audio_url},[l("source",{src:i.audio_url,type:"audio/wav",ref:"audio_player"},null,8,xtt),Je(" Your browser does not support the audio element. ")])):G("",!0),V(u,{namedTokens:i.namedTokens},null,8,["namedTokens"]),i.tab_id==="render"?(T(),x("div",Ctt,[V(h,{ref:"mdRender",client_id:this.$store.state.client_id,message_id:0,discussion_id:0,"markdown-text":i.text,class:"mt-4 p-2 rounded shadow-lg dark:bg-bg-dark"},null,8,["client_id","markdown-text"])])):G("",!0)],2)]),i.showSettings?(T(),x("div",wtt,[Rtt,V(f,{title:"Model",class:"slider-container ml-0 mr-0",isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[P(l("select",{"onUpdate:modelValue":e[39]||(e[39]=_=>this.$store.state.selectedModel=_),onChange:e[40]||(e[40]=(..._)=>r.setModel&&r.setModel(..._)),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},[(T(!0),x(Fe,null,Ke(r.models,_=>(T(),x("option",{key:_,value:_},K(_),9,Att))),128))],544),[[Dt,this.$store.state.selectedModel]]),i.selecting_model?(T(),x("div",Ntt,Mtt)):G("",!0)]),_:1}),V(f,{title:"Presets",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[P(l("select",{"onUpdate:modelValue":e[41]||(e[41]=_=>i.selectedPreset=_),class:"bg-white dark:bg-black mb-2 border-2 rounded-md shadow-sm w-full"},[(T(!0),x(Fe,null,Ke(i.presets,_=>(T(),x("option",{key:_,value:_},K(_.name),9,Itt))),128))],512),[[Dt,i.selectedPreset]]),ktt,l("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[42]||(e[42]=(..._)=>r.setPreset&&r.setPreset(..._)),title:"Use preset"},Ltt),l("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[43]||(e[43]=(..._)=>r.addPreset&&r.addPreset(..._)),title:"Add this text as a preset"},Ftt),l("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[44]||(e[44]=(..._)=>r.removePreset&&r.removePreset(..._)),title:"Remove preset"},Btt),l("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[45]||(e[45]=(..._)=>r.reloadPresets&&r.reloadPresets(..._)),title:"Reload presets list"},Vtt)]),_:1}),V(f,{title:"Generation params",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[l("div",ztt,[Htt,P(l("input",{type:"range","onUpdate:modelValue":e[46]||(e[46]=_=>i.temperature=_),min:"0",max:"5",step:"0.1",class:"w-full"},null,512),[[pe,i.temperature]]),l("span",qtt,"Current value: "+K(i.temperature),1)]),l("div",$tt,[Ytt,P(l("input",{type:"range","onUpdate:modelValue":e[47]||(e[47]=_=>i.top_k=_),min:"1",max:"100",step:"1",class:"w-full"},null,512),[[pe,i.top_k]]),l("span",Wtt,"Current value: "+K(i.top_k),1)]),l("div",Ktt,[jtt,P(l("input",{type:"range","onUpdate:modelValue":e[48]||(e[48]=_=>i.top_p=_),min:"0",max:"1",step:"0.1",class:"w-full"},null,512),[[pe,i.top_p]]),l("span",Qtt,"Current value: "+K(i.top_p),1)]),l("div",Xtt,[Ztt,P(l("input",{type:"range","onUpdate:modelValue":e[49]||(e[49]=_=>i.repeat_penalty=_),min:"0",max:"5",step:"0.1",class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.repeat_penalty]]),l("span",Jtt,"Current value: "+K(i.repeat_penalty),1)]),l("div",ent,[tnt,P(l("input",{type:"range","onUpdate:modelValue":e[50]||(e[50]=_=>i.repeat_last_n=_),min:"0",max:"100",step:"1",class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.repeat_last_n]]),l("span",nnt,"Current value: "+K(i.repeat_last_n),1)]),l("div",snt,[int,P(l("input",{type:"number","onUpdate:modelValue":e[51]||(e[51]=_=>i.n_crop=_),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.n_crop]]),l("span",rnt,"Current value: "+K(i.n_crop),1)]),l("div",ont,[ant,P(l("input",{type:"number","onUpdate:modelValue":e[52]||(e[52]=_=>i.n_predicts=_),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.n_predicts]]),l("span",lnt,"Current value: "+K(i.n_predicts),1)]),l("div",cnt,[dnt,P(l("input",{type:"number","onUpdate:modelValue":e[53]||(e[53]=_=>i.seed=_),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.seed]]),l("span",unt,"Current value: "+K(i.seed),1)])]),_:1})])):G("",!0)])]),V(m,{ref:"toast"},null,512)],64)}const _nt=ot(Xet,[["render",pnt]]);const hnt={data(){return{activeExtension:null}},computed:{activeExtensions(){return console.log(this.$store.state.extensionsZoo),console.log(BO(this.$store.state.extensionsZoo)),this.$store.state.extensionsZoo}},methods:{showExtensionPage(t){this.activeExtension=t}}},fnt={class:"container overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},mnt={key:0},gnt=["onClick"],bnt={key:0},Ent=["src"],ynt={key:1},vnt=l("p",null,"No extension is active. Please install and activate an extension.",-1),Snt=[vnt];function Tnt(t,e,n,s,i,r){return T(),x("div",fnt,[r.activeExtensions.length>0?(T(),x("div",mnt,[(T(!0),x(Fe,null,Ke(r.activeExtensions,o=>(T(),x("div",{key:o.name,onClick:a=>r.showExtensionPage(o)},[l("div",{class:Ge({"active-tab":o===i.activeExtension})},K(o.name),3)],8,gnt))),128)),i.activeExtension?(T(),x("div",bnt,[l("iframe",{src:i.activeExtension.page,width:"100%",height:"500px",frameborder:"0"},null,8,Ent)])):G("",!0)])):(T(),x("div",ynt,Snt))])}const xnt=ot(hnt,[["render",Tnt]]);const Cnt={data(){return{sections:[{id:"introduction",title:"Introduction",content:`

LoLLMs (Lord of Large Language Multimodal Systems) is a powerful and versatile AI system designed to handle a wide range of tasks. Developed by ParisNeo, a computer geek passionate about AI, LoLLMs aims to be the ultimate tool for AI-assisted work and creativity.

With its advanced capabilities in natural language processing, multimodal understanding, and code interpretation, LoLLMs can assist users in various domains, from content creation to complex problem-solving.

diff --git a/web/dist/index.html b/web/dist/index.html index 5bc05edd..56b6ff33 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -6,7 +6,7 @@ LoLLMS WebUI - + diff --git a/web/src/views/PlayGroundView.vue b/web/src/views/PlayGroundView.vue index 19e20178..14eccfaf 100644 --- a/web/src/views/PlayGroundView.vue +++ b/web/src/views/PlayGroundView.vue @@ -1001,7 +1001,9 @@ export default { this.is_recording = false; this.pending = false; console.log(response) - this.text += response.data.text + this.text += response.data + console.log("text") + console.log(this.text) console.log(response.data) this.presets=response.data