DeepSeek轻量级本地化部署工具——AIMatrices DeepSeek

AIMatrices DeepSeek 是一款基于轻量级 AI 应用快速构建平台 AIMatrices 开发的开源 DeepSeek 本地化部署工具,支持本地模型、远程 API 灵活切换,旨在为用户提供高效、灵活且低成本的 DeepSeek 大模型部署解决方案。

功能特性

开箱即用

使用 Rust 编程语言开发,直接编译成二进制可执行文件,生成的可执行文件大小约为 40MB左右,无需安装任何外部依赖库,极大地简化了部署过程,无需使用容器即可在多种操作系统(如 Windows、macOS、Linux)上运行。

广泛硬件平台支持

通过 Rust 的 FFI 技术调用高性能的 llama.cpp 库,并以 Vulkan 作为后端进行模型推理,支持NVIDIA、AMD 、Intel等多种主流显卡,能够为模型推理提供显著的GPU加速效果,这种架构设计使得项目能够充分利用现代 GPU 的强大计算能力,同时保持良好的跨平台兼容性。

多模型支持与灵活切换

支持多种 DeepSeek-R1-Distill-Qwen 模型版本,包括 1.5B、7B、14B 等,用户可以根据硬件配置选择合适的模型进行本地部署,以满足对数据隐私和性能的双重需求,同时支持通过远程 API 调用 DeepSeek 模型服务,无需本地硬件支持。用户可以根据实际需求灵活切换本地模型和远程 API,实现高效部署和资源优化。

安全高效

使用 Rust 编程语言基于 AIMatrices 平台开发,确保应用在不同设备和操作系统上都能安全高效运行。Rust 的所有权系统和生命周期检查机制从根本上杜绝了空指针、数据竞争、内存泄漏等常见错误,使得程序在编译阶段就能发现大部分潜在的内存问题,从而减少运行时错误和崩溃。Rust 的性能接近于 C/C++,同时避免了垃圾回收机制的开销。它通过零成本抽象和高效的编译器优化,确保代码执行效率极高。

灵活配置与组件化

采用 WebAssembly 组件技术,通过应用配置文件定义应用的组件、路由规则、环境变量等配置信息,实现高度灵活的组件化开发。例如,可通过配置 allowed_outbound_hosts 控制组件的外部请求权限,或通过文件映射实现静态资源托管。

可扩展性与自定义能力

遵循 OpenAI API 规范进行模型 API 调用,通过标准化的接口参数,如输入文本、模型选择、温度参数等,实现对模型的调用和结果获取,除 DeepSeek 模型外,还支持使用其他OpenAI API 模型 。同时支持使用 JavaScript 代码进行自定义扩展,允许用户根据业务需求实现个性化的逻辑处理。

AI聊天功能丰富

支持多轮聊天、聊天记录保存至本地数据库;Mermaid 图表预览及导出、Markdwon 编辑及预览等功能。

用户界面友好

支持多国语言切换,用户可以根据自语言偏好选择界面语言,确保使用体验的便捷性和舒适性。前端页面采用了响应式设计,能够根据设备屏幕大小自动调整布局和元素大小,确保在手机、平板等移动设备上也能提供清晰、流畅的视觉效果,提供更好的移动端体验。

完全开源

AIMatrices DeepSeek 是一个开源项目,开发者可以自由访问其代码,进行定制和扩展。

快速开始

安装

方式一:直接下载可执行文件

从 AIMatrices GitHub Release 下载 ai-matrices-deepseek 对应系统版本,解压后即可使用

方式二:源码编译

编译前提条件是需要安装 Rust 环境

shell 复制代码
git clone https://github.com/guyoung/AIMatrices.git

## 编译 AIMatrices DeepSeek 主程序
cd AIMatrices/packages/ai-matrices-deepseek
cagro build -- release

## 编译 AIMatrices WebAssembly 组件
cd AIMatrices/components/llm-handler-component
cargo component build --release
cd AIMatrices/components/llm-local-handler-component
cargo component build --release
cd AIMatrices/components/static-file-handler-component
cargo component build --release

下载模型

可以根据运行计算机实际情况,选择其他模型

配置

如需运行本地模型,需要修改应用配置文件中本地模型相关信息,打开 app_data 目录下 app-config.json 文件,修改模型路径。

json 复制代码
{
    "id": "deepseek-local",
    "metadata": {
      "build": {},
      "local_llm_models": {
        "local/DeepSeek-R1": "./app_data/ai-models/huggingface/lmstudio-community/DeepSeek-R1-Distill-Qwen-7B-GGUF/DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf"
      }
    },
    "source": {
      "content_type": "application/wasm",
      "source": "./app_data/components/ai_matrices_llm_local_handler_component.wasm"
    }
}

local/DeepSeek-R1 为 model_id,值为模型所在路径。

可以同时配置多个本模型。

json 复制代码
{
  "local_llm_models": {
    "local/DeepSeek-R1-7B": "./app_data/ai-models/huggingface/lmstudio-community/DeepSeek-R1-Distill-Qwen-7B-GGUF/DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf",
    "local/DeepSeek-R1-0.5B": "./app_data/ai-models/huggingface/lmstudio-community/DeepSeek-R1-Distill-Qwen-0.5B-GGUF/DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf"
  }
}

如为源码编译安装,还需修改 WebAssembly 组件文件位置

json 复制代码
{
  "source": {
    "content_type": "application/wasm",
    "source": "./app_data/components/ai_matrices_llm_local_handler_component.wasm"
  }
}

打开 app_data/codes/deepseek-api 目录下 index.js 文件,修改本地模型和远程 API 配置信息。

javascript 复制代码
const models = {
  "local/deepseek-r1": {
    name: "DeepSeek-R1(本地)", 
    model: "local/DeepSeek-R1", 
    local: true,
    url: "/service/deepseek-local",
    api_key: ""
  },
  "deepseek-chat": {
    name: "DeepSeek Chat", 
    model: "deepseek-chat", 
    local: false,
    url: "https://api.deepseek.com",
    api_key: "sk-********************************"
  },

  "deepseek-reasoner": {
    name: "DeepSeek Reasoner", 
    model: "deepseek-reasoner", 
    local: false,
    url: "https://api.deepseek.com",
    api_key: "sk-********************************"
  },
  "siliconflow/deepseek-v3": {
    name: "DeepSeek-V3(硅基流动)", 
    model: "deepseek-ai/DeepSeek-V3", 
    local: false,
    url: "https://api.siliconflow.cn/v1",
    api_key: "sk-********************************"
  },
  "siliconflow/deepseek-r1": {
    name: "DeepSeek-R1(硅基流动)", 
    model: "deepseek-ai/DeepSeek-R1", 
    local: false,
    url: "https://api.siliconflow.cn/v1",
    api_key: "sk-********************************"
  },
}

key 为 model_id,local 值 true 为本地模型,本地模型 model_id 与 name 保持一致,远程 API model 和 url 查看 API 文档,远程 API 需配置 api_key。

如果使用其他网址 API, 需修改 deepseek-api 组件 allowed_outbound_hosts 值,打开 app_data 目录下 app-config.json 文件。

json 复制代码
{
  "id": "deepseek-api",
  "metadata": {
    "build": { },
    "allowed_outbound_hosts": [
      "http://self",
      "https://api.deepseek.com",
      "https://api.siliconflow.cn"
    ],

    "key_value_stores": [
      "default"
    ]
  },
  "source": {
    "content_type": "application/wasm",
    "source": "../../target/wasm32-wasip1/release/ai_matrices_llm_handler_component.wasm"
  }
}

运行应用

Windows 命令行运行

shell 复制代码
ai-matrices-deepseek-windows-amd64.exe

Linux 命令行运行

shell 复制代码
./ai-matrices-deepseek-linux-amd64

命令行参数:

  • -i,--ip <port_number>: 指定服务器监听的 IP 地址,默认为 127.0.0.0。
    • example: --ip 0.0.0.0
  • -p,--port <port_number>: 指定服务器监听的端口号,默认为 21500。
    • example: --port 3000
  • --appdir : 指定工作目录,默认值为 ./app_data
    • example:--app-dir ./dir1
  • --appconfig : 指定应用配置文件,默认值为 ./app_data/app-config.json
    • example:--appconfig ./dir1/config.json
  • --user : 指定登录用户名,默认值为空
    • example:--user admin
  • --pass : 指定登录用户密码,默认值为空
    • example:--pass admin
  • --version: 打印系统版本号并退出。
  • --help: 查看命令的使用帮助和参数说明。
shell 复制代码
ai-matrices-deepseek-windows-amd64.exe -i 0.0.0.0 -p 8080 --user admin -- pass admin

其它

AIMatrices DeepSeek 前端程序使用了 chatgpt-web 项目代码。

下载网址:github.com/guyoung/AIM...

项目网址:github.com/guyoung/AIM...

相关推荐
YDS8292 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
冬奇Lab4 小时前
Agent 系列(一):Agent 是什么——不只是「会调工具的 LLM」
人工智能·llm·agent
冬奇Lab4 小时前
RAG 系列(二十四):代码 RAG——让 AI 理解你的代码库
人工智能·llm
数据法师5 小时前
MotrixNext:接棒经典 Motrix,用 Tauri 2+Rust 重构的下一代开源下载神器
重构·rust·开源
卡卡军6 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
创世宇图7 小时前
【AI入门知识点】LLM 原理是什么?为什么 ChatGPT 看起来像“会思考”?
人工智能·ai·llm·token
创世宇图10 小时前
【AI入门知识点】Function Calling 是什么?为什么 AI 开始会“调用工具”了?
人工智能·ai·llm·functioncalling
jianwuhuang8211 小时前
豆包输出word
人工智能·ai·chatgpt·word·deepseek·ai导出鸭
BeforeEasy13 小时前
关于大模型工具调用技术的总结
llm·agent·工具调用·function_call·tool_use
codealy13 小时前
Rust 核心理论: 高并发与异步(三)
算法·rust