跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI

4GB 显存限制下构建 LLM 基础开发环境指南

介绍在 4GB 显存限制下构建 LLM 基础开发环境的方案。利用 Docker 容器管理,通过 Ollama 运行 Qwen2 等本地小模型,并结合 One-API 统一调用本地与云端模型接口。配合 JupyterLab 进行代码调试,避免复杂的前端开发流程。该方案适合资源受限设备快速验证模型逻辑,支持后续移植至服务器端模块。

LinuxPan发布于 2025/2/6更新于 2026/9/1360 浏览
4GB 显存限制下构建 LLM 基础开发环境指南

有 NVIDIA 4GB 显存的设备,就可以搭建一个用于 LLM 的基本开发环境。

比如这里使用的是 NVIDIA GeForce GTX 1650,4GB 显存。

另外,经测试也能运行在 NVIDIA GeForce GTX 3050 4GB 笔记本上。

基本思路

  • 消耗显存主要是:
    • LLM(大语言模型):如果使用 Qwen2:1.5b,大约消耗 2GB;如果是 Qwen2:0.5b,则更小。
    • Embedding(嵌入模型):bge-large-zh-v1.5@f16,大约消耗 1.2GB。
  • 基础开发环境用于测试程序是否能跑通,因此可以先用本地小模型。
  • 如果需要更大的模型,可以再使用云端模型。
  • 切换本地模型和云端模型很容易,因为使用 One-API 统一了本地和云端模型的调用接口。
  • 调用模型调试代码,采用 Jupyter Notebook 笔记。
  • 这样调试很方便,也便于分享。
  • 如果使用客户端方案,比如 Streamlit 或者 Gradio,过程复杂了,没有专注在模型相关,可能涉及很多客户端细节。
  • 团队可能有专门的前端,会有他们的基于 Vue 或者 React 解决方案。
  • 将来很容易将笔记代码移植到比如 FastAPI 的服务器端模块。

实现技术

  • 使用 Docker 容器方式运行,通过 Compose 管理 Docker 容器。
  • 使用 Ollama 加载本地模型。
  • 使用 One-API 统一管理本地和云端模型,并提供统一的 OpenAI API 访问方式。
  • 使用 JupyterLab 提供 Web 界面的开发编辑工具。

操作步骤

基础环境
  • Linux 环境:已经正确安装了 NVIDIA Driver,并安装了 Docker 和 Compose。
  • Windows 环境:WSL2 的 Linux 虚拟机,安装了 Docker 和 Compose。
下载源代码
git clone https://github.com/MarshalW/llm-proto.git
Docker 设置代理

如果能直接访问 Docker 官方 Registry,则不需要这一步。

下面脚本为 Docker 设置代理服务器。

# 代理配置
HTTP_PROXY="http://proxy.example.com:8080"
NO_PROXY="localhost,127.0.0.1,docker-registry.example.com,.corp"

# 配置文件路径
CONFIG_FILE="/etc/systemd/system/docker.service.d/http-proxy.conf"

# 创建目录(如果不存在)
mkdir -p "$(dirname "$CONFIG_FILE")"

# 写入配置文件
cat <<EOF | sudo tee "$CONFIG_FILE" > /dev/null
[Service]
Environment="HTTP_PROXY=$HTTP_PROXY"
Environment="HTTPS_PROXY=$HTTP_PROXY"
Environment="NO_PROXY=$NO_PROXY"
EOF

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 重启 Docker 服务
sudo systemctl restart docker
构建 JupyterLab Docker 镜像
cd llm-proto/jupyterlab
./build.sh
启动服务
cd llm-proto
docker compose up -d
配置服务
Ollama 加载模型
# 进入 ollama 容器
docker exec -it llms bash

# 拉取模型
ollama pull qwen2:1.5b

# 验证拉取成功
ollama ls
NAME            ID              SIZE    MODIFIED
qwen2:1.5b      f6daf2b25194    934 MB  5 hours ago
配置 One-API

访问:http://IP:4000

登录账号/密码:root/123456

配置本地模型

添加渠道、测试渠道、添加令牌、复制令牌备用等操作请参考 One-API 文档或控制台界面。

配置云端模型

以其他云服务商为例。

创建渠道(需要设置访问密钥):

访问 JupyterLab

浏览器访问 http://IP:8888

密码是 password

总结

通过上述步骤,即可建立一个最基本的 LLM 技术开发环境,用于开发和调试基于模型的基础代码。该方案利用容器化隔离环境,降低了硬件门槛,使 4GB 显存设备也能流畅运行小参数模型并进行开发测试。

目录

  1. 基本思路
  2. 实现技术
  3. 操作步骤
  4. 基础环境
  5. 下载源代码
  6. Docker 设置代理
  7. 代理配置
  8. 配置文件路径
  9. 创建目录(如果不存在)
  10. 写入配置文件
  11. 重新加载 systemd 配置
  12. 重启 Docker 服务
  13. 构建 JupyterLab Docker 镜像
  14. 启动服务
  15. 配置服务
  16. Ollama 加载模型
  17. 进入 ollama 容器
  18. 拉取模型
  19. 验证拉取成功
  20. 配置 One-API
  21. 配置本地模型
  22. 配置云端模型
  23. 访问 JupyterLab
  24. 总结

更多推荐文章

查看全部
  • C++ 红黑树实现详解:STL map 底层数据结构解析
  • 基于 Arduino 的 BLDC 自主巡逻机器人:避障与路径规划实战
  • CSS 基础:width 与 height 尺寸属性详解
  • Visual C++ MFC 基础图形绘制实战:点线面与投影
  • 2026年RAG技术演进:基于DeepSeek与Neo4j构建企业知识图谱
  • 光伏产品缺陷检测 AI 深度学习算法技术方案
  • Python 实现智能 PDF 文档助手 AI 小工具
  • 基于 brpc+MinIO 的分布式文件存储架构设计与实战
  • System Verilog 教程:从基础到高级验证
  • 基于指数预定义时间控制的固定翼无人机轨迹跟踪控制(Matlab 仿真)
  • DeepSeek 各版本演进历程与优缺点深度解析
  • 鸿蒙金融理财全栈项目:上线运维、用户反馈与持续迭代优化
  • Java 25 LTS 核心特性详解:语言改进与性能优化
  • 2025 年 AI 浪潮下 Java Web 开发现状与应对
  • MySQL 数据库基础:概念、架构与核心操作
  • Llama-2-7b 在昇腾 NPU 上的六大核心场景性能基准
  • ComfyUI 本地部署 Stable Diffusion 的实操记录
  • Spring Cloud 微服务架构概览与基础实践
  • OpenCV 通用内部函数:C++ 代码矢量化实战指南
  • Python 实现 MCP 客户端调用高德地图天气查询示例

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online