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

DeepSeek+Maxkb+Ollama+Docker搭建一个AI问答系统

DeepSeek+Maxkb+Ollama+Docker搭建一个AI问答系统


文章目录

  • DeepSeek+Maxkb+Ollama+Docker搭建一个AI问答系统
  • 前言
  • 一、创建同一内网的网络
  • 二、拉取两个镜像
  • 三、启动Ollama以及调试Maxkb
  • 4.Maxkb创建一个应用并建立知识库
  • 5、应用效果
  • 总结


前言

我觉得只要是使用Docker技术,一般来说都不难,我的思路很简单

  • Deepseek只是一个模型而已
  • Maxkb的作用是本地知识库以及提示词设置
  • Ollama只是一个模型部署工具,可以开发Api给外部,但是安全风险有点大,不过,别把它的内网开放了就行,除非有人能从Maxkb的用户上登录并且能使用里面的python代码访问到Ollama,安全防护这一块自己去考虑就好了。
  • Docker就是懂一点命令和配置就能完成所有东西部署的技术。

一、创建同一内网的网络

创建一个docker的网络,命名为AI

创建网络

docker network create AI

下面是删除网络并查看网络的内容

  • 查看网络

    docker network ls
    
  • 删除网络

    docker network rm AI
    

这个网络的步骤在于使Ollama服务与Maxkb的服务处于同一子网

二、拉取两个镜像

  • 拉取Ollama镜像
docker run -d --gpus=all -e OLLAMA_KEEP_ALIVE=-1 --restart=always --network AI -v ~/.ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

挂载模型的地方在WSL里的~/.ollama

  • 拉取Maxkb镜像
docker run -d --name=maxkb --network AI --restart=always -p 18080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages 1panel/maxkb

拉取过来后
挂载的postgreSQL的数据库文件在这~/.maxkb:/var/lib/postgresql/data

这样都进行了持久化以及处于同一内网,并且-e OLLAMA_KEEP_ALIVE=-1设置了Ollama的模型一旦载入进Ollama就不会释放,除非直接停止Ollama或者停止使用模型。
在这里插入图片描述

三、启动Ollama以及调试Maxkb

  • ollama拉取deepseek
ollama pull deepseek-r1:8b

在这里插入图片描述

  • ollama拉取nomic-embed-text
ollama pull nomic-embed-text

在这里插入图片描述

  • 运行deepseek模型
ollama run deepseek-r1:8b

让其一直保持服务,模型一直加载在GPU
在这里插入图片描述
使用一下模型
在这里插入图片描述

4.Maxkb创建一个应用并建立知识库

用户名:admin
默认密码:MaxKB@123..
在这里插入图片描述

  • 创建应用

在这里插入图片描述

  • 创建应用

在这里插入图片描述

  • 点击创建模型

在这里插入图片描述

  • 按照这个填好

在这里插入图片描述
ApIkey随便填
然后其他的自己去摸索就行

5、应用效果

在这里插入图片描述


总结

对于这个技术,只是一个部署的技术,其实要想做一个非常良好的问答系统,还需要从这个基础上去微调模型以及高级编排一些内容,这样的话才能应用到各个行业中去。

相关文章:

DeepSeek+Maxkb+Ollama+Docker搭建一个AI问答系统

DeepSeekMaxkbOllamaDocker搭建一个AI问答系统 文章目录 DeepSeekMaxkbOllamaDocker搭建一个AI问答系统前言一、创建同一内网的网络二、拉取两个镜像三、启动Ollama以及调试Maxkb4.Maxkb创建一个应用并建立知识库5、应用效果总结 前言 我觉得只要是使用Docker技术,…...

江科大51单片机笔记【12】DS18B20温度传感器(上)

写在前言 此为博主自学江科大51单片机(B站)的笔记,方便后续重温知识 在后面的章节中,为了防止篇幅过长和易于查找,我把一个小节分成两部分来发,上章节主要是关于本节课的硬件介绍、电路图、原理图等理论…...

P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS

P8662 [蓝桥杯 2018 省 AB] 全球变暖--dfs 题目 解析讲下DFS代码 题目 解析 这道题的思路就是遍历所有岛屿,判断每一块陆地是否会沉没。对于这种图的遍历,我们首先应该想到DFS。 代码的注意思想就是,在主函数中遍历找出所有岛屿&#xff0c…...

【让POSTGRESQL支持MS SQLSERVER的 extension】 Babelfish for PostgreSQL介绍及源码安装

什么是 Babelfish for PostgreSQL? Babelfish for PostgreSQL(简称 Babelfish)是一个扩展(extension),使 PostgreSQL 兼容 Microsoft SQL Server(MSSQL),允许 MSSQL 客户端和应用程序直接连接到 PostgreSQL 数据库,而无需对 SQL 语法、T-SQL 存储过程、数据类型等进…...

Vue 侧边栏导航栏 el-menu单个item和多个item

在固钉的下面去写菜单导航栏。 <el-menu class"aside-menu" router :default-active"$route.path" :collapse"isCollapse" background-color"#131b27" text-color"#bfcbd9" active-text-color"#20a0ff" :defau…...

Unity Dots从入门到精通之 Prefab引用 转 实体引用

文章目录 前言安装 DOTS 包实体引用Authoring 前言 DOTS&#xff08;面向数据的技术堆栈&#xff09;是一套由 Unity 提供支持的技术&#xff0c;用于提供高性能游戏开发解决方案&#xff0c;特别适合需要处理大量数据的游戏&#xff0c;例如大型开放世界游戏。 本文讲解我在…...

无人机避障——XTDrone中运行VINS-Fusion+Ego-planner进行路径规划

本文聚焦于无人机避障技术领域的经典方案&#xff0c;重点探讨视觉双目VINS-Fusion建图与Ego-planner路径规划的组合应用。通过视觉双目VINS-Fusion实现精准的环境建图与自身定位&#xff0c;结合Ego-planner的高效路径规划能力&#xff0c;使无人机在复杂环境中实现自主避障飞…...

【沐渥科技】氮气柜日常如何维护?

氮气柜的维护是确保其长期稳定运行、延长使用寿命和保持环境控制精度的关键。以下是沐渥氮气柜的日常维护和定期保养指南&#xff1a; 一、日常维护 柜体清洁 定期用软布擦拭柜体表面和内部&#xff0c;避免灰尘堆积。避免使用腐蚀性清洁剂&#xff0c;防止损伤密封条或传感器。…...

MATLAB 控制系统设计与仿真 - 24

PID 控制器分析- 控制器的形式 连续控制器的结构&#xff1a; 为滤波时间常数&#xff0c;这类PID控制器在MATLAB系统控制工具箱称为并联PID控制器&#xff0c;可由MATLAB提供的pid函数直接输入&#xff0c;格式为&#xff1a; 其他类型的控制器也可以由该函数直接输入&#x…...

C# Excel开源操作库MiniExcel使用教程

简介 MiniExcel简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。 目前主流框架大多需要将数据全载入到内存方便操作&#xff0c;但这会导致内存消耗问题&#xff0c;MiniExcel 尝试以 Stream 角度写底层算法逻辑&#xff0c;能让原本1000多MB占用降低到几MB&#xff0…...

linux(权限)

sudo 主要用来短暂的提权 权限 就是 >角色目标属性 这里面的角色就是---拥有者----所属组----other 所属组的目的&#xff1f; 更细化的管理 chmod 就是修改权限制 我们要是想要切换到体育的账号&#xff0c;我们可以去看一下有几个账号,我…...

paimon---同步mysql数据到paimon表中

1.1、mysql源表 CREATE TABLE mysql_orders (order_id varchar(100) NOT NULL,user_id varchar(100) DEFAULT NULL,amount decimal(10,2) DEFAULT NULL,update_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),PRIMARY KEY (order_i…...

《OpenCV》—— dlib(换脸操作)

文章目录 dlib换脸介绍仿射变换在 dlib 换脸中的应用 换脸操作 dlib换脸介绍 dlib 换脸是基于 dlib 库实现的一种人脸替换技术&#xff0c;以下是关于它的详细介绍&#xff1a; 原理 人脸检测&#xff1a;dlib 库中包含先进的人脸检测器&#xff0c;如基于 HOG&#xff08;方向…...

修改Flutter项目使用的JAVA版本

使用Android studio开发Flutter过程中&#xff0c;会默认使用Android studio自带的JDK。因为新版Android studio中的JDK版本过高&#xff0c;导致项目编译时总是无法完成&#xff0c;报【 unsupported class file major version 65】错误&#xff0c;如下&#xff1a; 解决这个…...

虚拟dom的diff中的双端比较算法

‌双端比较算法是Vue中用于高效比较新旧VNode子节点的一种策略‌。该算法的核心思想是&#xff0c;通过从新旧VNode子节点的两端开始比较&#xff0c;逐步向中间靠拢&#xff0c;以找到最小的差异并据此更新DOM。以下是双端比较算法的大致流程&#xff1a; ‌初始化指针‌&…...

# 如何确认elementary os (linux)使用的是Wayland而不是x11?

如何确认elementary os &#xff08;linux&#xff09;使用的是Wayland而不是x11&#xff1f; 文章目录 如何确认elementary os &#xff08;linux&#xff09;使用的是Wayland而不是x11&#xff1f;**方法 1&#xff1a;使用 loginctl 命令&#xff08;systemd 系统&#xff0…...

VMware安装Windows server 2016

1、新建虚拟机&#xff0c;选择自定义模式 2、选择兼容性 4、命名虚拟机 5、固件类型 EFI 虚拟磁盘类型&#xff0c;不同电脑推荐的类型不同&#xff0c;用默认的就行 删除声卡和打印机 检查网络配置 选择本地的Windows server 2016的系统镜像&#xff0c;系统镜像可以去Window…...

K8s 1.27.1 实战系列(十)PV PVC

一、核心概念与关系 ​1、PV(Persistent Volume)​ PV 是集群中的持久化存储资源,由管理员预先创建并配置,独立于 Pod 生命周期。它抽象了底层存储(如 NFS、云存储等),定义存储容量、访问模式(如 ReadWriteOnce)、回收策略(Retain/Delete/Recycle)等属性。例如,一…...

HippoRAG 2 原理精读

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 整体流程离线索引阶段在线检索和问答阶段 总结 整体流程 从上图可以看出&#xff0c;整个流程分为两个阶段 1、离线索引阶段 2、在线检索和问答阶段 离线索引阶段…...

三:FFMPEG拉流读取模块的讲解

FFMPEG拉流读取模块在远程监控项目最核心的作用是读取UVC摄像头传输的H264码流&#xff0c;并对其码流进行帧的提取&#xff0c;提取完成之后则把数据传输到VDEC解码模块进行解码。而在我们这个项目中&#xff0c;UVC推流的功能由FFMPEG的命令完成。 FFMPEG拉流读取模块的API…...

linux makefile tutorial

一个makefile的教程&#xff0c;几个小时就能看完&#xff0c;对makefile有个总体加细节的系统了解&#xff0c;非常不错&#xff1a; Learn Makefiles With the tastiest examples 中文翻译版&#xff1a; 起步 - Makefile 教程 (gavinliu6.github.io) gcc官网手册&#x…...

【从零开始学习计算机科学】操作系统(五)处理器调度

【从零开始学习计算机科学】操作系统(五)处理器调度 处理器调度一些简单的短程调度算法的思路先来先服务(First-Come-First-Served,FCFS)优先级调度及其变种最短作业优先调度算法(SJF)--非抢占式最短作业优先调度算法(SJF)--抢占式最高响应比优先调度算法轮转调度算法…...

视觉图像处理

在MATLAB中进行视觉图像处理仿真通常涉及图像增强、滤波、分割、特征提取等操作。以下是一个分步指南和示例代码,帮助您快速入门: 1. MATLAB图像处理基础步骤 1.1 读取和显示图像 % 读取图像(替换为实际文件路径) img = imread(lena.jpg); % 显示原图 figure; subplot(2…...

从零开始设计一个完整的网站:HTML、CSS、PHP、MySQL 和 JavaScript 实战教程

前言 本文将从实战角度出发&#xff0c;带你一步步设计一个完整的网站。我们将从 静态网页 开始&#xff0c;然后加入 动态功能&#xff08;使用 PHP&#xff09;&#xff0c;连接 数据库&#xff0c;最后加入 JavaScript 实现交互功能。通过这个教程&#xff0c;你将掌握一个…...

JavaScript(Web APIs)

这个阶段两天也能看完 目录 壹_DOM-获取元素 00、获取DOM元素&#xff08;根据CS选择器来获取DOM元素&#xff09; 01、修改元素内容 02、修改CSS 03、H5自定义属性 04、定时器 贰_DOM-事件基础 00、事件监听 01、事件类型 02、事件对象 03、环境对象 04、回调函数 叁_DOM-事…...

Global top sap abap 和deepseek对话,测试其abap推理能力

我提交给deepseek一段代码 FUNCTION zXXX_hr_pafm_pannnn_up. *"---------------------------------------------------------------------- *"*"Local Interface: *" IMPORTING *" VALUE(IS_PRELP) TYPE PRELP OPTIONAL *" VALUE(IV…...

Android DUKPT - 3DES

一、DUKPT概述 DUKPT 即Derived Unique Key Per Transaction&#xff08;每个事务的派生唯一密钥&#xff09;。ANSI X9.24规范定义的密钥管理体系&#xff0c;主要用于对称密钥加密场景&#xff08;如MAC、PIN等敏感数据保护&#xff09;。通过动态生成唯一交易密钥&#xff…...

机器学习数学基础:45.多重响应分析

多重响应分析超详细教程&#xff1a;手把手教你分析多选题数据 一、深入理解多重响应分析的背景 问卷调查中&#xff0c;问题分为单选题与多选题&#xff1a; 单选题&#xff1a;如“你的性别&#xff1f;1.男 2.女”&#xff0c;答题者仅选一个选项&#xff0c;分析时直接统…...

《苍穹外卖》SpringBoot后端开发项目核心知识点与常见问题整理(DAY1 to DAY3)

目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功&#xff1a; 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具&#xff1a;Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…...

企业安全—对数据和资产进行识别和分类

0x00 前言 针对数据和资产的保护刻不容缓&#xff0c;这个是每一个做企业安全建设不容放过的一环&#xff0c;那么在识别数据和资产已经对这些数据分类就是必须要了解和掌握的内容。 这里不仅是针对商业机密&#xff0c;还有用户数据&#xff0c;前者在于保护公司利益&#x…...