Skip to content

yuanzhongqiao/dpqq-ai

 
 

Repository files navigation

Dal-AI

在计算机上运行 LLaMA 和 Alpaca。

GitHub 推特 discord


只需运行这个

要得到

羊驼和美洲驼都在您的计算机上工作!

羊驼.gif


  1. llama.cppllama-dl CDNalpaca.cpp提供支持
  2. 包括可破解的网络应用程序
  3. 附带 JavaScript API
  4. 附带Socket.io API

介绍

1. 跨平台

Dal-ai 在以下所有操作系统上运行:

  1. Linux
  2. 苹果
  3. 视窗

2. 内存要求

在大多数现代计算机上运行。除非您的计算机非常旧,否则它应该可以工作。

根据llama.cpp 讨论线程,以下是内存要求:

  • 7B => ~4 GB
  • 13B => ~8 GB
  • 30B => ~16 GB
  • 65B => ~32 GB

3. 磁盘空间要求

羊驼毛

目前 7B 和 13B 型号可通过alpaca.cpp获得

7B

Alpaca 完全量化(压缩),7B 模型所需的唯一空间是 4.21GB:

alpaca_7b.png

13B

Alpaca 已完全量化(压缩),13B 模型所需的唯一空间是 8.14GB:

alpaca_13b.png

骆驼

您需要大量空间来存储模型。型号名称必须是以下之一:7B、13B、30B 和 65B。

您不必安装所有型号,您可以一一安装。我们来看看每个模型占用了多少空间:

笔记

以下数字假设您不接触原始模型文件并保留原始模型文件和量化版本。

如果您在安装后删除原始模型(更大)并仅保留量化版本,则可以对此进行优化。

7B

  • Full:该模型占用31.17GB
  • 量化:4.21GB

7b.png

13B

  • Full:该模型占用60.21GB
  • 量化:4.07GB * 2 = 8.14GB

13b.png

30B

  • Full:该模型占用150.48GB
  • 量化:5.09GB * 4 = 20.36GB

30b.png

65B

  • Full:该模型占用432.64GB
  • 量化:5.11GB * 8 = 40.88GB

65b.png


快速开始

码头工人组成

要求您已安装并运行 docker。

docker compose build
docker compose run dalai npx dalai alpaca install 7B # or a different model
docker compose up -d

这会将模型保存在./models文件夹中

查看网站http://127.0.0.1:3000/

苹果

步骤1.安装node.js >= 18

如果您的 Mac 尚未安装 Node.js,请确保安装 Node.js >= 18

安装 Node.js

步骤 2.1。安装型号

目前支持的引擎有llamaalpaca

添加羊驼模型

要下载羊驼模型,您可以运行:

npx dalai alpaca install 7B

添加美洲驼模型

要下载 llama 模型,您可以运行:

npx dalai llama install 7B

或下载多个模型:

npx dalai llama install 7B 13B

现在转到步骤 3。

步骤 2.2。故障排除

通常您不需要这一步,但如果运行上面的命令没有执行任何操作并立即结束,则意味着出现问题,因为您的系统上未安装某些所需的模块。

在这种情况下,请尝试以下步骤:

1.安装自制软件

如果您的计算机上未安装自制程序,请通过运行以下命令进行安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

或者您可以在自制程序主页上找到相同的说明:https://brew.sh/

2.安装依赖

安装自制程序后,安装这些依赖项:

brew install cmake
brew install pkg-config

3.更新NPM

为了确保我们涵盖每个向量,我们也更新 NPM:

npm install -g npm@latest

现在返回步骤 2.1 并尝试npx dalai再次运行命令。

步骤 3. 运行 Web UI

安装完所有内容后,运行以下命令来启动 Web UI 服务器:

npx dalai serve

并在浏览器中打开http://localhost:3000 。玩得开心!


视窗

步骤1.安装Visual Studio

在Windows上,您需要先安装Visual Studio,然后再安装Dalai。

按下面的按钮访问 Visual Studio 下载页面并下载:

下载 Microsoft Visual Studio

重要的!!!

安装 Visual Studio 时,请务必选中下面突出显示的 3 个选项:

  1. Python开发
  2. Node.js 开发
  3. 使用 C++ 进行桌面开发

对比.png


步骤 2.1。安装型号

重要的

在 Windows 上,请确保在cmd中运行所有命令。

不要在powershell中运行。 Powershell 具有不必要的严格权限,并使脚本静默失败。

目前支持的引擎有llamaalpaca

安装羊驼毛

下载羊驼模型。打开您的cmd应用程序并输入:

npx dalai alpaca install 7B

添加美洲驼模型

下载美洲驼模型。打开您的cmd应用程序并输入:

npx dalai llama install 7B

或下载多个模型:

npx dalai llama install 7B 13B

步骤 2.2。故障排除(可选)

如果上述步骤失败,请尝试分别安装 Node.js 和 Python。

安装Python:

下载Python

安装 Node.js >= 18:

下载 Node.js

两者安装完毕后,打开 powershell 并键入python以查看该应用程序是否存在。还可以键入内容node来查看该应用程序是否也存在。

检查它们是否都存在后,请重试。

步骤 3. 运行 Web UI

安装完所有内容后,运行以下命令来启动 Web UI 服务器(确保在cmd而不是 powershell 中运行!):

npx dalai serve

并在浏览器中打开http://localhost:3000 。玩得开心!


Linux

步骤1.安装依赖项

您需要确保安装了正确版本的 Python 和 Node.js。

步骤 1.1。 Python <= 3.10

下载Python

确保版本为 3.10 或更低(不是 3.11) Python 必须为 3.10 或更低(最新版本尚不支持 pytorch 和其他库)

步骤 1.2。 Node.js >= 18

下载node.js

确保版本为18或更高


步骤 2.1。安装型号

目前支持的引擎有llamaalpaca

添加羊驼模型

要下载羊驼模型,您可以运行:

npx dalai alpaca install 7B

添加美洲驼模型

要下载 llama 模型,您可以运行:

npx dalai llama install 7B

或下载多个模型:

npx dalai llama install 7B 13B

步骤 2.2。故障排除

如果模型安装无提示失败或永远挂起,请尝试以下命令,然后再次尝试运行 npx 命令:

在 ubuntu/debian/等上:

sudo apt-get install build-essential python3-venv -y

在软呢帽/等上:

dnf install make automake gcc gcc-c++ kernel-devel python3-virtualenv -y

步骤 3. 运行 Web UI

安装完所有内容后,运行以下命令来启动 Web UI 服务器:

npx dalai serve

并在浏览器中打开http://localhost:3000 。玩得开心!


应用程序编程接口

Dalai也是一个NPM包:

  1. 以编程方式安装
  2. 在本地向模型发出请求
  3. 运行 dalai 服务器(由 socket.io 提供支持)
  4. 以编程方式向远程 dalai 服务器发出请求(通过 socket.io)

Dalai 是一个 NPM 包。您可以使用以下方式安装它:

npm install dalai

1.构造函数()

句法

const dalai = new Dalai(home)
  • home:(可选)手动指定llama.cpp文件夹

默认情况下,Dalai 自动将整个llama.cpp存储库存储在~/llama.cpp.

但是,通常您可能已经llama.cpp在计算机上的其他位置拥有存储库并且只想使用该文件夹。在这种情况下,您可以传入该home属性。

例子

基本的

创建一个工作区于~/llama.cpp

const dalai = new Dalai()

自定义路径

手动设置llama.cpp路径:

const dalai = new Dalai("/Documents/llama.cpp")

2. 请求()

句法

dalai.request(req, callback)
  • req:请求对象。由以下属性组成:
    • prompt: (必填)提示字符串
    • model:(必填)要查询的型号+型号名称。采用以下形式:<model_type>.<model_name>
      • 例子:alpaca.7Bllama.13B, ...
    • url:仅在连接到远程 dalai 服务器时需要
      • 如果未指定,则使用no​​de.js API直接在本地运行dalai
      • 如果指定(例如ws://localhost:3000),它将在 URL 处查找 socket.io 端点并连接到它。
    • threads:要使用的线程数(如果未指定,则默认为 8)
    • n_predict:要返回的令牌数量(如果未指定,则默认为 128)
    • seed: 种子。默认值为 -1(无)
    • top_k
    • top_p
    • repeat_last_n
    • repeat_penalty
    • temp: 温度
    • batch_size:批量大小
    • skip_end:默认情况下,每个会话都以 结束\n\n<end>,它可以用作标记来了解完整响应何时返回。然而有时您可能不需要这个后缀。设置skip_end: true并且响应将不再以\n\n<end>
  • callback:每次客户端从模型返回任何令牌响应时都会调用流回调函数

例子

1.Node.js

使用node.js,你只需要初始化一个Dalai对象,new Dalai()然后使用它。

const Dalai = require('dalai')
new Dalai().request({
  model: "7B",
  prompt: "The following is a conversation between a boy and a girl:",
}, (token) => {
  process.stdout.write(token)
})

2.非node.js(socket.io)

要在浏览器或任何其他语言中使用它,您可以使用 socket.io API。

步骤1.启动服务器

首先你需要运行一个 Dalai 套接字服务器:

// server.js
const Dalai = require('dalai')
new Dalai().serve(3000)     // port 3000
步骤2.连接服务器

然后,一旦服务器运行,只需ws://localhost:3000在初始化 Dalai 对象时通过传递套接字 url 向服务器发出请求即可:

const Dalai = require("dalai")
new Dalai().request({
  url: "ws://localhost:3000",
  model: "7B",
  prompt: "The following is a conversation between a boy and a girl:",
}, (token) => {
  console.log("token", token)
})

3. 服务()

句法

启动 socket.io 服务器port

dalai.serve(port)

例子

const Dalai = require("dalai")
new Dalai().serve(3000)

4.http()

句法

连接现有http实例(httpnpm 包)

dalai.http(http)

例子

当您尝试将 dalai 插入现有的 Node.js Web 应用程序时,这非常有用

const app = require('express')();
const http = require('http').Server(app);
dalai.http(http)
http.listen(3000, () => {
  console.log("server started")
})

5. 安装()

句法

await dalai.install(model_type, model_name1, model_name2, ...)
  • model_type:型号名称。目前支持:
    • “羊驼”
    • “骆驼”
  • model1, model2, ...:要安装的型号名称(“7B”`、“13B”、“30B”、“65B”等)

例子

安装 Llama“7B”和“13B”型号:

const Dalai = require("dalai");
const dalai = new Dalai()
await dalai.install("llama", "7B", "13B")

安装羊驼7B模型:

const Dalai = require("dalai");
const dalai = new Dalai()
await dalai.install("alpaca", "7B")

6. 安装()

返回已安装模型的数组

句法

const models = await dalai.installed()

例子

const Dalai = require("dalai");
const dalai = new Dalai()
const models = await dalai.installed()
console.log(models)     // prints ["7B", "13B"]

常问问题

使用不同的主文件夹

默认情况下,Dalai 使用您的主目录来存储整个存储库 ( ~/dalai)。然而有时您可能想将存档存储在其他地方。

在这种情况下,您可以使用以下标志调用所有 CLI 方法--home

1. 将模型安装到自定义路径

npx dalai llama install 7B --home ~/test_dir

2. 从自定义路径提供服务

npx dalai serve --home ~/test_dir

更新至最新

为了确保更新到最新版本,请首先在https://www.npmjs.com/package/dalai查找最新版本

假设最新版本是0.3.0.要更新 dalai 版本,请运行:

npx dalai@0.3.0 setup

保持最新状态

有疑问或反馈吗?通过以下渠道关注该项目:

GitHub 推特 不和谐


About

在本地计算机上运行 LLaMA 的最简单方法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • CSS 81.2%
  • JavaScript 13.6%
  • EJS 5.0%
  • Other 0.2%