当前位置: 首页 > 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、应用效果

在这里插入图片描述


总结

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


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

相关文章:

  • 数字IC后端设计实现教程 |Innovus ICC2 Routing Pin Access Setting设置方法
  • coze ai assistant Task 1
  • Java集成消息队列实战:从RabbitMQ到Kafka的完整解决方案 [特殊字符]
  • 雷池WAF上游服务器访问状态异常的解答
  • 提升工地安全:视觉分析助力挖掘机作业监控
  • 【FreeRTOS】FreeRTOS操作系统在嵌入式单片机上裸机移植
  • HarmonyOS:应用文件概述(通俗易懂解释版)
  • 《Spring日志整合与注入技术:从入门到精通》
  • 学习文章:Spring Boot 中如何使用 `@Async` 实现异步处理
  • CTF杂项——[陇剑杯 2023]WS(一~四)
  • 软考高级信息系统项目管理师笔记-第20章高级项目管理
  • Web3 中的智能合约:自动化与去信任化的力量
  • 中信银行太原分行营业部开展“金融知识普及共筑消费安全”宣传活动
  • 浪潮英政服务器CS5420H2配置阵列时报错The reguested command has inualid arguments.解决方法
  • 国产编辑器EverEdit - 兼具小巧、灵活、强大的语法着色管理
  • nodejs学习笔记
  • 时序数据库TimescaleDB基本操作示例
  • LWIP网络模型及接口简介(DAY 01)
  • 深入探索 Rust 的高级 Traits
  • 软件安全分析与应用之漏洞利用(一)