UNPKG

react-native-executorch

Version:

An easy way to run AI models in React Native with ExecuTorch

46 lines (45 loc) 1.4 kB
import { LLMController } from '../../controllers/LLMController'; export class LLMModule { controller; constructor({ tokenCallback, responseCallback, messageHistoryCallback, } = {}) { this.controller = new LLMController({ tokenCallback, responseCallback, messageHistoryCallback, }); } async load(model, onDownloadProgressCallback = () => { }) { await this.controller.load({ ...model, onDownloadProgressCallback, }); } setTokenCallback({ tokenCallback, }) { this.controller.setTokenCallback(tokenCallback); } configure({ chatConfig, toolsConfig, }) { this.controller.configure({ chatConfig, toolsConfig }); } async forward(input) { await this.controller.forward(input); return this.controller.response; } async generate(messages, tools) { await this.controller.generate(messages, tools); return this.controller.response; } async sendMessage(message) { await this.controller.sendMessage(message); return this.controller.messageHistory; } deleteMessage(index) { this.controller.deleteMessage(index); return this.controller.messageHistory; } interrupt() { this.controller.interrupt(); } delete() { this.controller.delete(); } }