随着大模型的广泛应用,越来越多的开发者希望能够在本地运行这些模型,既提高数据隐私性,又避免依赖云端服务。本文将详细介绍如何在本地使用 Ollama 进行大模型部署,以及如何通过 MaxKB 导入本地知识库并进行交互操作。为了使该过程在 Windows 上顺利进行,我们还会介绍如何安装 WSL2 和 Docker。

1. Ollama概述

Ollama 是一款本地大模型运行框架,旨在帮助用户在无需云服务的情况下,利用个人设备部署并运行各种大模型。相比于依赖云计算资源,Ollama 能够直接在本地实现大模型推理,适合那些对数据隐私要求较高的场景,如医疗、金融或企业内部数据处理。

1.Ollama主要特点

  • 隐私保护:所有数据处理都在本地完成,避免了数据上传至云端,极大提升了数据安全性。
  • 低延迟:因为模型在本地运行,推理速度大大提高,尤其适合实时交互场景。
  • 模型支持:支持多种主流开源大模型,如 GPT、BERT 等,用户可以根据需求加载并切换不同模型。

在这里插入图片描述

2. 安装 Ollama

为了开始使用 Ollama,首先需要在本地机器上安装它。具体步骤如下:

1. Mac 和 Linux 上安装 Ollama

对于 Mac 和 Linux 用户,可以直接使用以下命令来安装 Ollama:

curl -sSL https://ollama.com/install.sh | sh

安装成功后,运行以下命令验证 Ollama 是否安装成功:

ollama --version

2. Windows 上安装 Ollama

1. 下载 Ollama
  1. 访问 Ollama 官方网站

  2. 下载适用于 Windows 的 Ollama 版本

    • 在网站上找到 “Download” 按钮,并选择适用于 Windows 的安装包进行下载。下载完成后,你将获得一个 .exe 文件。
2. 安装 Ollama
  1. 运行安装程序

    • 双击下载的 .exe 文件启动安装程序。
  2. 按照提示完成安装

    • 在安装过程中,按照向导的指示完成安装步骤。通常包括接受许可协议、选择安装位置等设置。
  3. 完成安装

    • 安装完成后,你可能需要重新启动计算机以确保所有更改生效。
3. 验证 Ollama 安装
  1. 打开命令行窗口或 PowerShell

    • 你可以按 Win + R 键,输入 cmdpowershell,然后按 Enter 键打开命令行窗口或 PowerShell。
  2. 输入以下命令以验证安装

    ollama --version
    
    • 这将显示 Ollama 的版本信息,确认 Ollama 已成功安装。如果命令返回版本号,则说明安装成功。
4. 运行 Ollama 的 qwen2 模型
  1. 下载 qwen2 模型

    • 在命令行窗口或 PowerShell 中输入以下命令以下载并运行 qwen2 模型:
    ollama run qwen2
    
    • 这将启动 qwen2 模型的运行实例。
  2. 验证模型是否正常运行

    • 如果模型启动成功,你将看到有关模型运行状态的输出信息。
    • 你可以根据需要进一步配置和使用 qwen2 模型进行交互。
      在这里插入图片描述

通过这些步骤,你可以在 Windows 上顺利安装和运行 Ollama,并启动 qwen2 模型。如果在安装或运行过程中遇到任何问题,可以参考 Ollama 的官方文档或支持资源获取更多帮助。

3.Ollama的API调用

要使用 Ollama 的 API 调用大模型,可以按照以下步骤进行总结和介绍:

1. 启动 Ollama 服务

当你在本地启动 Ollama 并加载大模型时,Ollama 会自动在本地的端口 11434 上开启服务。你可以通过发送 POST 请求到 http://localhost:11434/api/generate 来调用大模型的生成功能。

2. API 请求格式

要调用 Ollama 的 API,需要发送一个 POST 请求到以下地址:

http://localhost:11434/api/generate

请求的 JSON 格式如下:

{
    "model": "模型名称",
    "prompt": "你需要问大模型的问题",
    "stream": false
}

参数说明:

  • model:需要使用的模型名称(必填),例如 "qwen2:latest"
  • prompt:生成响应的提示信息(必填),即你希望向模型提出的问题。
  • stream:是否使用流式传输返回结果,设置为 false 则返回单个完整响应(可选)。
3. 高级参数

除了基本参数外,你还可以使用以下高级参数来定制请求:

  • format:返回响应的格式,目前唯一接受的值是 "json"
  • options:模型的附加参数,例如 temperature,可以控制生成的多样性。
  • system:系统消息,可覆盖模型文件中定义的内容。
  • template:使用的提示模板,可覆盖模型文件中定义的内容。
  • context:从先前的 /generate 请求中获取的 context 参数,可用于维持短期的会话记忆。
  • raw:如果为 true,则不会对提示进行格式化,适用于你已经准备好完整提示的情况。
  • keep_alive:控制模型在请求后保持在内存中的时间,默认是 5m
4. 响应参数

请求成功后,服务器将返回一个包含生成结果的响应对象。主要的响应参数包括:

  • response: 如果响应是流式的,则为空;如果不是流式的,则包含完整的响应。
  • model: 使用模型的名称。
  • context: 此响应中使用的会话的编码,这可以在下一个请求中发送以保持会话记忆。
  • total_duration: 生成响应的时间。
  • load_duration: 加载模型的时间。
  • prompt_eval_count: 评估提示的时间。
  • eval_count:响应中的令牌数量。
5. 使用示例

以下是一个调用示例,向模型发送一个问题并获取响应:

curl -X POST http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen2:latest",
    "prompt": "你是谁?",
    "stream": false
}'

在这里插入图片描述
通过上述步骤,你可以方便地使用 Ollama 的 API 进行大模型的推理和生成任务。

3. WSL2概述

WSL2 (Windows Subsystem for Linux 2) 是微软为 Windows 用户提供的一种解决方案,使其能够在 Windows 系统中无缝运行 Linux 命令和程序。相比 WSL1,WSL2 提供了完整的 Linux 内核支持和显著的性能提升,特别是在运行依赖 Linux 内核的工具(如 Docker)时表现尤为出色。

1.WSL2 的优势

  • 完整的 Linux 内核支持:WSL2 使用真正的 Linux 内核,这意味着可以直接运行诸如 Docker 这样的工具,这些工具依赖 Linux 内核进行容器化管理。
  • 卓越的性能提升:WSL2 通过虚拟机技术提供了接近原生 Linux 的性能,特别是在文件系统访问和网络 I/O 上的表现有了明显改进。
  • 轻量化解决方案:与传统虚拟机相比,WSL2 占用的系统资源更少,不会影响 Windows 系统的整体性能。

2.使用WSL2的原因

在本地运行 Ollama 时,虽然命令行工具可以满足基本的交互需求,但在处理复杂的模型时,纯命令行操作可能显得繁琐且不够直观。为了实现更加友好、可视化的交互界面,MaxKB 提供了一个理想的解决方案,它允许我们通过图形化界面与大模型进行交互,便于管理和导入本地知识库。

然而,MaxKB 的安装依赖于 Docker,而 Docker 需要 Linux 内核来运行。在 Windows 系统上,原生不支持 Docker 的直接安装,因此需要通过 WSL2 来提供 Linux 环境支持,进而安装并运行 Docker 容器。这就是为什么我们在 Windows 上安装 WSL2,以便更轻松地部署 MaxKB,并实现与 Ollama 大模型的可视化交互。

借助 WSL2,我们可以在 Windows 上顺利运行 MaxKB,结合 Docker 容器的灵活性,解决了本地运行大模型时可视化操作不便的问题,提升了用户体验。

4. 安装 WSL2

在 Windows 上安装 WSL2 需要满足两个前提条件:启用 CPU 虚拟化开启两个 Windows 功能。接下来是详细的安装步骤。

1. 前提条件

  1. 启用 CPU 虚拟化:确保在 BIOS 或 UEFI 设置中启用了虚拟化(通常称为 Intel VT-x 或 AMD-V)。这一步非常关键,因为 WSL2 使用虚拟化技术来运行完整的 Linux 内核。

在这里插入图片描述

  1. 开启 Windows 功能:打开 “Windows 功能” 窗口,并确保勾选以下两项:

    • 虚拟机平台(Virtual Machine Platform)
    • 适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)

    可通过以下步骤启用:

    1. 在 Windows 搜索框中搜索 “Windows 功能” 并点击 “打开或关闭 Windows 功能”。
    2. 勾选上述两个选项,然后点击 确定。系统可能会要求重启。

在这里插入图片描述

2. 使用 PowerShell 安装 WSL2

在满足前提条件后,接下来通过 PowerShell 安装 WSL2。以下命令不仅会安装 WSL2,还会下载并安装最新版本的 Ubuntu 发行版(默认是 Ubuntu 22.04):

  1. 打开 PowerShell(以管理员身份运行),输入以下命令:

    wsl --install --web-download
    

    该命令通过网络下载最新的安装包,避免因网络问题导致安装失败。

  2. 安装完成后,系统会要求重新启动计算机。
    在这里插入图片描述

  3. 重启后,Windows 会自动打开 Ubuntu 应用。按照提示设置你的 用户名密码。当完成这些设置时,WSL2 和 Ubuntu 就已经成功安装在你的 Windows 系统上了。
    在这里插入图片描述
    在 WSL 终端中,可以使用 wslpath 命令将 Linux 路径转换为 Windows 路径。例如,如果你想要转换当前目录的路径,可以这样做:
    在这里插入图片描述

3. 常用 WSL2 命令

在安装完成后,你可以使用一些常用命令来管理 WSL2 环境:

  • 查看可用的 Linux 发行版:可以使用以下命令查看所有可以安装的发行版列表:

    wsl --list --online
    
  • 设置默认发行版:如果你想更改或指定默认使用的 Linux 发行版,可以使用以下命令:

    wsl --set-default <发行版名称>
    
  • 设置 WSL 版本:如果安装过程中默认使用 WSL1,可以通过以下命令将其切换为 WSL2:

    wsl --set-default-version 2
    
  • 列出已安装的发行版:使用以下命令列出当前已安装的所有 WSL 发行版:

    wsl --list --verbose
    
  • 启动特定的发行版:如果安装了多个发行版,可以使用以下命令启动某个指定的发行版:

    wsl -d <发行版名称>
    

通过这些命令,你可以轻松管理和操作 WSL2,确保系统配置符合你的开发需求。

5.解决DNS配置问题

如果你在输入wsl安装命令出现出现 “无法解析服务器的名称或地址” 这一错误通常是由于网络连接问题或DNS配置问题引起的。
以下是一些解决该问题的方法,如果没有出现安装问题,这一部分可以忽略!

1. 检查网络连接

  • 确保你的设备有稳定的网络连接,并且能够访问互联网。

2. 尝试使用代理服务器

如果你在公司或校园网络环境中,可能需要使用代理服务器来连接互联网。你可以尝试配置代理:

  1. 打开 Windows设置 -> 网络和Internet -> 代理
  2. 启用代理服务器,输入代理地址和端口号(如果你知道这些信息)。

3. 手动更改DNS服务器

你可以尝试将DNS服务器更改为公共DNS,比如Google的DNS或Cloudflare的DNS:

  1. 打开 控制面板 -> 网络和共享中心 -> 更改适配器设置
  2. 右键点击当前网络连接,选择 属性
  3. 双击 Internet 协议版本 4 (TCP/IPv4)
  4. 选择 使用下面的DNS服务器地址,输入以下地址:
    • 首选DNS服务器:8.8.8.8
    • 备用DNS服务器:8.8.4.4 (Google的DNS)
  5. 点击 确定 并重启网络。

4. 检查防火墙设置

确保系统防火墙或防病毒软件没有阻止 wsl --install 命令的网络访问。如果有必要,可以临时关闭防火墙并再次尝试安装。

5. 使用离线方式安装 WSL

如果网络问题无法解决,尝试通过手动下载并安装 WSL:

  1. 下载 WSL Linux 内核更新包 并安装。
  2. 在PowerShell中运行以下命令以启用 WSL 和虚拟机功能:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  3. 重启电脑,运行命令 wsl --set-default-version 2 设置 WSL 2 为默认版本。

这些方法应有助于解决该问题。如果仍无法解决,可以尝试重新启动路由器或联系网络管理员。

6. 安装MaxKB

MaxKB 是一个用于扩展大模型功能的知识库管理系统,它允许你将本地知识库与大模型相结合,实现更丰富的数据交互。由于 MaxKB 依赖 Docker 运行,因此我们需要在 WSL2 中安装 Docker。
在这里插入图片描述

1. 安装 Docker

  1. 在 WSL2 中安装 Docker。首先,更新软件包并安装必要的依赖:

    sudo apt update
    sudo apt install -y ca-certificates curl gnupg lsb-release
    

    在这里插入图片描述

  2. 添加 Docker 的 GPG 密钥并设置 Docker 的官方存储库:

    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  3. 更新 apt 包索引并安装 Docker:

    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io
    
  4. 启动 Docker 服务:

    sudo service docker start
    

2.安装Docker Desktop

如果你觉得在 WSL2 中安装 Docker 过程较为繁琐,你可以选择直接在 Windows 上安装 Docker Desktop。安装完成后,你可以通过打开命令行窗口或 PowerShell 来验证 Docker 是否安装成功。

安装 Docker Desktop 之前,请确保你的系统上已安装并配置了 WSL2。WSL2 是 Docker Desktop 的核心组件,它提供了 Docker 在 Windows 上运行所需的 Linux 内核支持和性能优化。如果尚未安装 WSL2,请先完成其安装。

1. 下载 Docker Desktop
  1. 访问 Docker Desktop 官方网站
  2. 点击 “Download for Windows” 按钮下载 Docker Desktop 的安装程序。
    在这里插入图片描述
2. 安装 Docker Desktop
  1. 双击下载的安装程序(.exe 文件)以启动安装。
  2. 在安装过程中,确保选中 “Use the WSL 2 based engine” 选项。这将确保 Docker Desktop 使用 WSL2 作为其容器引擎。
  3. 完成其他设置(如是否启用 Docker 的客户端和其他附加功能),然后点击 “Install” 进行安装。
3. 启动 Docker Desktop
  1. 安装完成后,点击 “Finish” 启动 Docker Desktop。
  2. Docker Desktop 将开始初始化,这可能需要一些时间。
  3. 启动后,Docker Desktop 的图标将出现在系统托盘中。右键点击 Docker 图标可以查看 Docker 的状态,或打开 Docker Desktop 应用程序进行进一步配置。
4. 验证 Docker 安装
  1. 打开 命令提示符PowerShell

  2. 输入以下命令来验证 Docker 是否成功安装并运行:

    docker --version
    

    你应该看到 Docker 的版本信息。

安装 Docker Desktop 必须首先安装 WSL2。Docker Desktop 使用 WSL2 作为其容器引擎,因此 WSL2 是 Docker Desktop 正常运行的前提条件。确保 WSL2 已正确安装和配置,以便 Docker Desktop 能够正常工作。

通过按照上述步骤安装 Docker Desktop,你可以在 Windows 上轻松配置和使用 Docker,利用 WSL2 提供的性能和兼容性优势进行容器化开发和测试。

3. 一件快速部署MaxKB

MaxKB 支持一键启动,仅需执行以下命令:

docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb

在这里插入图片描述
安装成功后,可通过浏览器访问 MaxKB:

http://目标服务器 IP 地址:8080

默认登录信息
用户名:admin
默认密码:MaxKB@123..

在这里插入图片描述

7. MaxKB 基础操作介绍

在成功运行 MaxKB 后,我们可以通过它来灵活管理 Ollama 大模型以及导入本地知识库,进而实现定制化的知识管理和模型交互。以下是如何使用 MaxKB 管理 Ollama 模型和本地知识库的详细操作指南,分为三个主要步骤:

1. 在系统管理中添加 Ollama 模型

  1. 进入 MaxKB 系统管理界面

    • 打开 MaxKB 后,导航到 系统管理 界面。
  2. 设置并添加模型

    • 模型设置 选项卡中,找到 添加模型 按钮。
    • 选择 Ollama 作为模型来源,然后在模型路径中指定你通过命令 ollama run qwen2 下载的本地 Ollama 模型文件。
    • 保存设置后,你会看到该模型出现在 模型列表 中,并可以进行后续的管理和调用。
      在这里插入图片描述
      注意:如果通过 Docker 启动 MaxKB,而 Ollama 是在宿主机上安装的,那么可以尝试使用 http://host.docker.internal:11434 来进行访问和交互。

2. 创建应用并关联 Ollama 模型

  1. 进入应用管理

    • 从主界面导航到 应用管理 选项卡,点击 创建应用 按钮。
  2. 设置应用并关联模型

    • 在应用创建页面中,填写应用的基本信息,例如应用名称和描述。
    • 模型选择 部分,选择之前在 模型设置 中添加的 Ollama 模型进行关联。
    • 保存应用后,系统会自动将该应用与选择的 Ollama 模型关联起来,方便你在应用中使用该模型进行推理和回答问题。
      在这里插入图片描述

3. 创建知识库并导入本地文档

  1. 创建新的知识库

    • 转到 知识库管理 界面,点击 创建知识库 按钮,设置知识库的名称、描述和向量模型。
  2. 导入本地文档

    • 在创建好的知识库中,选择 导入文档 功能,选择你本地的文档、文本文件、数据库文件等数据源。
    • 上传后,MaxKB 会自动对导入的文档进行处理和索引,并将其与 Ollama 模型关联。
  3. 实现知识库自由交互

    • 一旦知识库建立并导入成功,你可以通过 MaxKB 的界面输入问题。Ollama 模型会结合本地知识库的内容,提供更加个性化、符合你需求的答案。
    • 这种结合使你能够更灵活地管理和使用本地知识库资源,实现模型与知识的无缝交互。

通过这三个步骤,你不仅可以灵活地管理 Ollama 模型,还能够通过导入和管理本地知识库,创建属于你自己的知识管理平台,并结合大模型来进行智能化的内容推理和问题回答。

Logo

尧米是由西云算力与CSDN联合运营的AI算力和模型开源社区品牌,为基于DaModel智算平台的AI应用企业和泛AI开发者提供技术交流与成果转化平台。

更多推荐