当前位置: 首页 > article >正文

【保姆级教程】Windows系统+ollama+Docker+Anythingllm部署deepseek本地知识库问答大模型,可局域网多用户访问

目录

1.Ollama 本地化部署 DeepSeek R1

1.1下载Ollama

1.2安装Ollama

1.3安装DeepSeek R1大模型

 2.系统环境配置

2.1开启系统功能

2.2安装wsl

3.安装 Docker Desktop并拉取Anythingllm镜像

3.1从 Docker 官网 下载并安装。

3.2拉取镜像

3.3运行 Docker 命令

4.anythingLLM环境配置

5.创建知识库

5.1创建个人知识库

5.2测试知识库


1.Ollama 本地化部署 DeepSeek R1

1.1下载Ollama

访问Ollama官网:Ollama

点击Download,根据你的操作系统(Windows、MacOS 或 Linux)选择对应的安装包进行下载。

1.2安装Ollama

下载完成后,运行安装程序,按照提示完成安装。

Windows:直接安装.exe文件,一步一步安装完毕即可。

Mac:将文件下载后,直接将Ollama程序拉到应有程序文件夹即可。

安装完成后,

打开终端或命令提示符(win键+R键,输入cmd回车),

输入以下命令来检查 Ollama 是否安装成功:

ollama --version

如果显示版本信息,说明安装成功。

1.3安装DeepSeek R1大模型

目前常用版本以及推荐硬件配置

入门级:1.5B版本(4GB内存+核显可运行)

进阶推荐:8B版本(8GB内存+4GB显存)

高性能设备:32B版本(32GB内存+12GB显存)

我选择的是8B版本

在cmd中输入

ollama run deepseek-r1:8b

过程较长,耐心等待即可

成功之后输入ollama list,出现模型信息即可。

ollama list

常用 Ollama 命令 列出本地可用的模型列表:ollama list

​ 启动模型:ollama run model_name

​ 查看模型信息:ollama show model_name

​ 删除指定模型:ollama rm model_name

 2.系统环境配置

2.1开启系统功能

通过控制面板,进入到“程序与功能”→“启用或关闭Windows功能”,下图中红色框框的选择框选中,然后点击确定进行安装。

  

2.2安装wsl

win+R,输入cmd回车,打开命令提示符窗口

在命令提示符中输入

wsl --install

微软官方教程:https://learn.microsoft.com/en-us/windows/wsl/setup/environment

3.安装 Docker Desktop拉取Anythingllm镜像

3.1从 Docker 官网 下载并安装。

Docker官方网址:Docker Desktop: The #1 Containerization Tool for Developers | DockerDocker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.https://www.docker.com/products/docker-desktop/

安装完成之后

3.2拉取镜像

命令提示符中输入

docker pull mintplexlabs/anythingllm

如果使用报错,可以改为国内镜像

改为使用国内镜像

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mintplexlabs/anythingllm:latest

改名

docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mintplexlabs/anythingllm mintplexlabs/anythingllm

拉取完成之后输入docker images,可以看到电脑中存在Anythingllm这个镜像了

  1. 设置 STORAGE_LOCATION 路径

在 CMD 中,你可以使用 set 命令来设置环境变量。假设你希望将 STORAGE_LOCATION 设置为 Windows 的文档目录,可以按以下步骤操作

设置存储目录

set STORAGE_LOCATION=%USERPROFILE%\Documents\anythingllm

 创建存储目录(如果目录不存在):

if not exist "%STORAGE_LOCATION%" mkdir "%STORAGE_LOCATION%"

创建 .env 文件(如果文件不存在):

if not exist "%STORAGE_LOCATION%\.env" echo. > "%STORAGE_LOCATION%\.env"

此时会在电脑文档的文件夹下,存在一个anythingllm文件夹该文件夹下存在一个.env文件,存放一些配置如下所示

.env 文件的作用

.env 文件是用于存储容器配置的环境文件,通常包含敏感信息和应用的配置参数。例如,配置大语言模型(LLM)、API 密钥、数据库连接等。容器运行时,它会读取 .env 文件并使用其中的配置信息。

关键配置项

在 .env 文件中,常见的配置项包括:

SERVER_PORT:指定服务器运行的端口。

JWT_SECRET:用于生成和验证 JWT(JSON Web Token)的密钥。

STORAGE_DIR:指定存储数据的路径。

LLM_PROVIDER:配置大语言模型提供者。

OLLAMA_BASE_PATH:配置 Ollama 服务的基础 URL 地址。

OPEN_AI_KEY:用于访问 OpenAI API 的密钥。

.env 文件中配置的内容会根据你的需求和使用的服务不同而有所变化。

3.3运行 Docker 命令

在 CMD 中,你可以使用单行命令运行 Docker:

docker run -d --name anythingllm --add-host=host.docker.internal:host-gateway --env STORAGE_DIR=/app/server/storage --health-cmd "/bin/bash /usr/local/bin/docker-healthcheck.sh || exit 1" --health-interval 60s --health-start-period 60s --health-timeout 10s -p 3001:3001/tcp --restart=always --user anythingllm -v %STORAGE_LOCATION%:/app/server/storage -v %STORAGE_LOCATION%\.env:/app/server/.env -w /app mintplexlabs/anythingllm

运行之后如下图,会启动一个容器,用一大串字母表示,该字母是Docker 为该容器分配一个唯一的 ID,这个 ID 主要用于在 Docker 系统中管理容器。你可以用这个 ID 来执行不同的 Docker 命令,比如停止容器、查看容器日志、查看容器状态等。

查看当前所有的容器,命令如下:

docker ps

可以看到我们已经成功启动一个容器

这条 Docker 命令启动了一个 AnythingLLM 容器,并通过挂载宿主机的存储目录和 .env 文件,使得容器能够持续存储数据并加载配置。容器以后台运行,并提供 Web 服务,可以通过 http://localhost:3001 访问应用。

4.anythingLLM环境配置

访问 http://localhost:3001 后,进行相关配置,如配置大语言模型(LLM)、向量数据库等。根据需要更新 .env 文件中的配置参数,如 SERVER_PORT、OPEN_AI_KEY 等。

点击左下角扳手,即可进行设置

5.创建知识库

5.1创建个人知识库

进入到AnythingLLM界面

在左侧工作区找到上传按钮,上传你的文档(如 PDF、TXT、Excel 、DOCX(DOC文件不行)等),选中上传的文档,点击“移动到工作区”。

步骤1

步骤2

步骤3

点击“Save and Embed”,对文档进行切分和词向量化

步骤4:点击图钉按钮,将这篇文档设置为当前对话的背景文

5.2测试知识库

测试知识库,下面显示引用了那个文件的内容,完成。

遵循上述步骤,你将能够迅速搭建一个局域网可访问专属的知识库,并借助DeepSeek、Ollama与AnythingLLM的强劲能力,达成高效的知识管理与问答功能。无论是对个人学习而言,还是企业办公场景,这样的本地知识库都将成为你的得力助手,带来显著便利。

若在部署环节遇到任何难题,欢迎随时在评论区留言探讨。


http://www.kler.cn/a/591862.html

相关文章:

  • 单片机开发资源分析的实战——以STM32G431RBT6为例子的单片机资源分析
  • Qt6.8实现麦克风音频输入音频采集保存wav文件
  • 代码随想录算法训练营第三十二天 | 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 【第15届蓝桥杯】软件赛CB组省赛
  • 3 C#调用visionPro的toolblock的步骤
  • Redis——事务实现以及应用场景
  • Linux下使用cgroup限制进程IO
  • 【Godot】CanvasItem
  • 神经外科手术规划的实现方案及未来发展方向
  • vue 获取当前时间并自动刷新
  • Spring 创建bean的流程
  • java项目40分钟后token失效问题排查(40分钟后刷新页面白屏)
  • 20242817李臻《Linux⾼级编程实践》第四周
  • [spring]集成junit
  • 在 Vue 项目中引入静态图片有多种方式
  • 从Excel到搭贝的转变过程
  • VSTO(C#)Excel开发13:实现定时器
  • 【模拟面试】计算机考研复试集训(第八天)
  • 免费看付费电影网站制作,高清电影集合搜索引擎网站
  • 【Json-RPC框架】:Json::CharReader,parse函数反序列化的返回值