ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

InternVL3-8B 搭建 OpenAI 兼容 API:一行命令上线 RESTful 服务

InternVL3-8B 搭建 OpenAI 兼容 API:一行命令上线 RESTful 服务 InternVL3-8B 搭建 OpenAI 兼容 API一行命令上线 RESTful 服务【免费下载链接】InternVL3-8B项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/InternVL3-8B想给 InternVL3-8B 多模态大模型搭建一个 OpenAI 兼容 API好消息是全程只需一行命令本文手把手教你使用 LMDeploy 的api_server工具为这个强大的开源多模态模型秒级上线 RESTful 服务让 ChatGPT、LangChain、Dify 等任何支持 OpenAI 接口的应用都能直接调用其图像理解、视频分析能力。整个部署过程无需编写任何服务端代码几分钟即可完成。什么是 InternVL3-8BInternVL3-8B 是上海人工智能实验室开源的多模态大语言模型采用经典的 ViT-MLP-LLM 架构视觉部分使用 InternViT 视觉编码器语言部分以 Qwen2.5-7B 为底座。它支持纯文本对话继承 Qwen 系列优秀的语言能力单图 / 多图理解可同时分析多张图片并比较异同视频理解支持视频片段的多轮问答文档与图表分析OCR、表格、科学图表识别GUI 与工具使用适合做智能体Agent视觉模块模型推理核心实现在 modeling_internvl_chat.py其中 chat() 方法 和 batch_chat() 方法 负责单轮/多轮对话模型结构配置见 config.json。为什么要把模型封装成 OpenAI 兼容 API直接调用模型需要写 Python 推理脚本且每次接入新应用都要重复开发。搭建 OpenAI 兼容 API 后你可以获得三大好处生态全兼容vLLM、LangChain、FastGPT、Dify 等工具原生支持 OpenAI 格式接口统一调用方式RESTful 接口POST /v1/chat/completions支持图片、文本、流式输出团队协作方便前端、后端、测试人员无需了解模型细节只需按标准格式发请求下面这张就是官方示例图片examples/image1.jpg部署完成后我们直接让模型看图说话来验证服务部署前的准备工作硬件要求16GB 显存bf16 精度约 18GB8GB 显存开启 8-bit 量化后显存不足时可启用tp1配合量化参数降低占用安装依赖pip install lmdeploy0.7.3 openai注意LMDeploy 需 0.7.3 及以上版本旧版本需要额外手动指定ChatTemplateConfig。准备模型文件模型权重已在本地仓库就绪model-*.safetensors分片文件也支持从 HuggingFace 自动下载OpenGVLab/InternVL3-8B。仓库根目录的 README.md 中包含了完整的快速上手说明。一行命令启动 RESTful 服务 这是全文的核心步骤在终端执行lmdeploy serve api_server OpenGVLab/InternVL3-8B --chat-template internvl2_5 --server-port 23333 --tp 1参数含义解读参数作用--chat-template指定对话模板为internvl2_5该模板注册在 conversation.py 中--server-port服务监听端口默认 23333--tp张量并行数单卡填 1多卡按显卡数量填写命令执行成功后服务会自动暴露以下 OpenAI 兼容端点GET /v1/models— 查看可用模型列表POST /v1/chat/completions— 对话补全支持图文输入POST /v1/completions— 文本补全用 OpenAI SDK 调用图片理解接口 ️服务启动后只需几行代码即可调用。以下代码让模型识别示例图片中的小熊猫from openai import OpenAI client OpenAI(api_keyYOUR_API_KEY, base_urlhttp://127.0.0.1:23333/v1) response client.chat.completions.create( modelInternVL3-8B, messages[{ role: user, content: [ {type: text, text: 请描述这张图片的内容}, {type: image_url, image_url: {url: http://127.0.0.1:8080/examples/image1.jpg}}, ], }], temperature0.8, top_p0.8, ) print(response.choices[0].message.content)调用逻辑非常直观content数组中同时放置文本与图片 URL模型会先完成视觉特征提取内部通过 extract_feature() 处理像素值再结合文本生成回答。实测该模型能准确识别出一只红棕色的小熊猫靠在木架上。进阶玩法多图与多轮对话 ✨多图片对比分析在content中放入多张图片配合编号文本即可实现对比分析content: [ {type: text, text: 图1: image\n图2: image\n请对比这两张图片的异同}, {type: image_url, image_url: {url: .../image1.jpg}}, {type: image_url, image_url: {url: .../image2.jpg}}, ]多轮对话调用时在messages中追加assistant和新的user消息即可延续上下文继续追问适合做看图问细节类应用。流式输出在请求中加上stream: true即可像 ChatGPT 一样逐字返回结果提升用户体感。常见问题排查 问题解决方案报错提示缺少 chat template升级lmdeploy0.7.3或在代码中显式指定ChatTemplateConfig(model_nameinternvl2_5)显存不足OOM添加--quant-policy 4开启 KV Cache 量化或改用 8-bit 加载多卡部署报设备不一致错误使用--tp 2按实际卡数确保首尾层在同一 GPU图片返回 400确认图片 URL 可公网访问或改用 base64 编码的image_url总结通过 LMDeploy 的api_server你只需一行命令就能为 InternVL3-8B 搭建出标准、稳定的 OpenAI 兼容 API将多模态大模型能力无缝接入现有业务系统。无论是做智能客服的图片识别、文档解析还是开发多模态 Agent这套 RESTful 服务都能开箱即用。赶紧动手试试吧【免费下载链接】InternVL3-8B项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/InternVL3-8B创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表