搭建本地 AI 应用栈:Ollama + OpenWebUI + LlamaFactory 入门指南

本地环境的模型搭建和微调是一个复杂的过程,涉及多个组件的安装和配置。本文将介绍如何使用 OllamaOpenWebUILlamaFactory 来搭建一个本地 AI 应用栈,包括使用 Ollama 进行模型管理和推理,结合 OpenWebUI 提供友好的网页交互界面,并利用 LlamaFactory 进行模型微调或管理。将详细介绍各组件的安装步骤以及如何初步整合们进行知识库构建。

第一步:Ollama 安装

Ollama 是一个轻量级、跨平台的工具,旨在简化大型语言模型在本地环境中的运行。提供了一个简单的命令行接口来拉取、运行和管理各种开源 LLM。

  1. 访问官网: 前往 https://ollama.com/ 下载适用于操作系统的安装包。
    • Windows/macOS: 通常会提供 .exe.dmg 文件,下载后按照常规软件安装流程进行即可。
    • Linux: 推荐使用官方提供的便捷脚本进行安装: bash curl -fsSL https://ollama.com/install.sh | sh
  2. 启动服务: 安装完成后,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 交互,并支持构建和查询知识库等功能。

  1. 准备 Python 环境: 确保的系统已安装 Python 3.10 或更高版本。可以通过 python --versionpython3 --version 来检查。
  2. 创建虚拟环境 (推荐): 为了避免依赖冲突,建议为 OpenWebUI 创建一个独立的 Python 虚拟环境。 bash python -m venv openwebui_env # 激活环境 (Linux/macOS) source openwebui_env/bin/activate # 激活环境 (Windows) openwebui_env\Scripts\activate
  3. 使用 Pip 安装: 在激活的虚拟环境中,使用 pip 安装 OpenWebUI。 bash pip install open-webui
  4. 启动 OpenWebUI: 安装完成后,通过以下命令启动 Web 服务。首次运行会进行一些初始化设置。 bash open-webui serve
  5. 访问界面: 默认情况下,OpenWebUI 会在 http://localhost:8080 启动。请在浏览器中打开此地址访问。首次访问时,需要创建管理员账户。

配置 Ollama 后端:

登录 OpenWebUI 后,进入管理面板 (Admin Panel),找到 "Settings" -> "Connections" 或类似选项,配置 Ollama API 的地址(通常是 http://localhost:11434)。然后,在模型管理部分,可以选择之前拉取的 qwen3:8b 作为主要聊天模型,并选择 qwen3-embedding:4bembedding-gemma 作为嵌入模型用于知识库功能。

第四步:LlamaFactory 的 Pip 安装

LlamaFactory 是一个旨在简化 LLM 微调、评估和部署的框架。它提供了丰富的训练算法和便捷的脚本,使得即使是初学者也能相对容易地对模型进行定制化训练。LlamaFactory 可以直接通过 pip 进行安装。

  1. 准备 Python 环境: LlamaFactory 对 Python 版本有要求(通常是 >=3.8),确保满足条件。强烈建议为此创建一个新的虚拟环境。 bash python -m venv llamafactory_env # 激活环境 (Linux/macOS) source llamafactory_env/bin/activate # 激活环境 (Windows) llamafactory_env\Scripts\activate
  2. 使用 Pip 安装: 在激活的虚拟环境中,直接使用 pip 安装 LlamaFactory。 bash pip install llamafactory 注意:LlamaFactory 的版本可能随时更新,建议查看 LlamaFactory 的官方文档pip show llamafactory 获取最新信息。
  3. 验证安装: 可以尝试查看可用的命令或帮助文档来确认安装是否成功。 bash # 查看是否安装成功及基本信息 pip show llamafactory # 或者尝试运行其 CLI 工具(如果有的话)

与 Ollama/OpenWebUI 的关系:

LlamaFactory 主要用于模型的训练和微调阶段。一旦使用 LlamaFactory 训练出了新的模型权重,可以将其转换为兼容 Ollama 的格式(这一步可能需要额外的脚本或工具),然后通过 ollama create 命令打包成新的 Ollama 模型。之后,这个新模型就可以像其他 Ollama 模型一样被 OpenWebUI 调用和使用了。这一步自己可以探索,反正就是说 LlamaFactory 是整个工作流中负责“创造”或“定制”模型的部分,而 Ollama 和 OpenWebUI 则负责模型的“运行”和“展示”。

Category: AI
Category
Tagcloud
ChromeBook QT Qwen3 Data Scholar Hardware 耳机 Programming Communicate Translation MayaVi FuckChunWan Video VirtualMachine Linux HBase FuckZhihu Hate NAS IDE Virtual Machine Mac Conda QEMU Game DIY Chat Translate VirtualBox 蓝牙 GlumPy Download Raspbian Ollama Hack FckZhiHu Poem Pyenv Hadoop Photography PyOpenCL Kivy Software macOS QGIS Hackintosh Disease Telescope Geology Junck RTL-SDR GeoPython RaspberryPi Story Tools Learning Radio Book VTK Windows Memory Life SandBox n8n Photo Microscope PHD Tool Science AI Virtualization Library OpenCL Discuss GPT-OSS VisPy Mount&Blade University Python Shit Moon Server Code Generation OpenWebUI Cursor Lens Windows11 LlamaFactory Camera Visualization 音频 GIS Xcode CUDA Lesson