本地环境的模型搭建和微调是一个复杂的过程,涉及多个组件的安装和配置。本文将介绍如何使用 Ollama、OpenWebUI 和 LlamaFactory 来搭建一个本地 AI 应用栈,包括使用 Ollama 进行模型管理和推理,结合 OpenWebUI 提供友好的网页交互界面,并利用 LlamaFactory 进行模型微调或管理。将详细介绍各组件的安装步骤以及如何初步整合们进行知识库构建。
第一步:Ollama 安装
Ollama 是一个轻量级、跨平台的工具,旨在简化大型语言模型在本地环境中的运行。提供了一个简单的命令行接口来拉取、运行和管理各种开源 LLM。
- 访问官网: 前往 https://ollama.com/ 下载适用于操作系统的安装包。
- Windows/macOS: 通常会提供
.exe或.dmg文件,下载后按照常规软件安装流程进行即可。 - Linux: 推荐使用官方提供的便捷脚本进行安装:
bash curl -fsSL https://ollama.com/install.sh | sh
- Windows/macOS: 通常会提供
- 启动服务: 安装完成后,Ollama 服务通常会自动启动。可以打开终端(Terminal)或命令提示符(Command Prompt),输入
ollama --version来验证安装是否成功。如果显示了版本号,则表示 Ollama 已正确安装并可以运行。bash ollama --version # 示例输出: ollama version 0.12.9
第二步:模型获取与运行
安装好 Ollama 后,下一步就是获取所需的模型。Ollama 支持大量的开源模型,可以通过简单的命令进行拉取和运行。以下是将要用到的几个模型及其简要介绍:
qwen3-embedding:4b: 这是阿里巴巴通义千问系列的一个嵌入(Embedding)模型,参数量为 4B。嵌入模型用于将文本转换成高维向量(即嵌入),这些向量能够捕捉文本的语义信息,在构建知识库、实现语义搜索等场景中至关重要。embedding-gemma: Google 开发的 Gemma 系列中的嵌入模型。同样用于生成文本嵌入,可作为qwen3-embedding的替代选项,适合外语类资料为主的场景,尤其是一些可能相对小众的语种,谷歌的数据可能会有一定优势。qwen3-vl:8b: 通义千问系列的视觉语言模型(Vision-Language Model),参数量为 8B。不仅能处理文本,还能理解和分析图像内容,适合需要图文混合输入的任务。qwen3:8b: 通义千问系列的核心对话语言模型,参数量为 8B。这是进行常规文本生成、问答、对话等任务的主要模型。
拉取模型:
使用 ollama pull 命令来下载模型文件到本地。
# 拉取嵌入模型
ollama pull qwen3-embedding:4b
ollama pull embedding-gemma
# 拉取对话和视觉语言模型
ollama pull qwen3-vl:8b
ollama pull qwen3:8b
运行模型:
使用 ollama run 命令可以在命令行中直接与模型进行交互。
# 运行对话模型进行测试
ollama run qwen3:8b --verbose "你都能做什么?"
# 运行视觉语言模型
ollama run qwen3-vl:8b --verbose "你看看这张图,它是什么?" "./image.jpg" # 注意:需要提供图像文件路径
(退出交互式会话通常按 Ctrl+C)
对于嵌入模型 (qwen3-embedding, embedding-gemma),们主要用于后台提供嵌入服务,而不是直接进行对话。后续在配置 OpenWebUI 时会指定使用哪个嵌入模型。
第三步:OpenWebUI 的 Pip 安装
Open WebUI 是一个功能强大的 Web 界面,可以连接到 Ollama 等后端服务,为用户提供直观易用的图形化界面来与 LLM 交互,并支持构建和查询知识库等功能。
- 准备 Python 环境: 确保的系统已安装 Python 3.10 或更高版本。可以通过
python --version或python3 --version来检查。 - 创建虚拟环境 (推荐): 为了避免依赖冲突,建议为 OpenWebUI 创建一个独立的 Python 虚拟环境。
bash python -m venv openwebui_env # 激活环境 (Linux/macOS) source openwebui_env/bin/activate # 激活环境 (Windows) openwebui_env\Scripts\activate - 使用 Pip 安装: 在激活的虚拟环境中,使用
pip安装 OpenWebUI。bash pip install open-webui - 启动 OpenWebUI: 安装完成后,通过以下命令启动 Web 服务。首次运行会进行一些初始化设置。
bash open-webui serve - 访问界面: 默认情况下,OpenWebUI 会在
http://localhost:8080启动。请在浏览器中打开此地址访问。首次访问时,需要创建管理员账户。
配置 Ollama 后端:
登录 OpenWebUI 后,进入管理面板 (Admin Panel),找到 "Settings" -> "Connections" 或类似选项,配置 Ollama API 的地址(通常是 http://localhost:11434)。然后,在模型管理部分,可以选择之前拉取的 qwen3:8b 作为主要聊天模型,并选择 qwen3-embedding:4b 或 embedding-gemma 作为嵌入模型用于知识库功能。
第四步:LlamaFactory 的 Pip 安装
LlamaFactory 是一个旨在简化 LLM 微调、评估和部署的框架。它提供了丰富的训练算法和便捷的脚本,使得即使是初学者也能相对容易地对模型进行定制化训练。LlamaFactory 可以直接通过 pip 进行安装。
- 准备 Python 环境: LlamaFactory 对 Python 版本有要求(通常是 >=3.8),确保满足条件。强烈建议为此创建一个新的虚拟环境。
bash python -m venv llamafactory_env # 激活环境 (Linux/macOS) source llamafactory_env/bin/activate # 激活环境 (Windows) llamafactory_env\Scripts\activate - 使用 Pip 安装: 在激活的虚拟环境中,直接使用
pip安装 LlamaFactory。bash pip install llamafactory注意:LlamaFactory 的版本可能随时更新,建议查看 LlamaFactory 的官方文档 或pip show llamafactory获取最新信息。 - 验证安装: 可以尝试查看可用的命令或帮助文档来确认安装是否成功。
bash # 查看是否安装成功及基本信息 pip show llamafactory # 或者尝试运行其 CLI 工具(如果有的话)
与 Ollama/OpenWebUI 的关系:
LlamaFactory 主要用于模型的训练和微调阶段。一旦使用 LlamaFactory 训练出了新的模型权重,可以将其转换为兼容 Ollama 的格式(这一步可能需要额外的脚本或工具),然后通过 ollama create 命令打包成新的 Ollama 模型。之后,这个新模型就可以像其他 Ollama 模型一样被 OpenWebUI 调用和使用了。这一步自己可以探索,反正就是说 LlamaFactory 是整个工作流中负责“创造”或“定制”模型的部分,而 Ollama 和 OpenWebUI 则负责模型的“运行”和“展示”。
CycleUser