自学内容网 自学内容网

AI系列:10分钟在本地启动大模型

前言

随着对AI技术尤其是大语言模型的了解和开源项目的发展,相信很多人已经逐渐熟悉这门技术。如果你也想尝试一下,不妨试试花10分钟时间在本地来运行一个简单的大语言模型。

这篇文章主要介绍如何使用Ollama来运行大语言模型,以及Open WebUI来提供Web界面。


环境

设备:我的笔记本MacBook Air M1芯片,8G RAM
大模型:Google gemma:2b (笔记本配置低,只能运行低参数的大模型)
运行环境:Ollama
界面:Open WebUI


使用Ollama运行大模型

Ollama支持大部分开源大模型,这些大模型在被量化之后,可以运行在配置较低的环境里。Ollama支持MacOS, Linux以及Windows。

首先你需要在Ollama的主页下载并安装Ollama软件。

Ollama library可以查看支持的模型列表。比如gemmma:2b的详细信息在这里可以看到。它的具体参数个数为2.51b,模型大小为1.7g。

在命令行窗口里,使用ollama run命令,指定模型作为参数。Ollama将自动拉取大模型并运行:

% ollama run gemma:2b
pulling manifest
pulling c1864a5eb193… 100% ▕███████████████████████████████████████████████████████████████████████████▏ 1.7 GB
pulling … 省略进度部分
verifying sha256 digest
writing manifest
removing any unused layers
success

成功后将直接进入大模型命令行交互界面,在这里可以和大模型进行对话:

>>> 你好
你好! 我是大型语言模型,由 Google 训练的。我是一个聊天机器人,可以提供许多帮助性的功能。你想做什么呢? 🤔
>>>
Use Ctrl + d or /bye to exit.
>>>

这个大模型因为参数低,“智力”不算太好,可以用来练练手。


使用Open WebUI访问大模型

Open WebUI也是一个开源项目。它可以帮你快速搭建AI的用户界面。它支持Ollama和OpenAI的API。从这里可以访问Open WebUI的详细文档。

我们使用官方推荐的docker方式来启动程序。
下面这个命令用于Ollama运行在本地环境的情况。这里,我将环境变量WEBUI_AUTH设置为False,这将禁用用户检查并跳过用户登陆界面。

% docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -e WEBUI_AUTH=False -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Web方式访问

我们使用浏览器访问地址http://localhost:3000
首先,在网页的左上角,编辑/选择模型列表,这里gemma:2b默认被自动识别出来。然后就可以使用界面进行与大模型的交互了。
在这里插入图片描述

API方式访问

同时,Open WebUI提供Restful API方式访问大模型。可以在官方文档查看它所支持的所有的API节点。
这里以Chat Completions接口为例。在访问该接口之前,需要通过浏览器页面中的设置-》账号页面来设置API密钥,并替换命令中的Authorization访问头。

 % curl -X POST http://localhost:3000/api/chat/completions \

> -H "Authorization: Bearer sk-7fe6ce3a46b34826b48bc4009dcc2135" \
> -H "Content-Type: application/json" \
> -d '{
      "model": "gemma:2b",
      "messages": [
        {
          "role": "user",
          "content": "你好"
        }
      ]
    }'

API响应如下:

{“id”:“gemma:2b-4a86aeee-cb5b-44cd-93c9-25f197196de5”,“created”:1728621784,“model”:“gemma:2b”,“choices”:[{“index”:0,“logprobs”:null,“finish_reason”:“stop”,“message”:{“content”:“你好!很高兴你来。请问您有什么问题我可以帮你解决吗?”,“role”:“assistant”}}],“object”:“chat.completion”}


资源监测

采取一个简单的方式做测试,发送命令让大模型生成一个比较长的文章。期间监测大模型的资源占用情况。

CPU/GPU

这张截图是大模型在生成响应时的资源使用情况。我们观察到在大模型生成响应的过程中,%GPU的数值从0.0上升到82.4,%CPU的数值从0.0上升到10.8。GPU的消耗比较高。
在这里插入图片描述

这是大模型生成响应结束后的资源情况。ollama_llama_server进程的%CPU和%GPU回落到0.0。
在这里插入图片描述

内存

内存的变化不是太明显。在大模型生成响应时,操作系统的内存使用量,整体上升了大概1G(黄色区域),从6G多到7G多。
在这里插入图片描述

ollama相关的进程内存使用量没有观察到太大变化。
在这里插入图片描述


退出

在实验完成后,退出Ollama程序:
Alt

停止docker 容器实例open-webui:
在这里插入图片描述


一切顺利!

参考网页


原文地址:https://blog.csdn.net/liyane/article/details/137969151

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!