在某AI产品发布会上,我们需要演示在个人PC上运行大模型的能力。为了实现这一目标,我们进行了深入的市场调研和技术评估,最终选择了Open WebUI和Ollama作为演示的核心工具。
目录
一、介绍
二、部署
三、代码展示
一、介绍
- 什么是Ollama
Ollama是一个开源的大型语言模型服务工具,它帮助用户简化在本地机器上部署和运行大型语言模型(LLM)的过程。这个框架提供了一套工具和命令,使得用户能够轻松地启动和使用各种流行的LLM,比如qwen,mistral等,更多大模型请参考available models(https://ollama.com/library)。
- 什么是Open WebUI
Open WebUI 是一个开源项目,为本地大语言模型提供一个图形化界面。Open WebUI 支持各种 LLM 运行器,包括 Ollama 和 OpenAI 兼容的 API。它是一个自托管的 WebUI,可以在完全离线状态下运行,所有数据都存储在本地设备上。
Ollama + Open WebUI组合,支持在个人PC上运行LLM,并且通过Open WebUI图形化界面使得用户能更方便的调用Ollama提供的LLM能力,完美的契合了演示需求。
二、部署
环境:windows 11
- Ollama部署
在我写这篇文章的时候,Ollama已经发布了Windows版本,直接去官网下载对应版本的安装包就好了, Ollama下载(https://ollama.com/download)。
下载之后文件如下图,双击.exe文件,傻瓜式安装就好了。
安装好之后运行你想要的大模型,比如我想运行 qwen0.5b,可以执行以下命令:
ollamarunqwen:0.5b
更多模型可以进到对应模型详情页下,如下图,左侧下拉框选择你想要的模型,执行右侧命令即可。
- Open WebUI部署
有编程经验的,感兴趣可以去Github下载源码本地部署调试,这里介绍Docker部署。
编程小白在部署Open WebUI之前可以下载Docker Desktop(https://www.docker.com/products/docker-desktop/),下载之后傻瓜式安装。
Docker安装好之后拉取Open WebUI镜像,执行以下命令,这个过程比较长,耐心等待就好。
docker pull ghcr.io/open-webui/open-webui:main
启动Open WebUI容器,执行以下命令:
docker run -d -p3000: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
启动成功,浏览器访问 http://localhost:3000/,首次注册的用户为系统管理员,登录之后页面如下图,开始聊天之前选择想要的模型,就可以开始和大模型对话了。
来一段简易的对话:
可以看到,对话不仅支持普通的文本信息,还支持文件,大模型根据指定的文件做出分析回答。除此之外,在Workspace页,可以添加提示词(Prompt),在聊天界面通过@,#等命令引用对应的文档,提示词,让用户可以更高效的和大模型沟通。
至此,我们已经在本机上搭建起了一套大模型环境,即使在离线情况下也不影响使用。数据都存储在本地,也不用担心安全问题。
三、代码展示
关于离线和数据安全这部分,展示一下相关代码:
我们没有做额外的环境变量配置,所以这里的路径都是默认的路径,DATABASE_URL (数据库地址)指向的就是应用程序代码下的data目录。
系统会通过上面的DATABASE_URL路径创建数据库,并执行apps/web/internal/migrations下的脚本创建数据库结构等。
再看应用程序对应的文件,相应目录下确实存在webiu.db文件,存的是交互的数据,包含聊天记录,授权信息等,前面演示聊天上传的文件也在另外一个目录下。证明我们的数据信息都是保存在本机上,不会存在信息泄露的问题。
可以看到,系统会根据选择的模型得到Ollama服务的地址,再向其发送聊天请求,得到大模型的回答之后再返回给客户端。因为我们的Ollama服务是在本地运行的,所以这个请求最终还是由本机来处理,不涉及到联网请求。我将电脑网络断掉,仍然可以正常收到回答就更直观的验证了这一点。
有了客户端源码,也有了Ollama提供的本地大模型服务,我们可以根据自己需求对Open WebUI进行重新设计改造,保证了发布会顺利进行。
在本地集成AI(AI PC)目前不仅是一个概念,已有公司发布了相关产品,为用户带来了许多新的体验和便利。未来,我们的个人电脑就是一个强大的人工智能,为我们的学习办公提供更高效智能的帮助。
作者:张敏|高级前端开发工程
更多AI小知识欢迎关注“神州数码云基地”公众号,回复“AI与数字化转型”进入社群交流
版权声明:文章由神州数码武汉云基地团队实践整理输出,转载请注明出处。