react-native-executorch
Version:
An easy way to run AI models in React Native with ExecuTorch
46 lines (45 loc) • 1.4 kB
JavaScript
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();
}
}