* feat: tensorrt-llm-extension * fix: loading * feat: add download tensorrt llm runner Signed-off-by: James <james@jan.ai> * feat: update to rollupjs instead of webpack for monitoring extension Signed-off-by: James <james@jan.ai> * feat: move update nvidia info to monitor extension Signed-off-by: James <james@jan.ai> * allow download tensorrt Signed-off-by: James <james@jan.ai> * update Signed-off-by: James <james@jan.ai> * allow download tensor rt based on gpu setting Signed-off-by: James <james@jan.ai> * update downloaded models Signed-off-by: James <james@jan.ai> * feat: add extension compatibility * dynamic tensor rt engines Signed-off-by: James <james@jan.ai> * update models Signed-off-by: James <james@jan.ai> * chore: remove ts-ignore * feat: getting installation state from extension Signed-off-by: James <james@jan.ai> * chore: adding type for decompress Signed-off-by: James <james@jan.ai> * feat: update according Louis's comment Signed-off-by: James <james@jan.ai> * feat: add progress for installing extension Signed-off-by: James <james@jan.ai> * chore: remove args from extension installation * fix: model download does not work properly * fix: do not allow user to stop tensorrtllm inference * fix: extension installed style * fix: download tensorrt does not update state Signed-off-by: James <james@jan.ai> * chore: replace int4 by fl16 * feat: modal for installing extension Signed-off-by: James <james@jan.ai> * fix: start download immediately after press install Signed-off-by: James <james@jan.ai> * fix: error switching between engines * feat: rename inference provider to ai engine and refactor to core * fix: missing ulid * fix: core bundler * feat: add cancel extension installing Signed-off-by: James <james@jan.ai> * remove mocking for mac Signed-off-by: James <james@jan.ai> * fix: show models only when extension is ready * add tensorrt badge for model Signed-off-by: James <james@jan.ai> * fix: copy * fix: add compatible check (#2342) * fix: add compatible check Signed-off-by: James <james@jan.ai> * fix: copy * fix: font * fix: copy * fix: broken monitoring extension * chore: bump engine * fix: copy * fix: model copy * fix: copy * fix: model json --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: Louis <louis@jan.ai> * fix: vulkan support * fix: installation button padding * fix: empty script * fix: remove hard code string --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: NamH <NamNh0122@gmail.com>
74 lines
2.6 KiB
TypeScript
74 lines
2.6 KiB
TypeScript
import resolve from '@rollup/plugin-node-resolve'
|
|
import commonjs from '@rollup/plugin-commonjs'
|
|
import sourceMaps from 'rollup-plugin-sourcemaps'
|
|
import typescript from 'rollup-plugin-typescript2'
|
|
import json from '@rollup/plugin-json'
|
|
import replace from '@rollup/plugin-replace'
|
|
const packageJson = require('./package.json')
|
|
|
|
export default [
|
|
{
|
|
input: `src/index.ts`,
|
|
output: [{ file: packageJson.main, format: 'es', sourcemap: true }],
|
|
watch: {
|
|
include: 'src/**',
|
|
},
|
|
plugins: [
|
|
replace({
|
|
EXTENSION_NAME: JSON.stringify(packageJson.name),
|
|
TENSORRT_VERSION: JSON.stringify('0.1.5'),
|
|
DOWNLOAD_RUNNER_URL:
|
|
process.platform === 'darwin' || process.platform === 'win32'
|
|
? JSON.stringify(
|
|
'https://github.com/janhq/nitro-tensorrt-llm/releases/download/windows-v<version>/nitro-windows-v<version>-amd64-tensorrt-llm-<gpuarch>.tar.gz'
|
|
)
|
|
: JSON.stringify(
|
|
'https://github.com/janhq/nitro-tensorrt-llm/releases/download/linux-v<version>/nitro-linux-v<version>-amd64-tensorrt-llm-<gpuarch>.tar.gz'
|
|
),
|
|
NODE: JSON.stringify(`${packageJson.name}/${packageJson.node}`),
|
|
INFERENCE_URL: JSON.stringify(
|
|
process.env.INFERENCE_URL ||
|
|
`${packageJson.config?.protocol ?? 'http'}://${packageJson.config?.host}:${packageJson.config?.port}/v1/chat/completions`
|
|
),
|
|
COMPATIBILITY: JSON.stringify(packageJson.compatibility),
|
|
}),
|
|
json(),
|
|
typescript({ useTsconfigDeclarationDir: true }),
|
|
commonjs(),
|
|
resolve({
|
|
extensions: ['.js', '.ts', '.svelte'],
|
|
}),
|
|
sourceMaps(),
|
|
],
|
|
},
|
|
{
|
|
input: `src/node/index.ts`,
|
|
output: [
|
|
{ file: 'dist/node/index.cjs.js', format: 'cjs', sourcemap: true },
|
|
],
|
|
external: ['@janhq/core/node'],
|
|
watch: {
|
|
include: 'src/node/**',
|
|
},
|
|
plugins: [
|
|
replace({
|
|
LOAD_MODEL_URL: JSON.stringify(
|
|
`${packageJson.config?.protocol ?? 'http'}://${packageJson.config?.host}:${packageJson.config?.port}/inferences/tensorrtllm/loadmodel`
|
|
),
|
|
TERMINATE_ENGINE_URL: JSON.stringify(
|
|
`${packageJson.config?.protocol ?? 'http'}://${packageJson.config?.host}:${packageJson.config?.port}/inferences/processmanager/destroy`
|
|
),
|
|
ENGINE_HOST: JSON.stringify(packageJson.config?.host ?? '127.0.0.1'),
|
|
ENGINE_PORT: JSON.stringify(packageJson.config?.port ?? '3928'),
|
|
}),
|
|
json(),
|
|
typescript({ useTsconfigDeclarationDir: true }),
|
|
commonjs(),
|
|
resolve({
|
|
extensions: ['.ts', '.js', '.json'],
|
|
}),
|
|
sourceMaps(),
|
|
],
|
|
},
|
|
]
|