UNPKG

assistant-robot

Version:

An assistant widget, have a 3D robot which can interact with user, have a simple LLM which can chat with user.

2 lines (1 loc) 1.58 kB
"use strict";var l=Object.defineProperty;var d=(s,t,e)=>t in s?l(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var a=(s,t,e)=>(d(s,typeof t!="symbol"?t+"":t,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@tensorflow-models/qna");require("@tensorflow/tfjs-core");require("@tensorflow/tfjs-backend-cpu");require("@tensorflow/tfjs-backend-webgl");const r=require("./utils-_ulwJfGD.js");function c(s){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const e in s)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(s,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>s[e]})}}return t.default=s,Object.freeze(t)}const g=c(u);class i{constructor(){a(this,"status",r.ELanguageModelStatus.loading);a(this,"onLoadList",[])}loaded(){this.status=r.ELanguageModelStatus.ready,this.onLoadList.forEach(t=>t())}onLoad(t){this.onLoadList.push(t)}removeLoadCb(t){this.onLoadList=this.onLoadList.filter(e=>e!=t)}}class h extends i{constructor({passage:e,modelUrl:o}){super();a(this,"passage");a(this,"modelUrl");a(this,"model");this.passage=e,this.modelUrl=o,this.init()}async init(){this.status=r.ELanguageModelStatus.loading;try{const e=this.modelUrl?{modelUrl:this.modelUrl}:void 0;this.model=await g.load(e),this.loaded()}catch(e){console.warn(e),this.status=r.ELanguageModelStatus.error}}async findAnswers(e){if(this.model){const o=await this.model.findAnswers(e,this.passage),n=r.findHighestScoreItem(o);return n?n.text:""}return""}}exports.LanguageModel=i;exports.MobileBertModel=h;