react-native-executorch
Version:
An easy way to run AI models in React Native with ExecuTorch
64 lines (63 loc) • 1.47 kB
JavaScript
;
import { LLMController } from '../../controllers/LLMController';
export class LLMModule {
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,
generationConfig
}) {
this.controller.configure({
chatConfig,
toolsConfig,
generationConfig
});
}
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();
}
getGeneratedTokenCount() {
return this.controller.getGeneratedTokenCount();
}
delete() {
this.controller.delete();
}
}
//# sourceMappingURL=LLMModule.js.map