前端开发同学轻松本地跑一个LLM,免费玩转大模型应用开发

相信前端的同学已经在研究基于LLM的应用开发了,但是现在网上的教程都是基于openAI的接口,要注册、付费,有没有免费的方便前端把玩的本地LLM呢?当然有。

作为中国人,我们首先把目光聚焦在支持中文的大模型上,然后在一堆开源模型中反复研究,最终,我们选定ChatGLM这个由清华和智普合作的中英双语大模型。除了支持中文外,另外一个重要的原因是,能够让前端的同学上手,而不需要搭建复杂的环境,在nodejs的基础上可以轻松跑起来。

在生态里面,chatglmjs可以帮助我们在nodejs、electron等环境下面轻松的跑一个本地的LLM,有了这个本地的LLM,那么我们在做大模型应用开发的时候,就不用再去连openai的接口,省下一笔不小的费用。

接下来我们看看怎么上手。

首先,安装chatglmjs:

css 复制代码
npm i chatglmjs

安装之前需要确保你的电脑上安装了cmake,需要支持c/c++的编译。

接下来,生成/下载大模型bin文件。

bash 复制代码
git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp
python3 -m pip install -U pip
python3 -m pip install torch tabulate tqdm transformers accelerate sentencepiece
python3 chatglm_cpp/convert.py -i THUDM/chatglm3-6b -t q4_0 -o chatglm3-6b.q4_0.bin

如果你是个懒人,可以直接点击这里下载已经生成好的bin文件。

最后,进入nodejs的代码编写:

javascript 复制代码
const { chat, chatSync } = require('chatglmjs');
const { resolve } = require('path');

chat({
  model_bin_path: resolve(__dirname, '../llms/chatglm3-6b.q4_0.bin'),
  prompt: '你好',
  onmessage(msg) {
    process.stdout.write(msg);
  },
});

上面就是chatglmjs的最简单用法,当然,你还可以结合express创建一个服务,前端发一个ajax请求,由express调用上面这段代码来响应ajax,这样就可以在前端浏览器里面实现一个大模型应用了。

好了,今天就分享到这里,没必要为了凑字数搞一堆高深的概念,相信有想法的同学很快就能按照本文介绍的方法完成本地LLM的接入。

项目地址:github.com/tangshuang/...

记得给个star哦

相关推荐
云浪11 小时前
Go 并发实战:从零实现一个高并发安全的任务调度器
javascript·后端·go
Code_Artist16 小时前
AI 终于学会写正确的汉字了?GPT Image 2.0 到底做对了什么?
人工智能·chatgpt·openai
轻松西西莱尔18 小时前
降低成本少花钱,模型调用量砍掉90%:缓存、分级、精简、批处理、流式,5个坑我全踩了一遍
llm·agent
桃西西呀18 小时前
我把网关限流配置成每秒 100 请求,大促一来照样被打挂,还把别人也拖垮了
人工智能·llm·ai编程
OpsEye19 小时前
大模型账单对账难:不同厂商 Token 统计口径差异怎么处理
javascript·ai编程
全栈项目管理程序猿19 小时前
ArcGIS JS 基础教程(32):体元系列 - VoxelSlice 体元切片
前端·javascript
桃西西呀19 小时前
我把整本接口文档塞进 system prompt,前 3 轮答得准,第 8 轮开始胡说,账单还翻了 4 倍
人工智能·llm·ai编程
小郭哥x21 小时前
Codex 桌面版(Windows)启动后无 UI 窗口问题
chatgpt·openai·codex
Hilaku21 小时前
AI 流式输出都用 SSE,什么时候必须换 WebSocket?
前端·javascript·程序员
用户8371332007621 小时前
感觉终于把复杂的 RAG 技术整理明白了
人工智能·llm