前言
大模型(LLM),Large Language Model作为当前比较热门的技术,最近在年在各行各业中都得到了广泛的应用。
在我们目前使用较多的AI产品中,几乎都是使用的互联网(云端)上的AI工具,即:需要先把数据传输给AI平台,由AI平台处理后,再将信息回馈到我们的本地应用。
然而在许多领域,由于大模型的数据没有采集到更细化的信息,亦或者出于安全原因某些数据不能对外公开,这时使用离线大模型来实现信息的生成与检索则变得非常重要。
很久没用Spring的我,最近看到Spring官网出了Spring AI这个框架,出于好奇体验了下感觉非常不错,在此写篇博文记录下。
本文重点为:如何快速从0到1搭建一个离线大模型,并使用SpringAI进行交互调用。
ollama介绍与安装
ollama作为一个工具(且开源),让大模型的安装与运行变得非常简单。
ollama支持多种操作系统,为了方便可以直接使用Docker运行。
下载命令一行搞定:
sudo docker pull ollama/ollama:latest
ollama上手
ollama下载好后,直接运行
#运行ollama,并指定挂载目录和映射端口
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
#进入ollama容器
docker exec -it ollama bash
#运行ollama命令pull一个大模型,这里拉取具有图像识别能力的minicpm-v
ollama pull minicpm-v
ollama支持的大模型非常多,如google的gemma、facebook的llama、阿里的qwen通通都有,按需所取。
模型仓库地址为:https://ollama.com/library
大模型下载好了后,就可以使用ollama run
命令运行对应的模型,并可以进行命令行的文本交互
ollama run minicpm-v
open-webui安装
为了能获得更好的体验,可以使用开源的open-webui进行来访问离线大模型,UI界面和ChatGPT的非常像。
docker下拉取命令:
sudo docker pull ghcr.io/open-webui/open-webui:main
拉取好后直接运行:
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
这里笔者为了方便使用的是host网络,默认暴露的端口为8080,指定了webui存储数据的目录为/app/backend/data
,并指定了ollama的后端地址为http://127.0.0.1:11434
基本功能体验
通过上面几行命令安装好了ollama与open-webui,之后就可以体验下离线大模型的常用功能了。
访问方式:直接访问open-webui的ip+port就行。
如我这里的docker物理机为_192.168.140.8_,则访问地址为http://192.168.140.8:8080
智能对话
首次访问open-webui需要先本地注册,随便填一个账号信息就行,并且首次注册的账号也是管理员账号。
由于我前面下载的大模型为