ChatGPT 挂了一整天了,已经习惯了用大模型的我怎么办
OpenAI 挂了,已经习惯了用大模型的我怎么办
OpenAI 挂了,急,在线等。
你是不是已经习惯了 ChatGPT 的存在?是不是感觉离了 ChatGPT 寸步难行,很难再进行自己的工作?今天 ChatGPT 大面积宕机,服务直到文章发布(下午5点)时尚未恢复,已经习惯了用 AI 的我们该怎么办呢?
答案就是自己在本地运行一个大模型,只要电脑不关机,服务就一直在!
那么怎么在自己电脑上轻松方便地运行这些大模型呢?一般来说,运行这些模型的 Python / PyTorch 往往包含有 3GB 以上的相互依赖的包。即使设法安装了这些包,也总会与你的 GPU 或其他硬件加速器不兼容,导致非常糟糕的性能。
其实没有这么艰难!我们可以使用 Rust 和 WasmEdge,在本地创建和部署非常快速和轻量级的 LLM 推理应用。安装文件也非常小,是一个只有几 MB 的简单二进制可执行文件。更赞的是,这个负责推理的应用程序完全可以跨广泛的 CPU、GPU 和操作系统移植。最赞的是,它完全没有 Python 依赖。让我们开始吧!
这个教程,我们将涵盖下面的内容:
- 在日常使用的 macOS 或几乎任何平台上运行 LLM,包括 Llama2 7b 和各种其他 LLM;
- 在几分钟内为你的大模型构建一个轻量级的 AI Agent ;
- 在 LLM 之外的 AI 上使用 WasmEdge。
第 1 部分:运行 LLM 和 AI 模型的超简单方法
1. 安装具有 LLM 支持的 WasmEdge
可以从一个命令行开始,安装完整的 LLM 支持的 WasmEdge runtime。
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- --plugin wasi_nn-ggml
或者可以按照这里的安装指南手动下载和复制 WasmEdge 安装文件。
2. 下载 Wasm 格式的 LLM 推理应用
接下来,获取超小的 2MB 跨平台二进制文件 —— llama-chat.wasm。这是效率的证明,无需其他依赖,并能在不同环境中无缝操作。这个小的 Wasm 文件是从 Rust 编译的。想要构建自己的 AI 推理 应用,请查看 llama-utils Repo。
curl -LO https://github.com/second-state/llama-utils/raw/main/chat/llama-chat.wasm
3. 下载 Llama2 7b chat 模型
curl -LO https://huggingface.co/wasmedge/llama2/blob/main/llama-2-7b-chat-q5_k_m.gguf
WasmEdge 还支持 Llama2、CodeLlama、Llemma、Codeshell、Mistrial、MistrialLite、TinyLlama、Baichuan、BELLE、Alpaca、Vicuna、OpenChat、Starcoder、OpenBuddy 等更多!
4. 在 CLI 上与 Llama2 7b chat
现在你已经准备好了一切,可以开始使用命令行与 Llama2 7b chat 模型聊天。
wasmedge --dir .:. --nn-preload default:GGML:AUTO:llama-2-7b-chat-wasm-q5_k_m.gguf llama-chat.wasm
现在,可以和 Llama2 7b chat 对话啦。让 Llama2 7b chat 模型帮我写代码,解决一些看起来比较枯燥的工作!
[USER]: I want to combine all the txt files in the local directory. write a python program for me. [ASSISTANT]: Of course! Here is a simple Python program that can combine all the text files in the current directory:
import os
for filename in os.listdir(): if filename.endswith('.txt'): with open(filename, 'a') as f: f.write('')
This program uses the `os` module to list all the files in the current directory, and then checks if each file ends with the `.txt` extension using the `endswith()` method. If a `.txt` file is found, it is opened in append mode (`'a'`) using the `open()` function, and the contents are written to the file using the `write()` method. Please let me know if you have any questions or if you need further assistance! [USER]: How can I run this program? I'm not familar with python. [ASSISTANT]: Of course! Here are the steps to run the Python program: 1. Open a terminal or command prompt on your computer. 2. Navigate to the directory where the text files are located using the `cd` command. For example, if the text files are located in the `Documents` directory, you would type `cd Documents`. 3. Type `python combine_txt_files.py` and press Enter. This will run the `combine_txt_files.py` program. 4. The program will combine all the text files in the current directory and write the combined contents to a new file called `combined_txt_files.txt`. If you are using a Python IDE (Integrated Development Environment) such as PyCharm or Visual Studio Code, you can open the `combine_txt_files.py` file and run it by clicking the "Run" button or pressing `F5`. I hope this helps! Let me know if you have any questions.
就这样!你还可以使用同样的 llama-chat.wasm
文件来运行其他 LLM,如 OpenChat、CodeLlama、Mistral 等。
资源:
通过以下额外资源,探索可以在 WasmEdge 上运行的各种 LLM:
- 运行其他 LLM:其他可用 LLM 的综合视频指南。
- 在 containerd 和 Docker 中运行 LLM:了解如何在 Docker + Wasm 中运行和管理 LLM 应用。
第 2 部分:构建超轻量级 AI Agent
1. 创建一个与 OpenAI 兼容的 API 服务
当用你的领域知识微调了一个模型或你想要运行一个私有模型时,仅使用 CLI 运行模型是不够的。我们通常需要依靠这个大模型构建 Agent,让 LLM 更好的帮我工作。接下来,让我们为大模型设置兼容 OpenAI 的 API 服务,然后我们可以将这个私有模型集成到其他 SaaS 工作流程中。这样即便 ChatGPT 宕机,你的 Agent 依然可以正常为你工作!
这里假设你已经安装了带有 ggml 插件的 WasmEdge 并下载了你需要的模型。
首先,通过终端下载构建 API 服务器的 Wasm 文件。
curl -LO https://github.com/second-state/llama-utils/raw/main/api-server/llama-api-server.wasm
接下来,用基于 WasmEdge 的API 服务运行模型。
wasmedge --dir .:. --nn-preload default:GGML:AUTO:llama-2-7b-chat-wasm-q5_k_m.gguf llama-api-server.wasm -p llama-2-chat -s 0.0.0.0:8080
在看到连接建立后,可以使用以下命令行来尝试你的模型。
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 helpful assistant. Answer each question in one sentence."}, {"role":"user", "content": "**What is Wasm?**"}], "model":"llama-2-chat"}'
2. 部署连接 API 服务的聊天机器人 UI
接下来,让我们将你的 API 服务链接到由 Second State 提供的 Chatbot-UI,为用户提供丝滑的对话体验。
需要做的就是将你的 Chat API 复制并粘贴到左下角侧边栏的 Chat API URL 中。请注意,你的 API URL 必须是一个 HTTPs 代理。nike可以使用 ngrok 来实现 HTTPs 代理,或者绑定你的域名。
接下来,就可以通过 Chatbot-UI 与模型聊天啦。
3. 围绕模型构建 RAG 机器人和 Agent
如果我们将模型的能力应用到现实世界的工作流程中,LLM Agent 比 Web 聊天机器人更有帮助。Flows.network 是一个 Severless 平台,用 Rust 和 Wasm 构建 LLM Agent 和机器人。flows.network 平台允许开发者将像 ChatGPT 和 Claude 的大模型连接到不同的 SaaS 提供商。由于模型已经具备与 OpenAI 兼容的 API,我们可以像在 OpenAI 上做的那样,轻松地将模型与 Telegram、Slack 和 Discord 等其他 SaaS 集成。查看如何构建基于 RAG 的 LLM Agent!
或者,可以使用 LangChain 和 LlamaIndex 来构建 RAG(检索增强生成)应用程序。
来试一试使用这种方式构建的 RAG 机器人,帮助你学习 Rust 语言 👉https://flows.network/learn-rust
第 3 部分:不止于大语言模型
WasmEdge 的 AI 不仅限于 LLM 任务;它还扩展到视觉和音频领域。除了 ggml 后端,WasmEdge 运行时还支持 PyTorch、TensorFlow 和 OpenVINO AI 框架。为了使 AI 推理更加流畅,WasmEdge 还支持使用流行的 OpenCV 和 FFmpeg 库进行图像处理。
了解如何借助 mediapipe-rs 开发图像和音频 AI 应用,并上手尝试其他 WASI-NN 示例。
- Mediapipe-rs:一个基于 Rust 的 Mediapipe 库,
- 更多 WASI NN 示例:探索更多使用 WasmEdge 和 Rust 的 AI 推理示例。
结论
在有了强大的 ChatGPT 后,我们是不是还需要一个私有的模型?答案是肯定的!WasmEdge 为运行最先进的 LLM,包括你自己微调的 Llama 2 模型,提供了一个轻量级、安全、可靠和高效的环境。无论你是希望部署 AI 应用的开发者,还是寻求将智能 Agent 集成到你的服务中,使用 Rust + WasmEdge 都将为你提供价值。
加入 WasmEdge discord 的讨论,来 GitHub 为 WasmEdge 做贡献吧。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
聊聊 GPU 产品选型那些事
随着人工智能的飞速崛起,随之而来的是算力需求的指数级增加,CPU 已经不足以满足深度学习、大模型计算等场景的海量数据处理需求。GPU 作为一种强大的计算工具,无论是高性能计算、图形渲染还是机器学习领域,在各个领域展现出了巨大的潜力和应用前景。 说起 GPU,绕不过的当然是 NVIDIA 这个公司了,现在市面上火热的 A100/A800、H100 等 GPU 全是他家的产品。但当你有业务需求或者个人需求,想要采购 GPU 的时候,你会发现各个型号的 GPU 令你眼花缭乱。这次我们就来聊聊 NVIDIA 的 GPU 产品,让你对各个型号的 GPU 有个深入的了解。 GPU 应用场景 在选择 GPU 产品之前,首要任务是明确自己的应用需求。不同的应用领域对 GPU 的需求存在差异,因此了解自己的需求是做出明智决策的关键。接下来我们了解下常见的 GPU 应用场景。 游戏和图形渲染 我把游戏和图形渲染这个应用场景放在了第一位,并不是说它是 GPU 最常用的应用场景,而是很多小伙伴在学生时代就已经接触了“显卡”。GPU 不等于显卡,它是显卡的核心,就像 CPU 是主板上的一块芯片。GPU 刚被发明...
- 下一篇
ModStartBlog v8.5.0 评论开关布局调整,系统后台全面优化
ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装 会员模块通用且完整,支持完整的API调用 大文件分片上传,进度条显示,已上传文件管理 强大的模块扩展功能,所有模块可以无缝集成,支持在线安装、卸载模块 完善的开发助手,实现模块、主题的的一键创建 完善的后台权限管理,支持基于RBAC的权限管理系统 后台管理支持使用手机、平板、PC,无论何时何地都可方便管理 第三方登录(QQ、微信、微博、支付宝、微信小程序) 第三方支付支持(微信、支付宝、支付宝当面付、微信扫码、微信小程序) 第三方云存储支持,支持云储存分片上传(阿里云、百度云、华为云、腾讯云、FTP、七牛云、UCloud、又拍云) 第三方短信支持(阿里云、腾讯云、华为云、百度云、253云通讯、聚合、七牛云、融云、赛邮、UCloud、云片、网易云) V8.5.0版本更新 2023年11月09日ModStartBlog发布v8.5.0版本,增加了...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6