一、模型部署
1、下载ollama(大模型本地部署工具),并安装
下载网址:https://ollama.com/
ollama是大模型部署方案,对应docker,本质也是基于docker的容器化技术。
2、下载大模型
在命令框,如windows系统在cmd窗口输入命令
ollama run [model name]
模型名称可以去ollama官网搜索,一般来说7b需要8G内存,13b需要16GB的内存,70b需要64GB的内存
至此就可以在命令框和大模型进行交互,但是这种方式太远古了
我们可以使用一个图形化的界面进行操作,可以使用Open WebUI
3、其他
在与模型交互在过程中的命令
结束对话:a. Ctrl+D
Ollama的两种模式
1、聊天模式:对话模式和查询模式
对话模式:大模型会根据给的文档和已有的知识储备综合起来回答问题
查询模式:大模型只是根据文档进行回答
2、服务器模式:让ollama后端去运行大模型,然后它会开放一个端口给到所有的软件,这些软件通过这个端口就能去调用这些大模型的能力
开启服务器模式:在终端里输入 ollama serve
二、图形化界面部署
要安装Open WebUI 需要先安装docker
docker官网:docker-toolbox-windows-docker-for-windows安装包下载_开源镜像站-阿里云
安装注意事项:
直接执行exe文件会出现如下错误:
问题在于,docker desktop部署在windows上运行docker服务是基于windows的Hyper-V服务和WSL2内核的Windows上创建一个子系统(Linux),所以电脑上需要开启Hyper-V服务,并且安装WSL2(Windows下的Linux子系统)。
WSL 是 Windows Subsystem for Linux 的缩写,它是 Windows 10 操作系统的一项功能,使你能够在 Windows 上直接运行 Linux 文件系统,以及 Linux 命令行工具和 GUI 应用程序,并与传统的 Windows 桌面和应用程序一起运行。
- 需要启动 Windows Hyper-V 和容器特性
直接搜索 启动或关闭Windows功能,勾选Hyper-V相关的功能
如果没有Hyper-V这个选项,需要新建一个文件命名为Hyper.cmd,文件中输入以下内容: 然后以管理员身份运行,之后重启电脑就可,window专业版自带Hyper这个功能
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
安装wsl,在命令行(以管理员身份运行)执行
wsl --updatewsl --install
一定要确保电脑已经开启了虚拟化
docker类似于一个虚拟的容器,它会把所有需要的依赖、资源全部打包在这个容器里,然后再放到系统上去运行。需要执行如下命令
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
会弹出如下web UI的界面,如果没有,可以尝试在地址栏输入loaclhost:3000
webUI除了包含基本的聊天功能外,还包含RAG能力,无论是网页还是文档都可以作为参考资料给到大模型
如果希望谷大模型读取网页,需要在链接前面加#号
可以点击+号上传文档
在对话框中输入#可以出现导入的文档
三、Anything LLM(搭建知识库)
启动ollama服务器模式,将ollama base url对应的链接镰刀Anything LLM软件里
这个时候软件就会通过链接读取可以加载的模型,这些模型都是用来生成内容的模型
下载地址:Download AnythingLLM for Desktop
第一步:选择模型,可以是商用大模型也可以是本地模型,这里选ollama
第二步:选嵌入模型,这里选默认AnythingLLM Embedder
第三步:选向量数据库,这里选默认lanceDB
第四步:输入workspace的名字,workspace就是将不同的知识库分隔成一个个工作区,可以点击上传按钮,上传文档、网页等
两个关键
1、嵌入模型
把上传的文本,表格数据处理成数字形式的一种低维嵌入向量数据,就是负责把高维度的数据转化为低维度的嵌入空间,这个数据处理的过程在RAG中非常重要
2、向量式数据库
专门用来高效处理大规模的向量数据
四、外部访问
1、安装ngrok(内网穿透工具)
给open WebUI 生成一个可以访问的地址,允许在外网的情况下能够访问
打开cmd,以管理员身份运行
choco install ngrok choco -v
注意:
如果执行choco install ngrok报错,说明电脑上还没有安装此工具
需要先执行如下命令安装
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
执行choco,出现如下代表安装成功
2、获取身份令牌
登录ngrok官网,选择Your Authtoken
粘贴认证令牌,复制到终端
3、指定外部需要访问的端口
ngrok http http://localhost:3000