node-llama-cpp
Version:
Run AI models locally on your machine with node.js bindings for llama.cpp. Enforce a JSON schema on the model output on the generation level
241 lines • 7.7 kB
JSON
{
"name": "node-llama-cpp",
"version": "3.13.0",
"description": "Run AI models locally on your machine with node.js bindings for llama.cpp. Enforce a JSON schema on the model output on the generation level",
"main": "./dist/index.js",
"type": "module",
"types": "./dist/index.d.ts",
"bin": {
"node-llama-cpp": "dist/cli/cli.js",
"nlc": "dist/cli/cli.js"
},
"files": [
"dist/",
"templates/packed/",
"llama/",
"bins/",
"package.json",
"README.md",
"LICENSE"
],
"exports": {
".": {
"import": "./dist/index.js",
"node": "./dist/index.js",
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
},
"./commands": {
"import": "./dist/commands.js",
"node": "./dist/commands.js",
"types": "./dist/commands.d.ts",
"default": "./dist/commands.js"
},
"./commands.js": {
"import": "./dist/commands.js",
"node": "./dist/commands.js",
"types": "./dist/commands.d.ts",
"default": "./dist/commands.js"
}
},
"engines": {
"node": ">=20.0.0"
},
"scripts": {
"prepare": "node --experimental-require-module -e \"process.env.CI !== 'true' && console.log(require('husky').default())\"",
"postinstall": "node ./dist/cli/cli.js postinstall",
"postversion": "vite-node scripts/postVersion.ts",
"prebuild": "rimraf ./dist ./tsconfig.tsbuildinfo",
"build": "tsc --build tsconfig.json --force && npm run build:packTemplates",
"build:packTemplates": "vite-node scripts/packTemplates.ts",
"addPostinstallScript": "npm pkg set scripts.postinstall=\"node ./dist/cli/cli.js postinstall\"",
"prewatch": "rimraf ./dist ./tsconfig.tsbuildinfo",
"watch": "tsc --build tsconfig.json --watch --force",
"cmake-js-llama": "cd llama && cmake-js",
"test": "npm run test:typescript && npm run lint:eslint && npm run test:vitest",
"test:vitest": "vitest run ./test",
"test:standalone": "vitest run ./test/standalone",
"test:standalone:interactive": "vitest watch ./test/standalone",
"test:modelDependent": "vitest run ./test/modelDependent",
"test:modelDependent:interactive": "vitest watch ./test/modelDependent",
"test:typescript": "tsc --noEmit --project tsconfig.json",
"lint": "npm run lint:eslint",
"lint:eslint": "eslint --report-unused-disable-directives .",
"format": "npm run lint:eslint -- --fix",
"dev:setup:downloadAllTestModels": "vite-node test/utils/scripts/downloadAllTestModels.ts",
"dev:setup": "npm run build && node ./dist/cli/cli.js source download --noUsageExample && npm run docs:generateTypedoc && npm run dev:setup:downloadAllTestModels",
"dev:build": "npm run build && node ./dist/cli/cli.js source build --noUsageExample",
"clean": "rm -rf ./node_modules ./dist ./tsconfig.tsbuildinfo ./test/.models ./docs/api ./docs/api-overrides ./templates/packed",
"docs:generateTypedoc": "typedoc && rimraf ./docs/api/index.md ./docs/api/globals.md ./docs/api/functions/LlamaText.md",
"docs:dev": "npm run docs:generateTypedoc && vitepress dev --cors",
"docs:build": "npm run docs:generateTypedoc && vitepress build",
"docs:preview": "npm run docs:generateTypedoc && vitepress preview"
},
"repository": {
"type": "git",
"url": "git+https://github.com/withcatai/node-llama-cpp.git"
},
"keywords": [
"llama",
"llama-cpp",
"llama.cpp",
"bindings",
"ai",
"cmake",
"cmake-js",
"prebuilt-binaries",
"llm",
"gguf",
"metal",
"cuda",
"vulkan",
"grammar",
"embedding",
"rerank",
"reranking",
"json-grammar",
"json-schema-grammar",
"functions",
"function-calling",
"token-prediction",
"speculative-decoding",
"temperature",
"minP",
"topK",
"topP",
"seed",
"json-schema",
"raspberry-pi",
"self-hosted",
"local",
"catai",
"mistral",
"deepseek",
"qwen",
"qwq",
"gpt",
"gpt-oss",
"typescript",
"lora",
"batching",
"gpu"
],
"author": {
"name": "Gilad S.",
"url": "https://github.com/giladgd"
},
"license": "MIT",
"preferUnplugged": true,
"bugs": {
"url": "https://github.com/withcatai/node-llama-cpp/issues"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/giladgd"
},
"homepage": "https://node-llama-cpp.withcat.ai",
"devDependencies": {
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@eslint/compat": "^1.2.9",
"@fontsource/inter": "^5.2.5",
"@nolebase/vitepress-plugin-git-changelog": "^2.17.0",
"@nolebase/vitepress-plugin-og-image": "^2.17.0",
"@resvg/resvg-js": "^2.6.2",
"@semantic-release/exec": "^7.1.0",
"@semantic-release/github": "11.0.5",
"@semantic-release/npm": "12.0.2",
"@shikijs/vitepress-twoslash": "^3.4.0",
"@stylistic/eslint-plugin": "^4.2.0",
"@types/async-retry": "^1.4.9",
"@types/bytes": "^3.1.5",
"@types/cross-spawn": "^6.0.6",
"@types/fs-extra": "^11.0.4",
"@types/node": "^20.17.50",
"@types/proper-lockfile": "^4.1.4",
"@types/semver": "^7.7.0",
"@types/validate-npm-package-name": "^4.0.2",
"@types/which": "^3.0.4",
"@types/yargs": "^17.0.33",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"electron": "^37.2.4",
"eslint": "^9.26.0",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsdoc": "^50.6.14",
"eslint-plugin-n": "^17.18.0",
"feed": "^5.0.0",
"husky": "^9.1.7",
"rehype": "^13.0.2",
"rimraf": "^6.0.1",
"semantic-release": "24.2.7",
"sharp": "^0.34.1",
"tslib": "^2.8.1",
"typedoc": "^0.28.9",
"typedoc-plugin-markdown": "^4.8.0",
"typedoc-plugin-mdn-links": "^5.0.7",
"typedoc-vitepress-theme": "^1.1.2",
"typescript": "^5.9.2",
"typescript-eslint": "^8.39.0",
"vite-node": "^3.2.4",
"vitepress": "^1.6.3",
"vitepress-plugin-llms": "^1.7.2",
"vitest": "^3.2.4",
"zx": "^8.5.4"
},
"dependencies": {
"@huggingface/jinja": "^0.5.1",
"async-retry": "^1.3.3",
"bytes": "^3.1.2",
"chalk": "^5.4.1",
"chmodrp": "^1.0.2",
"cmake-js": "^7.3.1",
"cross-spawn": "^7.0.6",
"env-var": "^7.5.0",
"filenamify": "^6.0.0",
"fs-extra": "^11.3.0",
"ignore": "^7.0.4",
"ipull": "^3.9.2",
"is-unicode-supported": "^2.1.0",
"lifecycle-utils": "^3.0.1",
"log-symbols": "^7.0.0",
"nanoid": "^5.1.5",
"node-addon-api": "^8.3.1",
"octokit": "^5.0.3",
"ora": "^8.2.0",
"pretty-ms": "^9.2.0",
"proper-lockfile": "^4.1.2",
"semver": "^7.7.1",
"simple-git": "^3.27.0",
"slice-ansi": "^7.1.0",
"stdout-update": "^4.0.1",
"strip-ansi": "^7.1.0",
"validate-npm-package-name": "^6.0.0",
"which": "^5.0.0",
"yargs": "^17.7.2"
},
"peerDependencies": {
"typescript": ">=5.0.0"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
},
"optionalDependencies": {
"@node-llama-cpp/linux-arm64": "3.13.0",
"@node-llama-cpp/linux-armv7l": "3.13.0",
"@node-llama-cpp/linux-x64": "3.13.0",
"@node-llama-cpp/linux-x64-cuda": "3.13.0",
"@node-llama-cpp/linux-x64-cuda-ext": "3.13.0",
"@node-llama-cpp/linux-x64-vulkan": "3.13.0",
"@node-llama-cpp/mac-arm64-metal": "3.13.0",
"@node-llama-cpp/mac-x64": "3.13.0",
"@node-llama-cpp/win-arm64": "3.13.0",
"@node-llama-cpp/win-x64": "3.13.0",
"@node-llama-cpp/win-x64-cuda": "3.13.0",
"@node-llama-cpp/win-x64-cuda-ext": "3.13.0",
"@node-llama-cpp/win-x64-vulkan": "3.13.0"
}
}