* fix: move tensorrt executable to engine (#2400) * fix: move tensorrt executable to engine Signed-off-by: James <james@jan.ai> * some update Signed-off-by: hiro <hiro@jan.ai> * chore: bump tensorrt version * fix: wrong destroy path * fix: install extensions in parallel * chore: update path for tensorrt engine (#2404) Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai> --------- Signed-off-by: James <james@jan.ai> Signed-off-by: hiro <hiro@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: hiro <hiro@jan.ai> Co-authored-by: Louis <louis@jan.ai> * Release/v0.4.9 (#2421) * fix: turn off experimental settings should also turn off quick ask (#2411) * fix: app glitches 1s generating response before starting model (#2412) * fix: disable experimental feature should also disable vulkan (#2414) * fix: model load stuck on windows when can't get CPU core count (#2413) Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai> * feat: TensorRT-LLM engine update support (#2415) * fix: engine update * chore: add remove prepopulated models Signed-off-by: James <james@jan.ai> * update tinyjensen url Signed-off-by: James <james@jan.ai> * update llamacorn Signed-off-by: James <james@jan.ai> * update Mistral 7B Instruct v0.1 int4 Signed-off-by: James <james@jan.ai> * update tensorrt Signed-off-by: James <james@jan.ai> * update Signed-off-by: hiro <hiro@jan.ai> * update Signed-off-by: James <james@jan.ai> * prettier Signed-off-by: James <james@jan.ai> * update mistral config Signed-off-by: James <james@jan.ai> * fix some lint Signed-off-by: James <james@jan.ai> --------- Signed-off-by: James <james@jan.ai> Signed-off-by: hiro <hiro@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: hiro <hiro@jan.ai> * Tensorrt LLM disable turing support (#2418) Co-authored-by: Hien To <tominhhien97@gmail.com> * chore: add prompt template tensorrtllm (#2375) * chore: add prompt template tensorrtllm * Add Prompt template for mistral and correct model metadata --------- Co-authored-by: Hien To <tominhhien97@gmail.com> * fix: correct tensorrt mistral model.json (#2419) --------- Signed-off-by: James <james@jan.ai> Signed-off-by: hiro <hiro@jan.ai> Co-authored-by: Louis <louis@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: hiro <hiro@jan.ai> Co-authored-by: hiento09 <136591877+hiento09@users.noreply.github.com> Co-authored-by: Hien To <tominhhien97@gmail.com> --------- Signed-off-by: James <james@jan.ai> Signed-off-by: hiro <hiro@jan.ai> Co-authored-by: NamH <NamNh0122@gmail.com> Co-authored-by: James <james@jan.ai> Co-authored-by: hiro <hiro@jan.ai> Co-authored-by: hiento09 <136591877+hiento09@users.noreply.github.com> Co-authored-by: Hien To <tominhhien97@gmail.com>
89 lines
2.3 KiB
TypeScript
89 lines
2.3 KiB
TypeScript
export enum ExtensionTypeEnum {
|
|
Assistant = 'assistant',
|
|
Conversational = 'conversational',
|
|
Inference = 'inference',
|
|
Model = 'model',
|
|
SystemMonitoring = 'systemMonitoring',
|
|
HuggingFace = 'huggingFace',
|
|
}
|
|
|
|
export interface ExtensionType {
|
|
type(): ExtensionTypeEnum | undefined
|
|
}
|
|
|
|
export interface Compatibility {
|
|
platform: string[]
|
|
version: string
|
|
}
|
|
|
|
const ALL_INSTALLATION_STATE = [
|
|
'NotRequired', // not required.
|
|
'Installed', // require and installed. Good to go.
|
|
'Updatable', // require and installed but need to be updated.
|
|
'NotInstalled', // require to be installed.
|
|
'Corrupted', // require but corrupted. Need to redownload.
|
|
] as const
|
|
|
|
export type InstallationStateTuple = typeof ALL_INSTALLATION_STATE
|
|
export type InstallationState = InstallationStateTuple[number]
|
|
|
|
/**
|
|
* Represents a base extension.
|
|
* This class should be extended by any class that represents an extension.
|
|
*/
|
|
export abstract class BaseExtension implements ExtensionType {
|
|
/**
|
|
* Returns the type of the extension.
|
|
* @returns {ExtensionType} The type of the extension
|
|
* Undefined means its not extending any known extension by the application.
|
|
*/
|
|
type(): ExtensionTypeEnum | undefined {
|
|
return undefined
|
|
}
|
|
/**
|
|
* Called when the extension is loaded.
|
|
* Any initialization logic for the extension should be put here.
|
|
*/
|
|
abstract onLoad(): void
|
|
/**
|
|
* Called when the extension is unloaded.
|
|
* Any cleanup logic for the extension should be put here.
|
|
*/
|
|
abstract onUnload(): void
|
|
|
|
/**
|
|
* The compatibility of the extension.
|
|
* This is used to check if the extension is compatible with the current environment.
|
|
* @property {Array} platform
|
|
*/
|
|
compatibility(): Compatibility | undefined {
|
|
return undefined
|
|
}
|
|
|
|
/**
|
|
* Determine if the extension is updatable.
|
|
*/
|
|
updatable(): boolean {
|
|
return false
|
|
}
|
|
|
|
/**
|
|
* Determine if the prerequisites for the extension are installed.
|
|
*
|
|
* @returns {boolean} true if the prerequisites are installed, false otherwise.
|
|
*/
|
|
async installationState(): Promise<InstallationState> {
|
|
return 'NotRequired'
|
|
}
|
|
|
|
/**
|
|
* Install the prerequisites for the extension.
|
|
*
|
|
* @returns {Promise<void>}
|
|
*/
|
|
// @ts-ignore
|
|
async install(...args): Promise<void> {
|
|
return
|
|
}
|
|
}
|