Llava-v1.6-Vicuna-7B[1] 是开源社区对 OpenAI 多模态大模型 GPT-4-V 的回应。它也称为视觉语言模型,因为它能够处理对话中的视觉图像和语言。该模型基于 lmsys/vicuna-7b-v1.5。
在本文中,我们将介绍如何为 Llava-v1.6-Vicuna-7B 创建兼容 OpenAI 的 API 服务。
我们将使用 LlamaEdge(Rust + Wasm 堆栈)来开发和部署该模型的应用程序。无需安装复杂的 Python 包或 C++ 工具链!看看我们为什么选择这个技术栈。

(LlamaEdge刚刚发布0.4.0版本[2],支持 Llava 系列大模型)
步骤1:通过以下命令行安装WasmEdge[3]。
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- -v 0.13.5 --plugins wasi_nn-ggml wasmedge_rustls
步骤2: 下载 Llava-v1.6-Vicuna-7B model GGUF[4] 和 mmproj-model-f16.gguf[5] 文件。模型大小为 4.78G ,下载可能需要一定时间。
curl -LO https://huggingface.co/second-state/Llava-v1.6-Vicuna-7B-GGUF/resolve/main/llava-v1.6-vicuna-7b-Q5_K_M.gguf
curl -LO https://huggingface.co/second-state/Llava-v1.6-Vicuna-7B-GGUF/resolve/main/llava-v1.6-vicuna-7b-mmproj-model-f16.gguf
下载一个 API 服务器应用。它也是一个跨平台的可移植 Wasm 应用,可以在不同 CPU、GPU 等设备运行。
curl -LO https://github.com/LlamaEdge/LlamaEdge/releases/latest/download/llama-api-server.wasm
然后,下载聊天机器人 Web UI,从而通过聊天机器人 UI 与模型进行交互。
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
接下来,使用以下命令行启动模型的 API 服务器。然后,打开浏览器访问 http://localhost:8080[6]开始聊天!
wasmedge --dir .:. --nn-preload default:GGML:AUTO:llava-v1.6-vicuna-7b-Q5_K_M.gguf llama-api-server.wasm -p vicuna-llava -c 4096 --llava-mmproj llava-v1.6-vicuna-7b-mmproj-model-f16.gguf -m llava-v1.6-vicuna-7b
从另一个终端, 你可以使用 curl 与 API 服务器进行交互。请注意,你可以替换下面命令行里的 image_url 里的图片 URL为自己的图片,让大模型回答你自己图片的问题。
curl -X POST http://localhost:8080/v1/chat/completions \
-H 'accept:application/json' \
-H 'Content-Type: application/json' \
-d '{"messages": [{"content": [{"type": "text","text": "what is in the picture?"},{"type": "image_url","image_url": {"url": "https://petweb1-1253856731.cos.ap-beijing.myqcloud.com/uploads/20200405/6944322520e28e9f3c497df873cdcd0b.jpg"}}],"role": "user"}],"model": "llava-v1.6-vicuna-7b"}'
就是这样啦。WasmEdge 是运行 LLM 应用最简单、最快、最安全的方式[7]。试试看吧!
加入 WasmEdge discord[8] 提问并分享见解。
对运行此模型有疑问?请访问 second-state/LlamaEdge[9] 提 issue 或预约演示[10],跨设备上享运行 LLM!
参考资料
[1]
Llava-v1.6-Vicuna-7B: https://huggingface.co/liuhaotian/llava-v1.6-vicuna-7b
[2]
0.4.0版本: https://github.com/LlamaEdge/LlamaEdge/releases/tag/0.4.0
[3]
WasmEdge: https://github.com/WasmEdge/WasmEdge
[4]
Llava-v1.6-Vicuna-7B model GGUF: https://huggingface.co/second-state/Llava-v1.6-Vicuna-7B-GGUF
[5]
mmproj-model-f16.gguf: https://huggingface.co/second-state/Llava-v1.6-Vicuna-7B-GGUF/resolve/main/llava-v1.6-vicuna-7b-mmproj-model-f16.gguf
[6]
http://localhost:8080: http://localhost:8080/
[7]
运行 LLM 应用最简单、最快、最安全的方式: https://www.secondstate.io/articles/fast-llm-inference/
[8]
WasmEdge discord: https://discord.com/invite/U4B5sFTkFc
[9]
second-state/LlamaEdge: https://github.com/second-state/LlamaEdge
[10]
预约演示: https://code.flows.network/webhook/vvAtEBUk6QMhVVLuw7IU