1
mirror of https://github.com/cocktailpeanut/dalai synced 2025-03-06 18:53:01 +01:00
This commit is contained in:
cocktailpeanut 2023-03-12 17:56:04 -04:00
parent e9926a0d64
commit 315e6fd0b9
7 changed files with 27 additions and 88 deletions

@ -6,7 +6,7 @@ if (process.argv.length > 0) {
if (cmd === "serve") {
const port = (args.length > 0 ? parseInt(args[0]) : 3000)
Web(port)
} else if (cmd === "install") {
} else if (cmd === "llama" || cmd === "install") {
if (args.length === 0) args = ["7B"]
for(let arg of args) {
if (!["7B", "13B", "30B", "65B"].includes(arg)) {

@ -7,20 +7,29 @@ Dead simple way to run LLaMA on your computer.
---
1. Powered by [llama.cpp](https://github.com/ggerganov/llama.cpp) and [llama-dl CDN](https://github.com/shawwn/llama-dl)
2. Web app included
3. Super simple JavaScript API
#### JUST RUN THIS:
<img src="terminal.png" class='round'>
#### TO GET:
![dalai.gif](dalai.gif)
---
1. Powered by [llama.cpp](https://github.com/ggerganov/llama.cpp) and [llama-dl CDN](https://github.com/shawwn/llama-dl)
2. Hackable web app included
3. Ships with JavaScript API
4. Ships with [Socket.io](https://socket.io/) API
---
# Quickstart
Install the 7B model (default) and start a web UI:
```
npx dalai install
npx dalai llama
npx dalai serve
```
@ -39,13 +48,13 @@ Above two commands do the following:
Basic install (7B model only)
```
npx dalai install
npx dalai llama
```
Install all models
```
npx dalai install 7B 13B 30B 65B
npx dalai llama 7B 13B 30B 65B
```
The install command :

@ -9,6 +9,10 @@
* {
word-wrap: break-word;
}
img.round {
border-radius: 20px;
width: 100%;
}
body {
font-family: "Helvetica Neue", helvetica, arial, "sans serif";
margin: 0;

BIN
docs/terminal.png Normal file

Binary file not shown.

After

(image error) Size: 40 KiB

@ -77,6 +77,8 @@ class Dalai {
}
async install(...models) {
// install to ~/llama.cpp
await this.exec("pip3 install torch torchvision torchaudio sentencepiece numpy")
await this.exec("pip install torch torchvision torchaudio sentencepiece numpy")
await this.exec("git clone https://github.com/ggerganov/llama.cpp.git dalai", os.homedir())
await this.exec("make", this.home)
for(let model of models) {

84
package-lock.json generated

@ -1,14 +1,16 @@
{
"name": "dalai",
"version": "0.0.3",
"version": "0.0.13",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "dalai",
"version": "0.0.3",
"version": "0.0.13",
"license": "MIT",
"dependencies": {
"ejs": "^3.1.8",
"express": "^4.18.2",
"node-pty": "^0.10.1",
"nodejs-file-downloader": "^4.10.6",
"socket.io": "^4.6.1",
@ -17,10 +19,6 @@
},
"bin": {
"dalai": "bin/cli.js"
},
"devDependencies": {
"ejs": "^3.1.8",
"express": "^4.18.2"
}
},
"node_modules/@cronvel/get-pixels": {
@ -77,7 +75,6 @@
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
@ -91,17 +88,14 @@
},
"node_modules/array-flatten": {
"version": "1.1.1",
"dev": true,
"license": "MIT"
},
"node_modules/async": {
"version": "3.2.4",
"dev": true,
"license": "MIT"
},
"node_modules/balanced-match": {
"version": "1.0.2",
"dev": true,
"license": "MIT"
},
"node_modules/base64id": {
@ -113,7 +107,6 @@
},
"node_modules/body-parser": {
"version": "1.20.1",
"dev": true,
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
@ -136,7 +129,6 @@
},
"node_modules/body-parser/node_modules/debug": {
"version": "2.6.9",
"dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@ -144,12 +136,10 @@
},
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
"dev": true,
"license": "MIT"
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@ -158,7 +148,6 @@
},
"node_modules/bytes": {
"version": "3.1.2",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@ -166,7 +155,6 @@
},
"node_modules/call-bind": {
"version": "1.0.2",
"dev": true,
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.1",
@ -178,7 +166,6 @@
},
"node_modules/chalk": {
"version": "4.1.2",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
@ -197,7 +184,6 @@
},
"node_modules/color-convert": {
"version": "2.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
@ -208,17 +194,14 @@
},
"node_modules/color-name": {
"version": "1.1.4",
"dev": true,
"license": "MIT"
},
"node_modules/concat-map": {
"version": "0.0.1",
"dev": true,
"license": "MIT"
},
"node_modules/content-disposition": {
"version": "0.5.4",
"dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "5.2.1"
@ -229,7 +212,6 @@
},
"node_modules/content-type": {
"version": "1.0.5",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@ -244,7 +226,6 @@
},
"node_modules/cookie-signature": {
"version": "1.0.6",
"dev": true,
"license": "MIT"
},
"node_modules/cors": {
@ -282,7 +263,6 @@
},
"node_modules/depd": {
"version": "2.0.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@ -290,7 +270,6 @@
},
"node_modules/destroy": {
"version": "1.2.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8",
@ -299,12 +278,10 @@
},
"node_modules/ee-first": {
"version": "1.1.1",
"dev": true,
"license": "MIT"
},
"node_modules/ejs": {
"version": "3.1.8",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"jake": "^10.8.5"
@ -318,7 +295,6 @@
},
"node_modules/encodeurl": {
"version": "1.0.2",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@ -363,12 +339,10 @@
},
"node_modules/escape-html": {
"version": "1.0.3",
"dev": true,
"license": "MIT"
},
"node_modules/etag": {
"version": "1.8.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@ -376,7 +350,6 @@
},
"node_modules/express": {
"version": "4.18.2",
"dev": true,
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
@ -417,7 +390,6 @@
},
"node_modules/express/node_modules/cookie": {
"version": "0.5.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@ -425,7 +397,6 @@
},
"node_modules/express/node_modules/debug": {
"version": "2.6.9",
"dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@ -433,12 +404,10 @@
},
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
"dev": true,
"license": "MIT"
},
"node_modules/filelist": {
"version": "1.0.4",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"minimatch": "^5.0.1"
@ -446,7 +415,6 @@
},
"node_modules/filelist/node_modules/brace-expansion": {
"version": "2.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@ -454,7 +422,6 @@
},
"node_modules/filelist/node_modules/minimatch": {
"version": "5.1.6",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
@ -465,7 +432,6 @@
},
"node_modules/finalhandler": {
"version": "1.2.0",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@ -482,7 +448,6 @@
},
"node_modules/finalhandler/node_modules/debug": {
"version": "2.6.9",
"dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@ -490,7 +455,6 @@
},
"node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
"dev": true,
"license": "MIT"
},
"node_modules/follow-redirects": {
@ -513,7 +477,6 @@
},
"node_modules/forwarded": {
"version": "0.2.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@ -521,7 +484,6 @@
},
"node_modules/fresh": {
"version": "0.5.2",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@ -529,12 +491,10 @@
},
"node_modules/function-bind": {
"version": "1.1.1",
"dev": true,
"license": "MIT"
},
"node_modules/get-intrinsic": {
"version": "1.2.0",
"dev": true,
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.1",
@ -547,7 +507,6 @@
},
"node_modules/has": {
"version": "1.0.3",
"dev": true,
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.1"
@ -558,7 +517,6 @@
},
"node_modules/has-flag": {
"version": "4.0.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@ -566,7 +524,6 @@
},
"node_modules/has-symbols": {
"version": "1.0.3",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@ -577,7 +534,6 @@
},
"node_modules/http-errors": {
"version": "2.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
"depd": "2.0.0",
@ -603,7 +559,6 @@
},
"node_modules/iconv-lite": {
"version": "0.4.24",
"dev": true,
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
@ -614,7 +569,6 @@
},
"node_modules/inherits": {
"version": "2.0.4",
"dev": true,
"license": "ISC"
},
"node_modules/iota-array": {
@ -623,7 +577,6 @@
},
"node_modules/ipaddr.js": {
"version": "1.9.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.10"
@ -635,7 +588,6 @@
},
"node_modules/jake": {
"version": "10.8.5",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"async": "^3.2.3",
@ -663,7 +615,6 @@
},
"node_modules/media-typer": {
"version": "0.3.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@ -671,12 +622,10 @@
},
"node_modules/merge-descriptors": {
"version": "1.0.1",
"dev": true,
"license": "MIT"
},
"node_modules/methods": {
"version": "1.1.2",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@ -684,7 +633,6 @@
},
"node_modules/mime": {
"version": "1.6.0",
"dev": true,
"license": "MIT",
"bin": {
"mime": "cli.js"
@ -712,7 +660,6 @@
},
"node_modules/minimatch": {
"version": "3.1.2",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@ -792,7 +739,6 @@
},
"node_modules/object-inspect": {
"version": "1.12.3",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -804,7 +750,6 @@
},
"node_modules/on-finished": {
"version": "2.4.1",
"dev": true,
"license": "MIT",
"dependencies": {
"ee-first": "1.1.1"
@ -815,7 +760,6 @@
},
"node_modules/parseurl": {
"version": "1.3.3",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@ -823,7 +767,6 @@
},
"node_modules/path-to-regexp": {
"version": "0.1.7",
"dev": true,
"license": "MIT"
},
"node_modules/pngjs": {
@ -835,7 +778,6 @@
},
"node_modules/proxy-addr": {
"version": "2.0.7",
"dev": true,
"license": "MIT",
"dependencies": {
"forwarded": "0.2.0",
@ -847,7 +789,6 @@
},
"node_modules/qs": {
"version": "6.11.0",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.0.4"
@ -861,7 +802,6 @@
},
"node_modules/range-parser": {
"version": "1.2.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@ -869,7 +809,6 @@
},
"node_modules/raw-body": {
"version": "2.5.1",
"dev": true,
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
@ -883,7 +822,6 @@
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"dev": true,
"funding": [
{
"type": "github",
@ -902,7 +840,6 @@
},
"node_modules/safer-buffer": {
"version": "2.1.2",
"dev": true,
"license": "MIT"
},
"node_modules/sanitize-filename": {
@ -914,7 +851,6 @@
},
"node_modules/send": {
"version": "0.18.0",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@ -937,7 +873,6 @@
},
"node_modules/send/node_modules/debug": {
"version": "2.6.9",
"dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@ -945,17 +880,14 @@
},
"node_modules/send/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
"dev": true,
"license": "MIT"
},
"node_modules/send/node_modules/ms": {
"version": "2.1.3",
"dev": true,
"license": "MIT"
},
"node_modules/serve-static": {
"version": "1.15.0",
"dev": true,
"license": "MIT",
"dependencies": {
"encodeurl": "~1.0.2",
@ -973,7 +905,6 @@
},
"node_modules/setprototypeof": {
"version": "1.2.0",
"dev": true,
"license": "ISC"
},
"node_modules/seventh": {
@ -988,7 +919,6 @@
},
"node_modules/side-channel": {
"version": "1.0.4",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.0",
@ -1047,7 +977,6 @@
},
"node_modules/statuses": {
"version": "2.0.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@ -1062,7 +991,6 @@
},
"node_modules/supports-color": {
"version": "7.2.0",
"dev": true,
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
@ -1090,7 +1018,6 @@
},
"node_modules/toidentifier": {
"version": "1.0.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.6"
@ -1109,7 +1036,6 @@
},
"node_modules/type-is": {
"version": "1.6.18",
"dev": true,
"license": "MIT",
"dependencies": {
"media-typer": "0.3.0",
@ -1125,7 +1051,6 @@
},
"node_modules/unpipe": {
"version": "1.0.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@ -1137,7 +1062,6 @@
},
"node_modules/utils-merge": {
"version": "1.0.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4.0"

@ -1,6 +1,6 @@
{
"name": "dalai",
"version": "0.0.7",
"version": "0.0.13",
"description": "",
"main": "index.js",
"author": "cocktailpeanut",