ChatGPT开源替代:阿里最新最强大模型千问2.5

文摘   2024-10-10 18:03   北京  

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 optionValue
Base API URLhttp://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] 向我们提问,分享你的看法吧。

参考资料
[1]

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/

[7]

启动 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

Second State
Rust 函数即服务
 最新文章