用Llama Edge运行Deekseek-R1蒸馏模型

68bdbb0f17306855f89575bf2d09eee5.png

DeepSeek-R1 使用强化学习,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能比肩 OpenAI o1 正式版。从 DeepSeek-R1 蒸馏得到的小模型有效继承了大模型学到的推理模式。本文主要使用Llama Edge测试 DeepSeek-R1-Distill-Llama-8B-GGUF 

欢迎跟着我试验下最新的模型:

首先,使用 https://github.com/LlamaEdge/LlamaEdge

按照官方README.md 进行操作,首先下载,复制以下命令到命令行运行试试:

curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash

我是window电脑,所以碰到了报错,把报错进行截图后,发给Gemini2,让它帮我解释下。

e60dfe334b30c55c8af1d5df79caeb20.png

这个命令在类 Unix 系统(例如 Linux、macOS)上通常可以工作。但我使用的是window的power shell,同时,由于网络问题,我们还是手动下载下3个文件。

先新建一个目录edge(你也可以修改为你自己的名称)

https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-windows-msvc.msi(下载后运行安装

ggml 后端允许 WasmEdge 应用执行 Llama 2 系列大模型的推理。我用的是cuda这个版本:

https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-plugin-wasi_nn-ggml-cuda-0.14.1-windows_x86_64.zip

ggml插件一定要安装,否则会提示nn-preload无效。可以从 WasmEdge 发布页面下载插件,解压然后复制到 C:\Program Files\WasmEdge\lib目录下。注意解压后,只需要取lib目录下的文件即可。

928b8432134bb0af24742cb2934b9848.png

目录结构

然后,需要设置下系统的环境变量:

21a5ecdb64ae0cb6d6a709ec6895d2fd.png

WASMEDGE_PLUGIN_PATH

参考github上的一个issue:https://github.com/WasmEdge/WasmEdge/issues/3920

https://huggingface.co/second-state/DeepSeek-R1-Distill-Llama-8B-GGUF/tree/main (下载一个合适大小的模型,由于是测试,我选择了最小3GB那个,也是放到edge目录下)

https://github.com/LlamaEdge/LlamaEdge/releases/download/0.16.1/llama-api-server.wasm 下载后放到edge目录下

现在edge目录结构如下:

4dc941b352fded97ed796b164d4a7fdd.png

使用以下命令行为模型启动 LlamaEdge API 服务器

wasmedge --dir .:. --nn-preload default:GGML:AUTO:DeepSeek-R1-Distill-Llama-8B-Q2_K.gguf llama-api-server.wasm --prompt-template llama-3-chat --ctx-size 8096

如果一切正常,我们就可以通过api发送请求得到结果。我让Gemini写了个js代码:

curl -X POST http://localhost:8080/v1/chat/completions \
  -H 'accept:application/json' \
  -H 'Content-Type: application/json' \
  -d '{"messages":[{"role":"system", "content": "你非常擅长思考、推理和总结。请使用中文回复"}, {"role":"user", "content": "中国最著名的神话人物是谁,为什么,有什么依据?"}], "model": "DeepSeek-R1-Distill-Llama-8B"}'


这是一个chat的api。帮我改成stream流式的fetch请求,写一个容易看懂的js方法,把ai对话的结果console出来,用黄色底,黑色字。


另外,还需要提供一个中断请求的方法,为了让我可以随时中断请求。

代码详见:阅读原文。

把这个js代码粘贴到chrome里的开发者工具console面板里,你应该就能看到正常的回复结果了。另外,也可以把api地址填写到mixcopilot里,进行使用。

欢迎加入我们的AI编程社群

6f9baebced39f3f6c6e2cbc1cb66f51b.png

e0f1035d93f41604603e107635547f5a.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值