AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AGI|如何在本地运行大型语言模型?
发布日期:2024-07-30 18:24:15 浏览次数: 1796


pen WebUI和Ollama介绍

在某AI产品发布会上,我们需要演示在个人PC上运行大模型的能力。为了实现这一目标,我们进行了深入的市场调研和技术评估,最终选择了Open WebUI和Ollama作为演示的核心工具。

 作者 

张敏 |高级前端开发工程师

Hello World


Part1

介绍


什么是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能力,完美的契合了演示需求。



Part2

部署


环境:windows 11


Ollama部署


在我写这篇文章的时候,Ollama已经发布了Windows版本,直接去官网下载对应版本的安装包就好了,  Ollama下载(https://ollama.com/download)。


下载之后文件如下图,双击.exe文件,傻瓜式安装就好了。



安装好之后运行你想要的大模型,比如我想运行 qwen0.5b,可以执行以下命令:


ollama run qwen: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 -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

 

启动成功,浏览器访问 http://localhost:3000/,首次注册的用户为系统管理员,登录之后页面如下图,开始聊天之前选择想要的模型,就可以开始和大模型对话了。



来一段简易的对话:



可以看到,对话不仅支持普通的文本信息,还支持文件,大模型根据指定的文件做出分析回答。除此之外,在Workspace页,可以添加提示词(Prompt),在聊天界面通过@,#等命令引用对应的文档,提示词,让用户可以更高效的和大模型沟通。


至此,我们已经在本机上搭建起了一套大模型环境,即使在离线情况下也不影响使用。数据都存储在本地,也不用担心安全问题。



Part3

代码展示


关于离线和数据安全这部分,展示一下相关代码:




我们没有做额外的环境变量配置,所以这里的路径都是默认的路径,DATABASE_URL (数据库地址)指向的就是应用程序代码下的data目录。



系统会通过上面的DATABASE_URL路径创建数据库,并执行apps/web/internal/migrations下的脚本创建数据库结构等。



再看应用程序对应的文件,相应目录下确实存在webiu.db文件,存的是交互的数据,包含聊天记录,授权信息等,前面演示聊天上传的文件也在另外一个目录下。证明我们的数据信息都是保存在本机上,不会存在信息泄露的问题。




可以看到,系统会根据选择的模型得到Ollama服务的地址,再向其发送聊天请求,得到大模型的回答之后再返回给客户端。因为我们的Ollama服务是在本地运行的,所以这个请求最终还是由本机来处理,不涉及到联网请求。我将电脑网络断掉,仍然可以正常收到回答就更直观的验证了这一点。


有了客户端源码,也有了Ollama提供的本地大模型服务,我们可以根据自己需求对Open WebUI进行重新设计改造,保证了发布会顺利进行。


在本地集成AI(AI PC)目前不仅是一个概念,已有公司发布了相关产品,为用户带来了许多新的体验和便利。未来,我们的个人电脑就是一个强大的人工智能,为我们的学习办公提供更高效智能的帮助。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询