AI个人学习
和实操指南

LlamaEdge:本地运行和微调LLM的最快捷方式

综合介绍

LlamaEdge是一个开源项目,旨在简化本地或边缘设备上运行和微调大型语言模型(LLM)的过程。该项目支持Llama2系列模型,并提供与OpenAI兼容的API服务,使用户能够轻松创建和运行LLM推理应用程序。LlamaEdge利用Rust和Wasm技术栈,提供了强大的替代方案来进行AI推理。用户可以通过简单的命令行操作快速启动和运行模型,并且可以根据需要进行微调和扩展。

 

功能列表

  • 本地运行LLM:支持在本地设备或边缘设备上运行Llama2系列模型。
  • OpenAI兼容API服务:提供与OpenAI API兼容的服务端点,支持聊天、语音转文本、文本转语音、图像生成等功能。
  • 跨平台支持:支持多种CPU和GPU设备,提供跨平台的Wasm应用程序。
  • 快速启动:通过简单的命令行操作即可快速下载和运行模型。
  • 微调和扩展:用户可以根据需要修改和扩展源代码,以满足特定需求。
  • 文档和教程:提供详细的官方文档和教程,帮助用户快速上手。

 

使用帮助

安装流程

  1. 安装WasmEdge:首先需要安装WasmEdge,可以通过以下命令行完成:
   curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash
  1. 下载LLM模型文件:以Meta Llama 3.2 1B模型为例,使用以下命令下载:
   curl -LO https://huggingface.co/second-state/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q5_K_M.gguf
  1. 下载LlamaEdge CLI聊天应用:使用以下命令下载跨平台的Wasm应用程序:
   curl -LO https://github.com/second-state/LlamaEdge/releases/latest/download/llama-chat.wasm
  1. 运行聊天应用:使用以下命令与LLM进行聊天:
   wasmedge --dir .:. --nn-preload default:GGML:AUTO:Llama-3.2-1B-Instruct-Q5_K_M.gguf llama-chat.wasm -p llama-3-chat

功能操作流程

  1. 启动API服务:可以通过以下命令启动API服务:
   wasmedge --dir .:. --env API_KEY=your_api_key llama-api-server.wasm --model-name llama-3.2-1B --prompt-template llama-chat --reverse-prompt "[INST]" --ctx-size 32000
  1. 使用Web界面与LLM交互:启动API服务后,可以通过Web界面与本地LLM进行交互。
  2. 创建自定义API服务:可以根据需要创建自定义的API服务端点,例如语音转文本、文本转语音、图像生成等。
  3. 微调和扩展:用户可以修改源代码中的配置文件和参数,以实现特定的功能需求。

 

LlamaEdge 在笔记本电脑快速运行蒸馏 DeepSeek-R1

DeepSeek-R1是一个功能强大且用途广泛的 AI 模型,它凭借先进的推理能力、成本效益和开源可用性向 OpenAI 等老牌企业发起了挑战。虽然它有一些局限性,但其创新的方法和强大的性能使其成为开发人员、研究人员和企业的宝贵工具。对于那些有兴趣探索其功能的人来说,该模型及其精简版本可以在 Hugging Face 和 GitHub 等平台上获得。


由受 GPU 限制的中国团队训练,它在数学、编码甚至一些相当复杂的推理方面表现出色。最有趣的是,它是一个“精简”模型,这意味着它比它所基于的巨型模型更小、更高效。这很重要,因为它使人们在实际使用和构建它时更加实用。

LlamaEdge:本地运行和微调LLM的最快捷方式-1

本文我们将介绍

  • 如何在自己的设备上运行开源 DeepSeek 模型
  • 如何使用最新的 DeepSeek 模型创建与 OpenAI 兼容的 API 服务

我们将使用 LlamaEdge(Rust + Wasm 技术栈)来开发和部署这个模型的应用程序。无需安装复杂的 Python 包或 C++ 工具链!了解我们选择这项技术的原因。

 

在自己的设备上运行 DeepSeek-R1-Distill-Llama-8B 模型

第一步:通过以下命令行安装WasmEge。

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

第二步:下载量化过的DeepSeek-R1-Distill-Llama-8B-GGUF模型文件。

这可能需要一定时间,因为模型的大小为 5.73 GB。

curl -LO https://huggingface.co/second-state/DeepSeek-R1-Distill-Llama-8B-GGUF/resolve/main/DeepSeek-R1-Distill-Llama-8B-Q5_K_M.gguf`

第三步:下载 LlamaEdge API 服务器应用程序。

它也是一个跨平台的便可移植的 Wasm 应用程序,可以在许多 CPU 和 GPU 设备上运行。

curl -LO https://github.com/LlamaEdge/LlamaEdge/releases/latest/download/llama-api-server.wasm

第四步: 下载chatbot UI

以便在浏览器中与 DeepSeek-R1-Distill-Llama-8B 模型进行交互。

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

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

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

然后,打开浏览器访问 http://localhost:8080 开始聊天!或者可以向模型发送 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 helpful assistant."}, {"role":"user", "content": "What is the capital of France?"}], "model": "DeepSeek-R1-Distill-Llama-8B"}'
  
{"id":"chatcmpl-68158f69-8577-4da2-a24b-ae8614f88fea","object":"chat.completion","created":1737533170,"model":"default","choices":[{"index":0,"message":{"content":"The capital of France is Paris.\n</think>\n\nThe capital of France is Paris.<|end▁of▁sentence|>","role":"assistant"},"finish_reason":"stop","logprobs":null}],"usage":{"prompt_tokens":34,"completion_tokens":18,"total_tokens":52}}

 

为 DeepSeek-R1-Distill-Llama-8B 创建与 OpenAI 兼容的 API 服务

LlamaEdge 是轻量级的,不需要守护进程或 sudo 进程即可运行。它可以轻松嵌入到您自己的应用程序中!通过支持聊天和 embedding 模型,LlamaEdge 可以成为本地计算机上应用程序内部的 OpenAI API 替代品!

接下来,我们将展示如何为 DeepSeek-R1 模型以及 embedding 模型启动完整的 API 服务器。API 服务器将具有 chat/completions embeddings 端点。除了上一节中的步骤之外,我们还需要:

第五步:下载 embedding 模型。

curl -LO https://huggingface.co/second-state/Nomic-embed-text-v1.5-Embedding-GGUF/resolve/main/nomic-embed-text-v1.5.f16.gguf

然后,我们可以使用以下命令行启动具有聊天和 embedding 模型的 LlamaEdge API 服务器。更详细的说明,请查看文档——启动 LlamaEdge API 服务。

wasmedge --dir .:. \
--nn-preload default:GGML:AUTO:DeepSeek-R1-Distill-Llama-8B-Q5_K_M.gguf \
--nn-preload embedding:GGML:AUTO:nomic-embed-text-v1.5.f16.gguf \
llama-api-server.wasm -p llama-3-chat,embedding \
--model-name DeepSeek-R1-Distill-Llama-8B,nomic-embed-text-v1.5.f16 \
--ctx-size 8192,8192 \
--batch-size 128,8192 \
--log-prompts --log-stat

 

最后,可以按照这些教程将 LlamaEdge API 服务器作为 OpenAI 的替代与其他 Agent 框架集成。具体来说,在你的应用或 Agent 配置中使用以下值来替换 OpenAI API。

Config option
Base API URL http://localhost:8080/v1
模型名称 (大模型) DeepSeek-R1-Distill-Llama-8B
模型名称 (文本 embedding) nomic-embed

就是这样啦!立即访问 LlamaEdge 仓库并构建你的第一个 AI Agent!如果觉得有意思,请在此处为我们的repo加注星标。在运行此模型时有任何问题,也可以请前往该 repo 提出问题或与我们预约演示,以跨设备运行自己的 LLM!

未经允许不得转载:首席AI分享圈 » LlamaEdge:本地运行和微调LLM的最快捷方式

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文