infer-rkllm-openai

基于 Rockchip RKLLM 的视觉语言模型推理服务,提供完全兼容 OpenAI API 格式的 HTTP 接口。

硬件要求

  • 开发板: Rockchip RK3576 或 RK3588
  • 运行时库/usr/local/lib/librkllmrt.so 和 /usr/local/lib/librknnrt.so
  • 内存: 建议 4GB+

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 启动服务

python infer-rkllm-openai.py \
  --model-path /path/to/model.rkllm \
  --vision-model /path/to/vision.rknn \
  --platform rk3576 \
  --host 0.0.0.0
  --port 9696

常用参数

  • --model-path: RKLLM 模型路径(必填)
  • --vision-model: Vision 模型路径(可选)
  • --platform: 平台类型,rk3576 或 rk3588
  • --host: 服务地址,默认 0.0.0.0
  • --port: 服务端口,默认 9696
  • --rknn-cores: NPU 核心数 (1/2/3),默认 2

3. 访问服务

API 使用

Python SDK

from openai import OpenAI

client = OpenAI(
    api_key="sk-rebucca",
    base_url="http://localhost:9696/v1"
)

# 文本对话
response = client.chat.completions.create(
    model="qwen3-vl-4b",
    messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)

# 图片理解
import base64
with open("demo.jpeg", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="qwen3-vl-4b",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "描述这张图片"},
            {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_b64}"}}
        ]
    }]
)

# 流式输出
stream = client.chat.completions.create(
    model="qwen3-vl-4b",
    messages=[{"role": "user", "content": "你好"}],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

curl

curl http://localhost:9696/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-rebucca" \
  -d '{"model":"qwen3-vl-4b","messages":[{"role":"user","content":"你好"}]}'

运行测试

python tests.py
# 或指定地址
python tests.py --base-url http://192.168.1.15:9696/v1

环境变量

export RKLLM_LIB=/opt/rkllm/librkllmrt.so
export RKNN_LIB=/opt/rknn/librknnrt.so

注意事项

  • 必须在 Rockchip RK3576/RK3588 设备上运行
  • 模型必须为 .rkllm 和 .rknn 格式
  • W4A16 量化模型内存占用约 2-3GB
  • 单线程处理,请求会排队

版本

  • Python: 3.8+
  • Flask: >=3.0.0
  • 支持平台: RK3576, RK3588
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐