使用Node.js从零搭建DeepSeek本地部署(Express框架、Ollama)

目录

1.安装Node.js和npm

typescript 复制代码
node -v
npm -v
  • 安装成功界面:

2.初始化项目

  • 使用以下命令,创建一个新的文件夹作为项目目录,并初始化一个Node.js项目:
typescript 复制代码
mkdir deepseek-nodejs
cd deepseek-nodejs
npm init -y
  • 如下图:
  • 以上命令会在当前目录下生成一个package.json文件,用于管理项目的依赖关系和其他配置信息。

3.安装Ollama

  • 访问Ollama官网下载适合我们电脑操作系统的安装包,并按照提示进行安装:
    Ollama官方下载页面
  • 对于Linux用户,可以通过以下命令直接安装:
typescript 复制代码
curl -fsSL https://ollama.com/install.sh | sh
  • 安装完成后,验证是否成功安装:
typescript 复制代码
ollama -v
  • 如下图:

4.下载DeepSeek模型

  • 安装完Ollama后,我们可以通过其界面选择并下载DeepSeek-R1模型。以下是下载并运行DeepSeek-R1 1.5B版本的示例命令:
typescript 复制代码
ollama run deepseek-r1:1.5b

根据我们机器的硬件配置,可以选择不同规模的模型版本,如7B、14B等

  • 不同模型创建命令:
    创建命令
  • 不同规模的模型版本参数核心区别:
参数规模 特点和应用场景 部署需求和资源消耗 应用场景
1.5B 适合简单的文本生成任务,如客服话术和短文案生成,但逻辑推理能力较弱‌ 适合本地部署,资源消耗低,可以在消费级显卡上运行‌ 生成食谱步骤和基础问答‌
7B-8B 适合多轮对话和中等复杂度的任务,如代码补全和基础科研工作‌ 适合本地部署,资源消耗低,可以在消费级显卡上运行‌ ChatGPT级对话和中等复杂度代码生成‌
14B 适合多轮对话和中等复杂度的任务,如代码补全和基础科研工作‌ 需要在高性能GPU上运行,如A100/H100/H800等‌ 科研论文辅助撰写和跨领域知识推理‌
32B 具备接近人类水平的复杂任务处理能力,如法律文档分析和数学证明‌ 需要在高性能GPU上运行,如A100/H100/H800等‌ 科研论文辅助撰写和跨领域知识推理‌
70B 适用于前沿研究和超高性能计算场景‌ 需要多卡并行和云服务支持,适用于全球高并发场景‌ 多模态融合和超长文本生成(如小说/剧本)‌
671B 顶尖多任务能力,接近通用人工智能(AGI),适合科研和超大规模企业‌ 需要多卡并行和云服务支持,适用于全球高并发场景‌ 多模态融合和超长文本生成(如小说/剧本)‌
  • 如下图:

注意:下载过程中,最开始下载速度可能要快一些,下载到后面可能就几十KB/s了,此时我们可以按Ctrl+C停止下载,然后再重新执行下载命令,此时的下载速度又恢复到了几MB/s了,如此循环往复操作,很快下载好

  • 执行成功,可以问答:
  • 使用 /bye 命令进行退出:

5.创建Node.js服务器

  • 为了使DeepSeek可以通过API接口访问,我们可以使用Express框架创建一个简单的Node.js服务器。首先,安装Express:
typescript 复制代码
npm install express
typescript 复制代码
const express = require('express');
const { exec } = require('child_process');

const app = express();
const PORT = process.env.PORT || 3000;

app.use(express.json());

app.post('/query', (req, res) => {
    const query = req.body.query;
    if (!query) {
        return res.status(400).send({ error: 'query必填'});
    }

    // 使用提供的查询执行ollama命令
    exec(`ollama run deepseek-r1:1.5b -- ${query}`, (error, stdout, stderr) => {
        if (error) {
            return res.status(500).send({ error: '请求出错' });
        }
        res.send({ response: stdout });
    });
});

app.listen(PORT, () => {
    console.log(`服务运行在${PORT}端口`);
});
  • 这段代码设置了一个简单的HTTP服务器,监听/query端点上的POST请求,并将接收到的查询传递给Ollama执行的DeepSeek模型。响应结果将以JSON格式返回给客户端。

6.运行服务器

  • 完成上述步骤后,可以在终端中通过以下命令启动服务器:
typescript 复制代码
node server.js

7.Web UI对话-Chrome插件-Page Assist

  • 通过终端窗口进行对话不够直观,所以通过第三方Web UI来实现对话效果
  • 通过谷歌浏览器官方插件地址搜索Page Assist,点击Page Assist - 本地 AI 模型的 Web UI:
    谷歌应用商店
  • 安装完成后,将该插件固定到浏览器顶部,方便使用:
  • 使用时,点击图标,会跳转到使用界面,可以看到画面中间的"Ollama is running",因为我们的Ollama软件已启动,只有启动才可正常使用:
  • 设置为中文:
  • 选择模型,因为我们只配置了1.5B,所以只能选择1.5B:
  • 此时,即可正常使用,觉得1.5B不够,可以根据机器条件,下载其他更高版本的模型使用:

相关推荐
大模型真好玩8 分钟前
DeepSeek Harness 入门很简单(二)——DeepSeek Harness通用设置及Agent预设详解
人工智能·agent·deepseek
八角丶18 分钟前
Node 网络编程 —— TLS 模块
javascript·后端·node.js
嘿嘿-665 小时前
Cherry Studio 接入ChatGpt:GPT-5.6 Sol 文本测试与 GPT-Image-2 出图教程
人工智能·gpt·ai·chatgpt·node.js·ai编程
仙魁XAN5 小时前
【Codex + Deepseek】第 7 篇:如何把一个模糊想法变成可执行开发需求
人工智能·codex·deepseek·vibe coding
大牧师5 小时前
TypeORM 学习教程
数据库·sql·学习·node.js·orm·nest.js·typeorm
每日出拳老爷子6 小时前
【AI】Ollama 更新后 skipping CUDA 掉回 CPU
gpu·nvidia·cuda·ollama·本地大模型
逻辑07 小时前
安装 Claude Code 完整指南(用户级 Node.js 环境)
node.js·claude code
Wang's Blog7 小时前
Vibe Coding一人即团队系列54:云服务器 Node.js 与 MySQL 9 环境搭建及配置指南
服务器·人工智能·mysql·node.js
FungLeo7 小时前
成为全栈·Node 后端篇·结构化日志与请求链路追踪
node.js·结构化日志·成为全栈·请求链路
夏文强7 小时前
DeepSeek Harness 底层探秘:Cordis 元框架与「一切皆插件」的实现
人工智能·开源·大模型·agent·deepseek