在科技日新月异的时代,语言模型的发展为我们的生活和工作带来了极大的便利。而 Jan 作为一款开源的 ChatGPT 替代品,正以其独特的优势崭露头角。
Jan 最为突出的特点之一,便是能够在您的计算机上实现100%离线运行。这一特性为用户带来了极大的自主性和隐私保护,让您无需依赖网络,随时随地都能享受其服务。
值得一提的是,Jan 具有极强的硬件兼容性。无论您使用的是何种硬件设备,从常见的 PC 到强大的多 GPU 集群,Jan 都能完美适配。
对于 NVIDIA GPU 而言,它能展现出快速的运行速度;在 Apple M 系列芯片上,同样表现出色;苹果英特尔设备也不在话下。不仅如此,Jan 还支持 Linux 的 Debian 系统和 Windows x64 系统,为广大用户提供了更多选择。
这种广泛的硬件和系统支持,使得 Jan 能够满足不同用户的需求,无论是个人用户在普通 PC 上的日常使用,还是企业在专业集群上的大规模应用,Jan 都能游刃有余。
Jan 凭借其开源、离线运行以及广泛的硬件支持等特性,成为了语言模型领域中一颗璀璨的新星。相信在未来,它将不断发展完善,为更多用户带来更优质的服务和体验。
Jan 作为一款开源的 ChatGPT 替代品,为用户提供了多样的选择和强大的功能。以下是其详细的运行要求和步骤。
运行要求:
- 操作系统:
- MacOS:13或更高版本。
- Windows:Windows 10或更高版本。
- 软件先决条件:
- 节点>= 20.0.0
- 纱线>= 1.22.0
- 制作>= 3.81
操作步骤:
克隆存储库并准备:
git clone https://github.com/janhq/jan
cd jan
git checkout -b DESIRED_BRANCH
运行开发并使用 Jan Desktop:
make dev
这将启动开发服务器并打开桌面应用程序。
(可选)运行不带前端的 API 服务器:
yarn dev:server
生产构建:
先执行上述克隆和准备步骤
然后构建应用程序
make build
这将为生产构建应用程序 MacOS m1/m2(已完成代码签名)并将结果放入 dist 文件夹中。
Docker 模式:
支持的操作系统:Linux、WSL2 Docker
先决条件:
需要 Docker Engine 和 Docker Compose 才能在 Docker 模式下运行 Jan。按照以下说明在 Ubuntu 上开始使用 Docker Engine:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh./get-docker.sh --dry-run
如果您打算以 GPU 模式运行 Jan,则需要安装 nvidia-driver 和 nvidia-docker2。按照此处的说明进行安装。
以 Docker 模式运行 Jan
用户可以选择 docker-compose.yml 最新的预构建 docker 镜像或 docker-compose-dev.yml 本地 docker 构建。
Docker compose 配置文件及描述:
cpu-fs
:使用默认文件系统在 CPU 模式下运行 Jancpu-s3fs
:使用 S3 文件系统在 CPU 模式下运行 Jangpu-fs
:使用默认文件系统以 GPU 模式运行 Jangpu-s3fs
:使用 S3 文件系统以 GPU 模式运行 Jan
环境变量及描述:
S3_BUCKET_NAME
:S3 存储桶名称 - 对于默认文件系统留空AWS_ACCESS_KEY_ID
:AWS 访问密钥 ID - 对于默认文件系统留空AWS_SECRET_ACCESS_KEY
:AWS 秘密访问密钥 - 对于默认文件系统留空AWS_ENDPOINT
:AWS 端点 URL - 对于默认文件系统留空AWS_REGION
:AWS 区域 - 默认文件系统留空API_BASE_URL
:Jan Server URL,请修改为您的公网 IP 地址或者域名,默认http://localhost:1377
选项 1:在 CPU 模式下运行 Jan
cpu 模式,默认文件系统
docker compose --profile cpu-fs up -d
cpu 模式,S3 文件系统
docker compose --profile cpu-s3fs up -d
选项 2:以 GPU 模式运行 Jan
步骤 1:通过运行 nvidia-smi
并检查输出中的 CUDA 版本来检查 CUDA 与 NVIDIA 驱动程序的兼容性
nvidia-smi
示例输出:
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A |
| 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
| 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A |
| 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
| 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A |
| 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
第 2 步:访问 NVIDIA NGC 目录并找到与您的 CUDA 版本匹配的图像标签的最小次要版本(例如,12.1 -> 12.1.0)
步骤 3:更新 Dockerfile.gpu
中行号 5 的镜像标签的最新次要版本(例如,更改 FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base
为 FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base
)
步骤 4:运行命令以 GPU 模式启动 Jan
GPU 模式,默认文件系统
docker compose --profile gpu-fs up -d
这将启动网络服务器,然后您就可以通过 http://localhost:3000
访问 Jan 了。