项目介绍:LLaVA C++ Server
LLaVA C++ Server 是一个简单的 API 服务器,旨在实现 llama.cpp 上的 LLaVA 功能。这个项目由 Bart Trzynadlowski 于 2023 年创建,主要是为了简化与 LLaVA 实现的交互。
使用方法
要使用 LLaVA C++ Server,首先需要从这个链接下载相应的模型文件,例如 ggml-model-*.gguf
和 mmproj-model-f16.gguf
。下载完成后,使用以下命令启动服务器:
bin/llava-server -m ggml-model-q5_k.gguf --mmproj mmproj-model-f16.gguf
执行以上命令后,服务器将在 localhost:8080
上启动。您可以使用 --host
和 --port
来更改主机名和端口,并使用 --log-http
启用 HTTP 日志记录。在浏览器中可通过 localhost:8080
访问服务器。
API 接口
LLaVA C++ Server 提供了一个简单的 API 终端,您可以在 /llava
路径下找到它。请求体需要包含以下几个参数:
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
user_prompt | string | 是 | 用户的文本输入提示 |
image_file | file | 是 | 二进制格式的图像数据 |
system_prompt | string | 否 | 系统提示信息 |
该 API 设计简洁,易于与服务器进行交互。
构建说明
项目中包含了 llama.cpp 以及 cpp-httplib 作为 git 子模块。完成项目克隆后,首先需要执行以下命令初始化和更新子模块:
git submodule init
git submodule update
接着,运行以下命令即可构建项目:
make
目前该项目已在 macOS 系统上进行测试,理论上也应在其他能够编译 llama.cpp 的平台上正常工作。
结束语
总的来说,LLaVA C++ Server 提供了一个快速、简单的方法来与 LLaVA 进行交互。通过易于使用的命令行启用和配置选项,以及简洁的 API 设计,即便是初学者也能快速上手并实现与模型的交互。