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

本地部署大模型并使用知识库Windows下Ollama+Docker+MaxKB安装的记录

概要

本文介绍本地部署大模型和知识库的小白方法,可以运行较多种类的大模型,使用的软件为docker和ollama以及MaxKb作为知识库前端。

下载

各安装包可以百度去官网或者github下载或使用,也可以点击下面的的链接和我下载相同的版本。

 ollama

docker

MaxKB

安装docker

打开安装包然后一路默认即可。

选择它推荐的配置。

安装ollama

然后安装ollama。双击然后一路默认。

d3b94e787a35486c8433b76e8970b760.png

 

 安装完成:

win+R输入cmd进入命令行,输入ollama

678a73c792dd413599735174ee80fce1.png

去挑一个你能带动的模型点击去:

下载模型并运行

library (ollama.com)

点进去,左边选参数大小,右边复制命令。win+R输入cmd回车。右键粘贴。

468105c328d64936a95eaa2118950f4b.png

我是2060,和我差不多普通人建议7B以下。

运行 7B 模型需要至少 8GB 的 RAM,运行 13B 模型需要 16GB RAM,运行 33B 模型需要 32GB RAM。我是32gb,但是显卡不够强,我会一步步提高参数量看看能运行到哪一个为止。

各位同学任意选一个即可。

比如:

ollama run qwen2

管理命令:

serve:启动 Ollama
create:从 Modelfile 创建模型
show:显示模型信息
run:运行模型
pull:从注册表中拉取模型
push:将模型推送到注册表
list:列出模型
ps:列出正在运行的模型
cp:复制模型
rm:删除模型
help:查看任何命令的帮助

下载之后:


>>> 你是谁?
I am a virtual assistant.>>> 你能用中文回答我吗?
Yes, I can assist you in Chinese as well as English.>>> 从现在开始使用中文
Of course! Please let me know if there is anything else I can help with.>>> ok,给我把这句话翻译成中文:你是谁
Sure, I'd be happy to help you translate that sentence into Chinese for you. 你是谁?>>> ok,给我把这句话翻译成中文:i am wuyi
I'm sorry, but I don't have that information in my system. Would you like me to find it for you?>>> yes
Okay, let me see what I can do. Please give me a moment.

我下的是比较一般的模型,我们试一试另外一个:

 千问数学版:

ollama run qwen2-math

f92d9902152e45359cadb888f2cd0f77.png

好吧,好像还是很呆。 

llama3.1的8b版本 

ollama run llama3.1

c74f38483a9344e584ae3f7b50805662.png

也是错了。可能是我电脑性能限制?

总之我们的模型测试的差不多了。

按ctrl+d退出问答。

安装MaxKB

接着,安装MaxKB。

win+R打开命令行:

docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb

初始: 

# 用户名: admin
# 密码: MaxKB@123..

等待下载完成,之后docker会自动启动。

点击下面的连接,你应该能够看见 ,使用账号密码登录。

 MaxKB

27767eb54a8645c68a6cfcbd386aef93.png

 管理模型:

34693fc1f83c4df3bb3d8f795d116003.png 

添加模型

选择ollama: 

bdffdca1ebd14ee9af89bb4acd63b807.png 

模型名称随意,公私有自己考虑,如果你要给其他人用就用公有。 

 503b0bb2542d4073b3154f1b49754d05.png

模型选择:

在命令行输入:ollama -list

然后复制名字到基础模型那一栏。

f83d7817316e4241a0b8eace4a473973.png

当然了,你直接下拉栏中选择一个也可以哦。 

APi域名

如果你的ollama是安装在容器中,那么你可以直接在api域名处输入你的ip地址加上11434.

注意我们的MaxKB是安装在docker容器中的,所以访问外部的ollama需要使用。

http://host.docker.internal:11434/

apikey随意填写。

创建应用

e20c505b2e9843c29edf5dbcd6aae9ac.png

初次使用:

56d46bd8cec54dff81b52d09e1e652f5.png

创建:选择模型:

00125033393e44d5b2cf9146ff01a3f2.png

请注意,这里这样使用相当于只是多了一个前端,不过你可以对使用进行修改。 

 5e0eed9018a345508368da802670e214.png

切换模型即可得到新模型的回答:

b25c34dabf4f4ae4b6c7f12da59514f9.png

 使用就是这么简单。

创建知识库

ac9d1f066a69407da770d936f8c872ca.png

fa20b27933a1463e86bbc81b74cc935c.png

如果你选择web站点并且填写csdn就会如图所示:

c5a839e29f954240a278047893f5a22b.png

当然了事实上不是这么用的,你得挑选网页上的内容,不能直接把主页扔进去。

一下子多了一百多条:

f0014ba64428496db3cbed852fa29978.png

本地文档上传会更加方便:

31e9f823179348fca395bb2500101d75.png

 点击上传文档,选中文件上传,右下角创建导入:

 

 de119abe92cf45bda1a590033f014f54.png

 

871b29fafeb949eca620ed28329b4441.png

 

 

选择上传文档会进行自动智能分段,右下角导入即可。

导入后如图:

3a3bd1d43f4f4ee5bbb54440bf212b99.png

聊天可以选择关联知识库:

 未关联:

0307fdb45c844694b0e38dd7f4a1d023.png

关联后:

8dcf01524a134dc4a0b60d1c16e26a6b.png

比较难用啊。

换个问题:

这不就来了吗?

ed341a715b9e4a2cba8488ab017cbdaa.png

 创建函数库

f616c95453e2498f8573c276da382054.png

这个就不多介绍了。记录就到这里,通宵有点累了。 

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • VMware虚拟机经常性卡死,打开运行一段时间后卡死,CPU占比增至100%
  • 【STM32】DAC数字模拟转换
  • 【BurpSuite】Cross-site scripting (XSS 学徒部分:1-9)
  • Go 并发模式:扩展与聚合的高效并行
  • GPT对话知识库——将寄存器中的一位数据读到变量中需要什么步骤?C语言中掩码的作用。
  • SpringBoot使用@Async注解,实现异步任务
  • 硬件工程师笔试面试——无线通讯模块
  • Go并发编程的高级技巧——请求复制与限流
  • 数据结构之二叉树的暴力删除
  • Golang | Leetcode Golang题解之第415题字符串相加
  • 直播音频解决方案
  • 牛客周赛 Round 60(思维、逆元、组合数、概率DP)
  • Java 入门指南:JVM(Java虚拟机)—— Java 类加载器详解
  • 【iOS】单例模式
  • 基于python+django+vue的图书管理系统
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【Linux系统编程】快速查找errno错误码信息
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Gradle 5.0 正式版发布
  • input的行数自动增减
  • JAVA之继承和多态
  • js作用域和this的理解
  • Spring Cloud中负载均衡器概览
  • WebSocket使用
  • 编写符合Python风格的对象
  • 缓存与缓冲
  • 前端
  • 听说你叫Java(二)–Servlet请求
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #、%和$符号在OGNL表达式中经常出现
  • #{}和${}的区别是什么 -- java面试
  • (04)odoo视图操作
  • (3)nginx 配置(nginx.conf)
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (Python) SOAP Web Service (HTTP POST)
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (顺序)容器的好伴侣 --- 容器适配器
  • (转)我也是一只IT小小鸟
  • .java 9 找不到符号_java找不到符号
  • .NET Core 中插件式开发实现
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 中的轻量级线程安全
  • .net反编译工具
  • .net反混淆脱壳工具de4dot的使用
  • .net快速开发框架源码分享
  • //解决validator验证插件多个name相同只验证第一的问题
  • :=
  • @ResponseBody
  • [012-1].第12节:Mysql的配置文件的使用
  • [10] CUDA程序性能的提升 与 流
  • [17]JAVAEE-HTTP协议
  • [20140403]查询是否产生日志
  • [Angular] 笔记 20:NgContent