Windows环境本地大模型工具链安装教程:Ollama + llama.cpp + LLaMA Factory

Windows 11 本地大模型工具链终极教程:Ollama + llama.cpp + LLaMA Factory

本教程将指导你在 Windows 11 系统上,将 Ollamallama.cppLLaMA Factory 三个工具统一安装到 E 盘,并实现 GPU 加速、数据集配置和一键启动。所有步骤均已实际验证,适用于 RTX 5080 等现代显卡。


📁 1. 统一文件夹结构(推荐)

E 盘 创建父文件夹 LLM,用于集中管理所有相关文件。子文件夹规划如下:

text

E:\LLM\ ├── Ollama\ # Ollama 程序安装目录 ├── OllamaModels\ # Ollama 下载的模型存放目录 ├── llama.cpp\ # llama.cpp 源码(git 克隆) ├── LLaMA-Factory\ # LLaMA Factory 源码(git 克隆) ├── LLaMAWork\ # 个人工作区(数据集、配置等) │ └── datasets\ # 自定义数据集目录 └── models\ # 手动存放的 GGUF 模型文件(可选) 

⚙️ 2. 安装 Ollama 并指定存储位置

2.1 下载安装包

访问 Ollama 官网,下载 OllamaSetup.exe

2.2 自定义安装路径

管理员身份打开命令提示符,进入安装包所在目录,执行:

cmd

OllamaSetup.exe /DIR="E:\LLM\Ollama" 

2.3 设置模型存放路径

通过系统环境变量指定模型下载位置:

  1. 打开“系统属性” → “高级” → “环境变量”。
  2. 在“系统变量”中点击“新建”,变量名 OLLAMA_MODELS,变量值 E:\LLM\OllamaModels
  3. 确定保存,并重启电脑或重启 Ollama 服务。

2.4 验证安装

打开新命令行,输入 ollama -v 查看版本。拉取一个小模型测试:

cmd

ollama run deepseek-r1:1.5b 

模型应下载到 E:\LLM\OllamaModels 中。


🏗️ 3. 编译 GPU 版 llama.cpp(支持 CUDA)

3.1 安装编译工具

  • 安装 Visual Studio 2022(社区版),勾选“使用 C++ 的桌面开发”工作负载。
  • 安装 CMake,并确保添加到系统 PATH。

3.2 下载源码

cmd

cd /d E:\LLM git clone https://github.com/ggerganov/llama.cpp.git 

3.3 编译(启用 CUDA 支持)

cmd

cd llama.cpp mkdir build cd build cmake .. -G "Visual Studio 17 2022" -A x64 -DGGML_CUDA=ON cmake --build . --config Release 

编译成功后,可执行文件位于 build\bin\Release\。你可以将这些 .exe 文件复制到 E:\LLM\llama.cpp\ 根目录,方便调用。

3.4 验证 GPU 支持

运行 llama-cli.exe --help,查看是否有 -ngl N(GPU 层数)参数。若有,则支持 GPU。


🐍 4. 安装 LLaMA Factory(基于 Python 3.11)

4.1 安装 Miniconda

  • Miniconda 官网 下载 Windows 安装包。
  • 安装时勾选“Add Miniconda3 to my PATH environment variable”
  • 安装路径建议使用默认(例如 D:\WorkApp\Python\miniconda3)。

4.2 接受 Anaconda 服务条款(必须执行)

在命令提示符中依次执行以下三条命令:

cmd

conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2 

4.3 创建 Python 3.11 虚拟环境并激活

cmd

conda create -n llamafactory python=3.11 -y conda activate llamafactory 
注意:LLaMA Factory 要求 Python ≥ 3.11,请勿使用 3.10 或更低版本。

4.4 安装 PyTorch(RTX 50 系列显卡需使用特定版本)

cmd

pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu124 

如果遇到兼容性警告,可改用 nightly 版本:

pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu124 

验证 GPU 可用性:

python

python -c "import torch; print(torch.cuda.is_available())" 

若输出 True,则 PyTorch 可识别 GPU。

4.5 获取 LLaMA Factory 源码

cmd

cd /d E:\LLM git clone https://github.com/hiyouga/LLaMA-Factory.git 

4.6 安装 LLaMA Factory(开发模式)

确保虚拟环境已激活,进入源码目录并安装:

cmd

cd LLaMA-Factory pip install -e .[torch,metrics] 

等待安装完成。测试安装:

cmd

python -c "import llamafactory; print('OK')" 

若输出 OK,则安装正确。


🧪 5. 配置数据集(WebUI 中显示)

5.1 准备数据集文件

假设你有一个 Alpaca 格式的数据集 my_data.json,内容如下:

json

[ {"instruction": "计算 2+2", "input": "", "output": "4"}, {"instruction": "解释机器学习", "input": "", "output": "机器学习是..."} ] 

5.2 创建 dataset_info.json

E:\LLM\LLaMAWork\datasets 目录下创建 dataset_info.json,内容如下:

json

{ "my_dataset": { "file_name": "my_data.json", "formatting": "alpaca", "columns": { "prompt": "instruction", "query": "input", "response": "output" } } } 

5.3 在 WebUI 中使用

  • 启动 WebUI(见下一节)。
  • 在“数据路径”输入框中填写 E:\LLM\LLaMAWork\datasets,然后点击刷新按钮
  • 下拉列表中应出现 my_dataset,选中即可。
提示:也可以将数据集直接放入 E:\LLM\LLaMA-Factory\data 目录,并在该目录下的 dataset_info.json 中添加条目,这样路径保持默认。

🚀 6. 一键启动脚本(终极版)

由于虚拟环境中的 llamafactory-cli 可能因入口点问题不可用,推荐使用 绝对路径调用 Python 模块 的方式启动,稳定可靠。

6.1 确定虚拟环境 Python 路径

激活环境后运行:

cmd

conda activate llamafactory where python 

记下输出,例如 D:\WorkApp\Python\miniconda3\envs\llamafactory\python.exe

6.2 创建批处理脚本

在桌面新建文本文件,改名为 启动_LLaMA_Factory.bat,用记事本编辑,内容如下(请替换路径):

batch

@echo off title LLaMA Factory WebUI REM 虚拟环境的 Python 解释器绝对路径 set VENV_PYTHON=D:\WorkApp\Python\miniconda3\envs\llamafactory\python.exe REM LLaMA Factory 源码目录 set SRC=E:\LLM\LLaMA-Factory cd /d %SRC% "%VENV_PYTHON%" -m llamafactory.cli webui --server-port 7861 pause 

6.3 运行

双击脚本,等待服务器启动,然后浏览器访问 http://localhost:7861 即可使用 WebUI 进行模型微调。


❓ 7. 常见问题及解决方法

7.1 conda 命令找不到

  • 确保安装 Miniconda 时勾选了“Add to PATH”。
  • 若未勾选,手动将 D:\WorkApp\Python\miniconda3\Scripts 添加到系统 PATH。

7.2 conda 提示“Terms of Service have not been accepted”

  • 执行第 4.2 节的三条 conda tos accept 命令。

7.3 虚拟环境中运行 llamafactory-cli 找不到命令

  • 可能入口点未注册,改用 python -m llamafactory.cli 方式(已集成到一键脚本中)。
  • 确保虚拟环境中已正确安装 LLaMA Factory(执行 pip install -e .[torch,metrics])。

7.4 安装时提示“requires a different Python: 3.10.20 not in ‘>=3.11.0’”

  • 说明你的虚拟环境 Python 版本过低,请按第 4.3 节重新创建 Python 3.11 环境。

7.5 WebUI 中数据集不显示

  • 检查 dataset_info.json 是否存在于你指定的“数据路径”目录中。
  • 点击刷新按钮。
  • 确保数据集文件格式正确(JSON 或 JSONL),且 file_name 路径正确(可使用绝对路径)。
  • 查看控制台(运行脚本的窗口)是否有错误信息。

7.6 base 环境能运行但虚拟环境不能

  • 说明 LLaMA Factory 误安装在 base 环境。解决方案:
    1. 在虚拟环境中重新安装(第 4.6 节)。
    2. 使用一键启动脚本,直接指定虚拟环境 Python。
    3. 可选:清理 base 环境中的残留(见第 8 节)。

🧹 8. 清理 base 环境中的残留(可选)

如果你在 base 环境中也安装过 LLaMA Factory,可以安全卸载:

cmd

conda activate base pip uninstall llamafactory -y 

然后手动删除 C:\Users\你的用户名\miniconda3\Scripts\llamafactory-cli.exe 等残留文件(如果有)。注意:不要随意卸载 base 环境中的其他包,以免影响 conda 自身功能。


✅ 9. 验证 GPU 是否正常工作

9.1 查看 llama.cpp 日志

运行 llama-server.exe -m model.gguf -ngl 99 时,控制台输出:

text

load_tensors: offloading 27 repeating layers to GPU load_tensors: offloaded 29/29 layers to GPU 

表示 GPU 已启用。

9.2 使用 nvidia-smi 监控

打开另一个命令行窗口,运行:

cmd

 持续监控(每秒刷新一次) nvidia-smi -l 1 

或者使用nvitop命令监控

 安装:pip install nvitop 运行:nvitop 

在推理过程中,观察 GPU-Util 和显存占用是否上升。


📝 10. 总结

通过本教程,你已经在 E 盘建立了一个整洁、高效的本地大模型环境:

  • Ollama:快速体验流行模型。
  • llama.cpp:高性能推理 GGUF 模型,GPU 加速。
  • LLaMA Factory:图形化微调模型,支持自定义数据集。

一键启动脚本让你无需记忆命令,双击即可启动 WebUI。所有工具均可独立更新,互不干扰。

以上内容由deepseek总结生成

Read more

零代码实现NER:AI智能实体侦测服务WebUI使用教程

零代码实现NER:AI智能实体侦测服务WebUI使用教程 1. 引言 1.1 学习目标 本文将带你零代码部署并使用一个高性能中文命名实体识别(NER)系统,基于达摩院RaNER模型构建,集成Cyberpunk风格WebUI界面。你无需编写任何代码,即可完成从文本中自动抽取人名、地名、机构名等关键信息的全过程。 学完本教程后,你将能够: - 快速启动AI实体侦测服务 - 在可视化界面中实时查看实体识别结果 - 理解NER技术的核心应用场景与价值 - 调用其REST API进行二次开发(可选) 1.2 前置知识 本教程面向所有对自然语言处理(NLP)感兴趣的技术人员或业务用户,无需编程基础。只需具备基本的文本处理意识和浏览器操作能力即可。 建议了解以下概念(非必须): - 什么是命名实体识别(NER) - 什么是预训练模型 - REST API的基本作用 1.3 教程价值 与传统需要配置环境、

IIS 部署 .NET 6 WebApi 实战指南(附优缺点分析)

IIS 部署 .NET 6 WebApi 实战指南(附优缺点分析)

在 .NET 开发体系里,IIS 一直是部署 WebApi 的主力工具。 很多人接口写得很熟练,但真正涉及部署时,却容易卡在环境、权限、证书这些细节上。 今天我们从 0 到 1,把 .NET 6 WebApi 部署到 IIS 上跑起来,同时聊聊它适合做什么、不适合做什么。 一、环境准备 部署前,先确认三件事: 1️⃣ 已安装 IIS 控制面板 → 启用或关闭 Windows 功能 → 勾选: * Internet Information Services * Web 管理工具 * 万维网服务 * 应用程序开发功能 安装完成后访问: http://localhost 能看到默认页面说明成功。 2️⃣ 安装

WebForms SortedList 深入解析

WebForms SortedList 深入解析 引言 在Web开发中,数据管理是至关重要的。ASP.NET WebForms框架为我们提供了丰富的控件和功能,其中SortedList控件是用于存储和排序数据的常用工具。本文将深入探讨WebForms中的SortedList控件,包括其基本用法、优缺点以及在实际应用中的注意事项。 SortedList控件概述 SortedList控件是ASP.NET WebForms中的一种数据绑定控件,它基于System.Collections.Specialized命名空间下的SortedList类。SortedList控件可以用来存储键值对,并按照键的顺序自动排序。 SortedList的主要特点: 1. 键值对存储:SortedList控件允许我们将数据以键值对的形式存储,其中键是唯一的,值可以是任何类型的数据。 2. 自动排序:SortedList控件会根据键的顺序自动排序,默认为升序。 3. 数据绑定:SortedList控件可以与数据源进行绑定,实现数据的动态更新。 4. 丰富的API:SortedList控件提供

LangChain 消息处理全解析:缓存、过滤、合并与流式输出实战

LangChain 消息处理全解析:缓存、过滤、合并与流式输出实战

文章目录 * 一、消息内存缓存 * 核心概念 * 关键组件 * 代码流程 * 运行效果 * 二、消息过滤 * 核心概念 * 关键函数 * 过滤参数 * 代码示例 * 过滤逻辑 * 三、消息合并 * 核心概念 * 关键函数 * 代码示例 * 合并效果 * 两种使用方式 * 四、流式输出 * 什么是流式输出 * 为什么需要? * 典型应用 * 五、同步 vs 异步流式 * 核心区别 * 工作原理 * 何时使用异步? * 六、流式输出基础用法 * 同步流式 * 异步流式 * 七、输出解析器 * 八、流式输出实际应用 * 1. 聊天机器人 * 2. 多用户并发 * 3. FastAPI 集成 * 九、常见问题