node-llama-cpp安装与配置:Windows、Linux和Mac全平台教程

node-llama-cpp安装与配置:Windows、Linux和Mac全平台教程

【免费下载链接】node-llama-cppRun AI models locally on your machine with node.js bindings for llama.cpp. Force a JSON schema on the model output on the generation level 项目地址: https://gitcode.com/gh_mirrors/no/node-llama-cpp

node-llama-cpp是一个基于llama.cpp的Node.js绑定库,让你能够在本地机器上运行AI模型,并在生成级别强制模型输出符合JSON模式。本文将为你提供Windows、Linux和Mac全平台的安装与配置教程,帮助你快速上手这款强大的AI工具。

一、准备工作

在开始安装node-llama-cpp之前,请确保你的系统满足以下要求:

  • Node.js环境(建议使用最新的LTS版本)
  • npm包管理器
  • Git版本控制工具

二、快速安装:使用npm

node-llama-cpp提供了预构建的二进制文件,适用于macOS、Linux和Windows系统,因此安装过程非常简单。只需在终端中运行以下命令:

npm install node-llama-cpp 

这条命令会自动下载并安装适合你当前系统的预构建二进制文件。如果你的系统没有可用的预构建二进制文件,node-llama-cpp会自动下载llama.cpp的源代码并尝试从源码构建。

三、Windows系统详细安装指南

3.1 安装依赖

在Windows系统上,如果你需要从源码构建node-llama-cpp,需要安装以下构建工具:

你可以通过WinGet安装所有依赖:

winget install --id Microsoft.VisualStudio.2022.BuildTools --force --override "--add Microsoft.VisualStudio.Component.VC.CMake.Project Microsoft.VisualStudio.Component.VC.CoreBuildTools Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.ATL Microsoft.VisualStudio.Component.VC.ATLMFC Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset Microsoft.VisualStudio.Component.VC.Llvm.Clang Microsoft.VisualStudio.Component.VC.Redist.14.Latest Microsoft.Component.VC.Runtime.UCRTSDK Microsoft.VisualStudio.Component.Windows10SDK Microsoft.VisualStudio.Component.Windows10SDK.20348" 
WinGet是Windows 11和现代Windows 10版本的内置工具。

或者,你也可以手动下载并安装Visual C++ Build Tools,确保勾选以下组件:

  • C++ CMake工具
  • C++ Clang编译器
  • Windows 10 SDK
  • Windows Universal CRT SDK

3.2 Windows on Arm额外要求

如果你使用的是Windows on Arm系统,需要安装额外的构建工具:

winget install --id Microsoft.VisualStudio.2022.BuildTools --force --override "--add Microsoft.VisualStudio.Component.VC.CMake.Project Microsoft.VisualStudio.Component.VC.CoreBuildTools Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.Tools.ARM64 Microsoft.VisualStudio.Component.VC.ATL Microsoft.VisualStudio.Component.VC.ATL.ARM64 Microsoft.VisualStudio.Component.VC.ATLMFC Microsoft.VisualStudio.Component.VC.MFC.ARM64 Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset Microsoft.VisualStudio.Component.VC.Llvm.Clang Microsoft.VisualStudio.Component.VC.Redist.14.Latest Microsoft.Component.VC.Runtime.UCRTSDK Microsoft.VisualStudio.Component.Windows10SDK Microsoft.VisualStudio.Component.Windows10SDK.20348" 

四、Linux系统详细安装指南

4.1 安装依赖

在Linux系统上,你需要安装以下依赖:

  • build-essential
  • cmake
  • git
  • libstdc++6
  • libgomp1 (用于OpenMP支持)

对于Debian/Ubuntu系统,可以使用以下命令安装:

sudo apt-get update sudo apt-get install build-essential cmake git libstdc++6 libgomp1 

4.2 从源码构建

如果需要从源码构建,可以使用以下命令:

npx node-llama-cpp source download npx node-llama-cpp source build 

五、Mac系统详细安装指南

5.1 安装Xcode命令行工具

在Mac上,你需要安装Xcode命令行工具:

xcode-select --install 

5.2 安装依赖

使用Homebrew安装必要的依赖:

brew install cmake git 

5.3 从源码构建

如果需要从源码构建,可以使用以下命令:

npx node-llama-cpp source download npx node-llama-cpp source build 

六、配置模型自动下载

为了确保在运行npm install后自动下载模型,建议在package.json中设置postinstall脚本。详细方法可以参考官方文档中的Using the CLI部分。

七、常见问题解决

7.1 构建失败

如果构建失败,请确保你已安装所有必要的构建工具和依赖。对于特定平台的问题,可以参考building-from-source文档。

7.2 Windows上的权限问题

如果在Windows上遇到权限错误,确保不要使用管理员账户运行npm install,然后用普通用户账户运行代码。

7.3 Electron应用构建问题

在Windows上构建Electron应用时,如果遇到EPERM: operation not permitted错误,需要启用开发者模式以允许创建符号链接。

八、总结

通过本教程,你已经了解了如何在Windows、Linux和Mac系统上安装和配置node-llama-cpp。现在你可以开始在本地运行AI模型,享受高效的AI推理体验了。如果需要更多帮助,可以查阅项目的官方文档或提交issue寻求支持。

祝你使用愉快! 🚀

【免费下载链接】node-llama-cppRun AI models locally on your machine with node.js bindings for llama.cpp. Force a JSON schema on the model output on the generation level 项目地址: https://gitcode.com/gh_mirrors/no/node-llama-cpp

Read more

JAVA SE 多线程(上)

JAVA SE 多线程(上)

文章目录 * 📕1. Thread类及常见方法 * ✏️1.1 创建线程 * ✏️1.2 Thread 的常见构造方法 * ✏️1.3 Thread 的几个常见属性 * ✏️1.4 启动一个线程---start() * ✏️1.5 中断一个线程---interrupt() * ✏️1.6 等待一个线程---join() * ✏️1.7 获取当前线程引用 * ✏️1.8 休眠当前线程 * 📕2. 线程的状态 * 📕3. 线程安全 * ✏️3.1 线程不安全案例 * ✏️3.2 线程不安全的原因 * 📕4. synchronized 关键字 * ✏️4.1 synchronized的特性 * ✏️4.2 synchronized 使用示例 * 📕5.

By Ne0inhk
Java 大视界 -- 5230 台物联网设备时序数据难题破解:Java+Redis+HBase+Kafka 实战全解析(查询延迟 18ms)(438)

Java 大视界 -- 5230 台物联网设备时序数据难题破解:Java+Redis+HBase+Kafka 实战全解析(查询延迟 18ms)(438)

Java 大视界 -- 5230 台物联网设备时序数据难题破解:Java+Redis+HBase+Kafka 实战全解析(查询延迟 18ms)(438) * 引言: * 正文: * 一、技术选型:务实为王,拒绝炫技 * 1.1 核心技术栈选型对比 * 1.2 选型核心原则(10 余年实战经验总结) * 二、架构设计:闭环为王,层层兜底 * 2.1 整体架构图 * 2.2.1 生产设备层(数据源头) * 2.2.2 边缘网关层(数据预处理) * 2.2.3 消息接入层(数据缓冲) * 2.

By Ne0inhk
Java连接电科金仓数据库(KingbaseES)实战指南

Java连接电科金仓数据库(KingbaseES)实战指南

摘要:本文分享了KingbaseES V8.6数据库与SpringBoot 2.7.x框架的集成实战经验。内容包括:1. 环境准备(Ubuntu系统安装配置、驱动获取方式);2. JDBC基础操作(连接、查询、事务处理);3. SpringBoot项目完整配置(pom依赖、数据源配置);4. MyBatis-Plus集成(实体类、Mapper、Service层实现);5. RESTful接口开发示例。文章提供了详细的代码示例,涵盖从数据库安装到应用开发的完整流程,帮助开发者快速实现国产数据库适配。 目录 前言 一、环境准备与驱动获取 1.1 数据库安装与配置 1.2 JDBC驱动获取与配置 1.3 创建测试数据库 二、基础JDBC连接与操作 2.1 最基础的JDBC连接示例 2.

By Ne0inhk
【Linux系统】理解管道通信,匿名管道实现进程池+命名管道实现服务端客户端通信模型(附源码)

【Linux系统】理解管道通信,匿名管道实现进程池+命名管道实现服务端客户端通信模型(附源码)

文章目录 * 一、进程间通信是什么 * 二、管道 * 1. 什么是管道 * 2. 匿名管道 * 3. 命名管道 * 三、实例:匿名管道实现进程池 * 四、实例:命名管道实现服务端客户端通信模型 一、进程间通信是什么 进程间通信(IPC),顾名思义,进程之间需要进行信息交换。 如:数据传输、资源共享、通知事件、进程控制。 进程间通信的方式有:管道、System V IPC、POSIX IPC。 由于进程具有独立性,进程间通信的前提就是,不同的进程能看到同一份资源。 二、管道 1. 什么是管道 管道是类Unix系统中最古老的进程间通信的方式。我们把从一个进程连接到另一个进程的数据流称为一个“管道”。 管道是单向通信的,称为单工通信。 管道分为匿名管道和命名管道。 2. 匿名管道

By Ne0inhk