Qwen 2.5 系列包括从 0.5B 到 110B 参数的模型,针对编程、逻辑推理和自然语言理解等各种任务进行了优化。这些模型包括用于边缘设备的较小模型(0.5B、1.8B、4B、7B、14B)和用于企业用途的较大模型(72B、110B),在指令遵循、逻辑和超过 29 种语言支持方面都有了显著的改进。它们具有长上下文支持(最多 128K 个输入token和超过 8k 个token生成),并且可以生成 JSON 等结构化输出。Qwen 2.5 系列在多模态和音频/视频理解等任务中表现出色。
Qwen2.5-14B-Instruct[1] 是一个指令调整的大型语言模型,具有 147 亿个参数、完整的 131,072 个token和生成 8192 个token上下文长度。它采用先进的架构,并使用技术针对长文本处理进行了优化。该模型非常适合聊天机器人和长文本生成任务。
本文你将学到如何
在本地运行 Qwen2.5-14B-instruct 模型 在你的应用或 Agent 中直接替换 OpenAI
我们将使用 LlamaEdge[2](Rust + Wasm 技术栈)来开发和部署这个模型的应用程序。无需安装复杂的 Python 包或 C++ 工具链!了解我们选择这项技术的原因[3]。
Run the Qwen2.5-14B-instruct model locally
第一步:通过以下命令行安 WasmEdge[4]。
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash -s -- -v 0.14.1
第二步:下载 Qwen2.5-14B-instruct[5] GGUF 文件。因为模型有 2.82G,可能需要一定时间才能下载好。
curl -LO https://huggingface.co/second-state/Qwen2.5-14B-Instruct-GGUF/resolve/main/Qwen2.5-14B-Instruct-Q5_K_M.gguf
第三步: 下载 LlamaEdge API server程序。它也是一个跨平台的可移植 Wasm 应用,可以在不同 CPU 和 GPU 设备上运行。
curl -LO https://github.com/LlamaEdge/LlamaEdge/releases/latest/download/llama-api-server.wasm
第四步:下载聊天机器人 UI,从而在浏览器中与 Qwen2.5-14B 模型进行交互。
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 server。
wasmedge --dir .:. --nn-preload default:GGML:AUTO:Qwen2.5-14B-Instruct-Q5_K_M.gguf \
llama-api-server.wasm \
--prompt-template chatml \
--ctx-size 128000
或者可以打开 `http://localhost:8080`[6] 开始聊天。或者你也可以向模型发送 API 请求。
在应用或 Agent 中直接替换 OpenAI
LlamaEdge 是轻量级的,不需要守护程序或 sudo 进程即可运行。它可以轻松嵌入到你自己的应用程序中!通过支持聊天和 embedding 模型,LlamaEdge 可以替换本地计算机上应用程序内部的 OpenAI API !
接下来,我们展示如何为 Qwen2.5-14B-instruct 模型以及 embedding 模型启动完整的 API server。API server将有 chat/completions
和 embedding
endpoints。除了上一节中的步骤之外,我们还需要:
第五步:下载 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 server。有关更详细的解释,请查看文档启动 LlamaEdge API 服务[7]。
wasmedge --dir .:. \
--nn-preload default:GGML:AUTO:Qwen2.5-14B-instruct-Q5_K_M.gguf \
--nn-preload embedding:GGML:AUTO:nomic-embed-text-v1.5.f16.gguf \
llama-api-server.wasm \
--model-alias default,embedding \
--model-name Qwen2.5-14B-instruct,nomic-embed \
--prompt-template chatml,embedding \
--batch-size 128,8192 \
--ctx-size 4096,8192
最后,可以按照这些教程[8]将 LlamaEdge API server作为 OpenAI 的替代与其他 Agent 框架集成。具体来说,在你的应用或 Agent配置中使用以下值来替换 OpenAI API。
Config option | Value |
---|---|
Base API URL | http://localhost:8080/v1 |
Model Name (for LLM) | Qwen2.5-14B-instruct |
Model Name (for Text embedding) | nomic-embed |
立即访问 LlamaEdge repo 并构建你的第一个大模型Agent!如果喜欢的话,欢迎为 repo[9] 加注星标[10]。
查看 LlamaEdge 文档[11]了解更多。加入 WasmEdge discord[12] 向我们提问,分享你的看法吧。
Qwen2.5-14B-Instruct: https://huggingface.co/Qwen/Qwen2.5-14B-Instruct
[2]LlamaEdge: https://github.com/second-state/LlamaEdge/
[3]选择这项技术的原因: https://www.secondstate.io/articles/wasm-runtime-agi/
[4]WasmEdge: https://github.com/WasmEdge/WasmEdge
[5]Qwen2.5-14B-instruct: https://huggingface.co/second-state/Qwen2.5-14B-Instruct-GGUF/tree/main
[6]http://localhost:8080
: http://localhost:8080/
启动 LlamaEdge API 服务: https://llamaedge.com/docs/user-guide/openai-api/intro
[8]这些教程: https://llamaedge.com/docs/category/ecosystem-apps/
[9]为 repo: https://github.com/LlamaEdge/LlamaEdge
[10]加注星标: https://github.com/LlamaEdge/LlamaEdge
[11]LlamaEdge 文档: https://llamaedge.com/docs/category/drop-in-replacement-for-openai
[12]WasmEdge discord: https://discord.com/invite/U4B5sFTkFc
关于 WasmEdge
WasmEdge 是轻量级、安全、高性能、可扩展、兼容OCI的软件容器与运行环境。目前是 CNCF 沙箱项目。WasmEdge 被应用在 SaaS、云原生,service mesh、边缘计算、边缘云、微服务、流数据处理、LLM 推理等领域。
GitHub:https://github.com/WasmEdge/WasmEdge
官网:https://wasmedge.org/
Discord 群:https://discord.gg/U4B5sFTkFc
文档:https://wasmedge.org/docs