本地运行 Google 最新开源的 Gemma 系列模型,只需5分钟
昨天,Google 宣布开源 Gemma 模型,其中包含了 Gemma-2b-it 与 Gemma-7b-it,加入开源 LLM 大家庭。
Google Gemma 模型系列专为一系列文本生成任务而设计,例如问答、摘要和推理。 这些轻量级、最先进的模型采用与 Gemini 模型相同的技术构建,提供文本生文本、仅限 decoder 的功能。 Gemma 系列是英文大模型,有开放权重、预训练变体和指令调整版本,使其适合在资源有限的环境中部署。根据谷歌的文章,Gemma-7b 比 同样参数的 Llama-2 7B性能更好,甚至超越了 Llama-2 13B。
本文中,以 Gemma-7b-it 为例,我们将介绍一下内容。你可以参考本文,更改命令行上的模型名称来运行 Gemma-2b-it。
- 如何在自己的设备上运行 Gemma-7b-it
- 如何为 Gemma-7b-it 创建兼容OpenAI的API服务
我们将使用 LlamaEdge(Rust + Wasm技术栈)来为该模型开发和部署应用程序。无需安装复杂的 Python 包或 C++ 工具链!了解我们为何选择此技术栈。
在自己的设备上运行 Gemma-7b-it
步骤1:通过以下命令行安装WasmEdge。
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- --plugin wasi_nn-ggml
步骤2:下载 Gemma-7b-it 模型 GGUF 文件。模型大小为 5.88G ,下载可能需要一定时间。内存有限的话,也可以使用 Gemma-2b-it,Q5_K_M 的大小为 1.36G,并且性能相当不错。
curl -LO https://huggingface.co/second-state/Gemma-7b-it-GGUF/resolve/main/gemma-7b-it-Q5_K_M.gguf
步骤3:下载一个跨平台的可移植 Wasm 文件,用于聊天应用。该应用让你能在命令行中与模型聊天。该应用的 Rust 源代码在这里。
curl -LO https://github.com/LlamaEdge/LlamaEdge/releases/latest/download/llama-chat.wasm
就是这样。可以通过输入以下命令在终端与模型聊天。
wasmedge --dir .:. --nn-preload default:GGML:AUTO:gemma-7b-it-Q5_K_M.gguf llama-chat.wasm -p gemma-instruct -c 4096
这个可移植的 Wasm 应用会自动调用设备上的硬件加速器(例如GPU加速)。
[You]: Create JSON for the following: There are 3 people, two males, One is named Mark. Another is named Joe. And a third person, who is a woman, is named Sam. The women is age 30 and the two men are both 19. [Bot]: { "people": [ { "name": "Mark", "age": 19 }, { "name": "Joe", "age": 19 }, { "name": "Sam", "age": 30 } ] }
为 Gemma-7b-it 创建兼容 OpenAI 的 API 服务
一个兼容 OpenAI 的 Web API 能让模型与不同的 LLM 工具和代理框架(如 flows.network、LangChain 和 LlamaIndex)一起工作。
下载一个 API 服务器应用。它也是一个跨平台的可移植 Wasm 应用,可以在不同 CPU、GPU 等设备运行。
curl -LO https://github.com/LlamaEdge/LlamaEdge/releases/latest/download/llama-api-server.wasm
然后,下载聊天机器人 Web UI,从而通过聊天机器人 UI 与模型进行交互。
curl -LO https://github.com/LlamaEdge/chatbot-ui/releases/latest/download/chatbot-ui.tar.gz tar xzf chatbot-ui.tar.gz rm chatbot-ui.tar.gz
接下来,使用以下命令行启动模型的 API 服务器。然后,打开浏览器访问 http://localhost:8080 开始聊天!
wasmedge --dir .:. --nn-preload default:GGML:AUTO:gemma-7b-it-Q5_K_M.gguf llama-chat.wasm -p gemma-instruct -c 4096
从另一个终端, 你可以使用 curl 与 API 服务器进行交互。
curl -X POST http://localhost:8080/v1/chat/completions \ -H 'accept:application/json' \ -H 'Content-Type: application/json' \ -d '{"messages":[{"role":"system", "content": "You are a sentient, superintelligent artificial general intelligence, here to teach and assist me."}, {"role":"user", "content": "Write a short story about Goku discovering kirby has teamed up with Majin Buu to destroy the world."}], "model":"Gemma-7b-it"}'
就是这样啦。WasmEdge 是运行 LLM 应用最简单、最快、最安全的方式。试试看吧!
联系我们!
加入 WasmEdge discord 提问并分享见解。
对运行此模型有疑问?请访问 second-state/LlamaEdge 提 issue 或预约演示,跨设备上享运行 LLM!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Rainbond实战:3分钟搭建一个私有笔记服务-Joplin
Joplin 是一款开源的笔记和待办事项应用程序,支持Markdown编辑和多端同步,并且可以私有化部署,对于像我这样习惯使用Markdown写作的人来说,简直是一大福音。在此之前我用过一些云笔记服务,但是随着“降本增效”,数据的安全性无法保障,因此我将注意力转向了可以私有化部署的笔记服务。 Joplin 本身是一个客户端软件,下载即用。但是如果需要多端同步,则需要部署私有化服务或者选择官方提供的 Joplin Cloud。本文将介绍如何通过 Rainbond 在 3 分钟内部署好这个私有笔记服务。 Joplin:功能全面的私有笔记服务 Joplin 是一个完全开源的笔记程序。支持 Windows、Mac、安卓、iPhone 全平台。所有笔记以开放的格式保存在本地,可以离线使用,同时还支持多种同步方式,你可以完全掌握你的数据。 Joplin 有以下优点: 代码开源,已经有接近 41k Star,稳定性有保障 支持完全离线使用,并且采用了端到端加密 支持多种同步方式,可以自建 Joplin Server、兼容各类 S3 协议的对象存储、文件系统等多种同步方式 支持从其他笔记平台导入已有笔...
- 下一篇
🎉Laravel + Vue3 前后端分离后端框架 CatchAdmin v3.1.9 发布
介绍 CatchAdmin是一款基于Laravel和Element Plus二次开发而成后台管理系统。Laravel社区也有许多非常优秀的后台管理系统,例如Nova, 官方出品,当然是收费的,免费的有基于Livewire的Filament,还有不得不说的Laravel Admin。CatchAdmin还是采用传统的前后端分离策略,Laravel框架仅仅作为Api输出。将管理系统模块之间的耦合降到了最低限度。每个模块之间都有独立的控制器,路由,模型,数据表。在开发上尽可能将模块之间的影响降到最低,降低了开发上的难度。基于CatchAdmin可以开发CMS,CRM,OA等 等系统。也封装了很多实用的工具,提升开发体验。 V3.1.9 日志 修复模型时间戳错误 修复角色选择数据权限报错 优化账户禁用功能 修复修复 ElementPlus 语言错误 修复菜单组件更新错误 修复模块路由初始化错误 修复菜单 action loading 错误 修复安装权限模块 重构项目安装指令 更多.... 视频 catchadmin 模块创建 catchadmin 之快速开发 功能 用户管理 后台用户管理 部...
相关文章
文章评论
共有0条评论来说两句吧...