UNPKG

on-codemerge

Version:

A WYSIWYG editor for on-codemerge is a user-friendly interface that allows users to edit and view their code in real time, exactly as it will appear in the final product

2 lines (1 loc) 1.43 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class f{constructor(l){}getOptionsDescription(){return{model:{type:"input",label:"Model",default:"llama2"},apiUrl:{type:"input",label:"Api Url",default:""},maxTokens:{type:"number",label:"Max Tokens",default:100,min:1,max:2048},temperature:{type:"number",label:"Temperature",default:.7,min:0,max:2},topP:{type:"number",label:"Top P",default:1,min:0,max:1},frequencyPenalty:{type:"number",label:"Frequency Penalty",default:0,min:0,max:2},presencePenalty:{type:"number",label:"Presence Penalty",default:0,min:0,max:2}}}async generateText(l,e){var u;const t={model:(e==null?void 0:e.model)||"",prompt:l,max_tokens:(e==null?void 0:e.maxTokens)||100,temperature:(e==null?void 0:e.temperature)||.7,top_p:(e==null?void 0:e.topP)||1,frequency_penalty:(e==null?void 0:e.frequencyPenalty)||0,presence_penalty:(e==null?void 0:e.presencePenalty)||0,stream:(e==null?void 0:e.stream)||!1},a=await fetch(`${e==null?void 0:e.apiUrl}/api/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw new Error("Failed to generate text with Ollama");if(t.stream){const r=(u=a.body)==null?void 0:u.getReader();let m="";if(r)for(;;){const{done:d,value:y}=await r.read();if(d)break;const c=new TextDecoder().decode(y),n=JSON.parse(c);m+=n.response}return m}else return(await a.json()).response}}exports.OllamaDriver=f;