当前位置: 首页 > article >正文

Liquid AI LFM2.5-VL-1.6B代码实例:Python调用OCR+图文生成双任务Pipeline

Liquid AI LFM2.5-VL-1.6B代码实例Python调用OCR图文生成双任务Pipeline1. 模型概述LFM2.5-VL-1.6B是Liquid AI发布的轻量级多模态模型专为端侧和边缘设备设计。这个1.6B参数的视觉语言模型1.2B语言400M视觉能够在低显存环境下高效运行特别适合需要快速响应的应用场景。1.1 核心特点轻量高效仅需3GB GPU显存即可运行多模态能力同时处理图像和文本输入端侧优化专为边缘计算设备设计快速响应低延迟推理2. 环境准备2.1 硬件要求组件最低配置推荐配置GPUNVIDIA 4GB显存NVIDIA 8GB显存内存8GB16GB存储10GB可用空间SSD存储2.2 软件依赖pip install torch transformers pillow3. 快速启动指南3.1 WebUI方式模型已预装Web界面可通过以下命令管理服务# 查看服务状态 supervisorctl status lfm-vl # 重启服务 supervisorctl restart lfm-vl # 查看日志 tail -f /var/log/lfm-vl.out.log访问地址http://localhost:78603.2 命令行启动cd /root/LFM2.5-VL-1.6B python webui.py4. Python API调用实战4.1 基础图片描述功能import torch from PIL import Image from transformers import AutoProcessor, AutoModelForImageTextToText # 初始化模型 MODEL_PATH /root/ai-models/LiquidAI/LFM2___5-VL-1___6B processor AutoProcessor.from_pretrained(MODEL_PATH, trust_remote_codeTrue) model AutoModelForImageTextToText.from_pretrained( MODEL_PATH, device_mapauto, dtypetorch.bfloat16, trust_remote_codeTrue ) model.eval() # 加载图片 image Image.open(product.jpg).convert(RGB) # 构建对话 conversation [ { role: user, content: [ {type: image, image: image}, {type: text, text: 描述这张图片中的商品} ] } ] # 生成描述 text processor.apply_chat_template(conversation, add_generation_promptTrue, tokenizeFalse) inputs processor.tokenizer(text, return_tensorspt, paddingTrue, truncationTrue, max_length2048) inputs {k: v.to(model.device) for k, v in inputs.items()} with torch.no_grad(): outputs model.generate( **inputs, max_new_tokens256, temperature0.1, min_p0.15, do_sampleTrue, ) print(processor.batch_decode(outputs, skip_special_tokensTrue)[0].strip())4.2 OCR文档理解功能# 使用相同的模型初始化代码 # 加载包含文字的图片 doc_image Image.open(invoice.jpg).convert(RGB) # 构建OCR请求 ocr_conversation [ { role: user, content: [ {type: image, image: doc_image}, {type: text, text: 提取这张发票上的所有文字信息} ] } ] # 处理OCR请求 text processor.apply_chat_template(ocr_conversation, add_generation_promptTrue, tokenizeFalse) inputs processor.tokenizer(text, return_tensorspt, paddingTrue, truncationTrue, max_length2048) inputs {k: v.to(model.device) for k, v in inputs.items()} with torch.no_grad(): outputs model.generate( **inputs, max_new_tokens512, # 需要更多token处理长文本 temperature0.1, min_p0.1, do_sampleTrue, ) print(processor.batch_decode(outputs, skip_special_tokensTrue)[0].strip())5. 双任务Pipeline实现5.1 OCR图文生成工作流def process_image_with_ocr_and_description(image_path): # 加载图片 image Image.open(image_path).convert(RGB) # 第一步OCR提取文字 ocr_prompt 提取图片中的所有文字内容 ocr_result generate_response(image, ocr_prompt) # 第二步基于OCR结果生成描述 desc_prompt f根据以下文字内容描述图片{ocr_result} description generate_response(image, desc_prompt) return { ocr_text: ocr_result, description: description } def generate_response(image, prompt): conversation [ { role: user, content: [ {type: image, image: image}, {type: text, text: prompt} ] } ] text processor.apply_chat_template(conversation, add_generation_promptTrue, tokenizeFalse) inputs processor.tokenizer(text, return_tensorspt, paddingTrue, truncationTrue, max_length2048) inputs {k: v.to(model.device) for k, v in inputs.items()} with torch.no_grad(): outputs model.generate( **inputs, max_new_tokens512, temperature0.3, min_p0.1, do_sampleTrue, ) return processor.batch_decode(outputs, skip_special_tokensTrue)[0].strip() # 使用示例 result process_image_with_ocr_and_description(product_with_label.jpg) print(提取的文字:, result[ocr_text]) print(\n生成的描述:, result[description])5.2 多语言支持示例# 中文图片描述 cn_conversation [ { role: user, content: [ {type: image, image: image}, {type: text, text: 用中文描述这张图片} ] } ] # 日语OCR提取 jp_conversation [ { role: user, content: [ {type: image, image: jp_doc}, {type: text, text: この画像からテキストを抽出してください} ] } ]6. 性能优化建议6.1 推荐生成参数任务类型temperaturemin_pmax_new_tokens说明事实问答0.1-0.30.1256保持低随机性创意描述0.5-0.70.15512增加创造性OCR提取0.10.051024最大化准确性多轮对话0.3-0.50.1384平衡连贯性6.2 批处理优化# 同时处理多张图片 def batch_process(images, prompts): conversations [] for img, prompt in zip(images, prompts): conversations.append({ role: user, content: [ {type: image, image: img}, {type: text, text: prompt} ] }) text processor.apply_chat_template(conversations, add_generation_promptTrue, tokenizeFalse) inputs processor.tokenizer(text, return_tensorspt, paddingTrue, truncationTrue, max_length2048) inputs {k: v.to(model.device) for k, v in inputs.items()} with torch.no_grad(): outputs model.generate( **inputs, max_new_tokens256, temperature0.3, min_p0.1, do_sampleTrue, ) return processor.batch_decode(outputs, skip_special_tokensTrue)7. 常见问题解决7.1 模型加载问题问题Unable to load model weights解决方案# 检查模型文件完整性 ls -lh /root/ai-models/LiquidAI/LFM2___5-VL-1___6B/ # 确保有足够权限 chmod -R 755 /root/ai-models/LiquidAI/LFM2___5-VL-1___6B/7.2 显存不足问题问题CUDA out of memory优化建议# 使用更低精度的数据类型 model AutoModelForImageTextToText.from_pretrained( MODEL_PATH, device_mapauto, dtypetorch.float16, # 使用fp16代替bf16 trust_remote_codeTrue ) # 减小输入图像分辨率 image image.resize((256, 256))7.3 对话模板错误问题str object has no attribute to正确用法# 错误方式 inputs processor.apply_chat_template(...).to(device) # 正确方式 text processor.apply_chat_template(..., tokenizeFalse) inputs processor.tokenizer(text, return_tensorspt) inputs {k: v.to(model.device) for k, v in inputs.items()}8. 总结LFM2.5-VL-1.6B作为一款轻量级多模态模型为开发者提供了强大的图像理解和文本生成能力。通过本文介绍的Python API调用方法您可以轻松实现图片内容描述自动生成图片的自然语言描述OCR文字提取从图片中准确识别文字内容双任务Pipeline结合OCR和图文生成的复合工作流多语言支持处理不同语言的图片和文本该模型特别适合部署在资源受限的边缘设备上为各种应用场景提供高效的视觉语言理解能力。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关文章:

Liquid AI LFM2.5-VL-1.6B代码实例:Python调用OCR+图文生成双任务Pipeline

Liquid AI LFM2.5-VL-1.6B代码实例:Python调用OCR图文生成双任务Pipeline 1. 模型概述 LFM2.5-VL-1.6B是Liquid AI发布的轻量级多模态模型,专为端侧和边缘设备设计。这个1.6B参数的视觉语言模型(1.2B语言400M视觉)能够在低显存环…...

从Q235方钢仿真说起:Workbench静力学分析网格划分的‘质量’与‘速度’平衡术

从Q235方钢仿真说起:Workbench静力学分析网格划分的‘质量’与‘速度’平衡术 在工程仿真领域,网格划分往往被视为一项基础操作,但真正决定仿真成败的恰恰是这一环节的精细把控。当我们面对一根Q235材质的1001001000mm方钢进行静力学分析时&a…...

告别拼接调试!用苏映视INS-CHVS-XX微距相机,搞定锂电池隔膜在线检测的完整配置流程

锂电池隔膜检测革命:一体化微距视觉系统的部署实践 在锂电池制造工艺中,隔膜作为正负极之间的关键屏障,其质量直接影响电池的安全性能和循环寿命。传统检测方案往往依赖多台线扫相机拼接成像,不仅调试复杂、安装空间受限&#xff…...

TerraMaster D1 SSD Pro Thunderbolt 5硬盘盒评测与使用指南

1. 产品概述:TerraMaster D1 SSD Pro Thunderbolt 5硬盘盒TerraMaster最新推出的D1 SSD Pro Thunderbolt 5硬盘盒,是前代Thunderbolt 4版本D1 SSD Plus的全面升级。作为一名长期使用各类外置存储设备的视频剪辑师,我第一时间入手测试了这款产…...

Maccy:macOS上终极免费的剪贴板管理神器

Maccy:macOS上终极免费的剪贴板管理神器 【免费下载链接】Maccy Lightweight clipboard manager for macOS 项目地址: https://gitcode.com/gh_mirrors/ma/Maccy 还在为复制的内容被覆盖而烦恼吗?Maccy就是你的救星!这款专为macOS设计…...

10kWh锂电池完整设计方案要求【浩博电池】

10kWh锂电池完整设计方案要求10kWh锂电池系统属于中型动力与储能一体化电源,广泛应用于AGV/AMR、无人车、工业机器人、移动储能设备及中小型工程机械。该容量段的设计核心已经从“单纯供电”升级为高安全性高功率输出系统级可靠性控制。一、总体设计目标10kWh锂电池…...

别再为抓包发愁!手把手教你用Charles配置HTTPS代理(附iOS/Android证书安装避坑指南)

移动端HTTPS抓包实战:Charles从零配置到高阶调试技巧 "为什么我的App请求在Charles里全是unknown?"——这是移动端开发者最常遇到的灵魂拷问。当你需要调试一个线上故障,或是分析某个API的响应数据时,却发现抓包工具里一…...

免费AI学习资源全指南:从理论到实践

1. 在线AI教育资源全景概览当我在2018年第一次尝试系统学习机器学习时,面对动辄上万的付费课程和晦涩的学术论文,几乎陷入了绝望。直到偶然发现斯坦福的公开课视频,才意识到原来顶级AI教育资源早已向公众敞开大门。如今五年过去,我…...

【限时解密】VSCode 1.89+版本性能断崖式下降真相:electron 25迁移引发的配置兼容性危机

更多请点击: https://intelliparadigm.com 第一章:VSCode 1.89性能断崖的现场还原与归因定位 自 VSCode 1.89 版本起,大量用户报告在开启大型 TypeScript 工作区(含 >5k 文件)时,编辑器响应延迟显著上升…...

从F-35的AN/APG-81雷达聊起:实战视角下的雷达方程参数权衡与系统设计

从F-35的AN/APG-81雷达看现代机载相控阵系统的设计哲学 当F-35闪电II战斗机以1.6马赫速度穿透云层时,飞行员眼前的态势感知画面正由机鼻处那台AN/APG-81有源相控阵雷达(AESA)实时构建。这款被洛克希德马丁称为"飞行超级计算机"的雷…...

批量给文件夹添加序号?7个方法,不用手动一个个标

你是不是也遇到过这种情况?工作电脑里存着十几个项目文件夹,客户资料、设计稿、会议纪要堆得像小山,每次找文件都得从头翻到尾,翻到最后自己都忘了要找啥。我之前就因为文件夹没排序,被甲方催得焦头烂额,后…...

别再手动复制粘贴了!用Python-docx+Matplotlib,5分钟搞定周报/月报自动化

告别重复劳动:Python自动化周报生成实战指南 每周五下午,当同事们开始整理数据、复制粘贴图表时,小李已经收拾好背包准备下班。他的秘密武器是一套用Python编写的自动化报告系统,只需5分钟就能生成图文并茂的周报。本文将揭秘这套…...

VMware Workstation里玩转PPPoE:手把手教你搭建Ubuntu服务器+Windows客户端验证环境

在VMware虚拟环境中构建PPPoE实验平台的深度实践指南 虚拟化网络实验的价值与场景 对于网络工程师和IT学习者而言,能够随时搭建一个隔离的、可重复的实验环境至关重要。VMware Workstation提供的虚拟网络功能,让我们可以在单台物理机上模拟复杂的网络拓扑…...

HiSpark Studio + 星闪(NearLink)开发:手把手教你实现无线数据传输与卡尔曼滤波测距

HiSpark Studio 星闪(NearLink)开发实战:无线数据传输与卡尔曼滤波测距全解析 1. 项目背景与核心价值 在物联网设备爆发式增长的今天,传统蓝牙和WiFi技术在时延、功耗和连接数等方面逐渐显现瓶颈。星闪(NearLink&…...

避开这些坑!VisionPro多目标圆测量项目从调试到稳定的完整流程

VisionPro多目标圆测量实战:从参数调优到工业级稳定的避坑指南 在工业视觉检测领域,多目标圆的精确测量一直是看似简单却暗藏玄机的任务。当您面对数百个相似零件需要同时测量半径时,光照的微妙变化、材料的轻微形变、机械振动的干扰&#xf…...

为什么你的VSCode AI调试总卡在“Loading…”?(实测17种配置组合,仅3种通过LLM上下文一致性验证)

更多请点击: https://intelliparadigm.com 第一章:为什么你的VSCode AI调试总卡在“Loading…”?(实测17种配置组合,仅3种通过LLM上下文一致性验证) VSCode 中集成 AI 调试插件(如 GitHub Copi…...

告别内存焦虑:手把手教你用TPUv3高效训练ViT-G/14,20亿参数模型也能轻松跑起来

突破硬件限制:TPUv3实战ViT-G/14模型的20亿参数训练秘籍 当视觉Transformer模型参数突破20亿大关,单卡训练似乎已成为不可能完成的任务。但谷歌大脑团队用ViT-G/14的90.45% ImageNet准确率证明:通过精妙的架构调整和硬件适配,单TP…...

Solid Edge 2023 新手上路:从软件下载到成功激活的保姆级图文指南(附资源与避坑要点)

1. 为什么选择Solid Edge 2023? 作为西门子旗下知名的三维CAD软件,Solid Edge 2023在工业设计领域一直保持着领先地位。我刚开始接触这款软件时,最直观的感受就是它的操作界面非常友好,即使是完全没有CAD基础的用户也能快速上手。…...

Windows平台APK安装技术解析:轻量级安卓应用部署解决方案

Windows平台APK安装技术解析:轻量级安卓应用部署解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在Windows操作系统上运行安卓应用的需求日益增长&…...

从零搭建VSCode下的PyQt5桌面开发工作流:集成Python、Qt Designer与高效调试

1. 为什么选择VSCodePyQt5开发桌面应用? 作为一个长期使用PyQt5开发桌面应用的老手,我尝试过各种开发环境组合,最终发现VSCodePyQt5是最适合个人开发者和小型团队的方案。你可能会有疑问:为什么不用PyCharm这样的专业Python IDE&…...

Qt 5.15.2 手动编译MySQL驱动全攻略:从源码缺失到连接成功

1. 问题根源:为什么Qt 5.15.2没有内置MySQL驱动 第一次在Qt 5.15.2中使用QSqlDatabase连接MySQL数据库时,看到"QMYSQL driver not loaded"这个错误提示,很多开发者都会感到困惑。明明之前的Qt版本都能直接使用MySQL驱动&#xff0c…...

C++编写百万QPS MCP网关的5个反直觉陷阱:90%团队在第3步就发生连接雪崩

更多请点击: https://intelliparadigm.com 第一章:C编写百万QPS MCP网关的底层性能认知重构 传统网关性能瓶颈常被归因于线程模型或协议解析,但真实制约百万级QPS的核心在于**内存访问模式、缓存行竞争与内核旁路路径的协同失效**。在MCP&am…...

微信小程序实战:从零构建一个高精度计算器

1. 为什么需要高精度计算器 在日常开发中,我们经常遇到一个头疼的问题:JavaScript的浮点数计算不准确。比如0.10.2的结果不是0.3,而是0.30000000000000004。这种精度问题在金融、科学计算等场景下会造成严重错误。 我在开发电商小程序时就踩过…...

【限时公开】某头部电力IoT厂商已量产的嵌入式大模型部署框架(含CMSIS-NN定制OP扩展包+GDB远程符号调试桩),仅开放前500名开发者下载

更多请点击: https://intelliparadigm.com 第一章:嵌入式 C 语言与轻量级大模型适配 生产环境部署 在资源受限的嵌入式设备(如 Cortex-M7、ESP32-S3 或 RISC-V MCU)上部署轻量级大模型,需突破传统 C 语言生态与神经网…...

Google TimesFM实战:零代码搞定时间序列预测(附数据集获取技巧)

Google TimesFM实战:零代码搞定时间序列预测(附数据集获取技巧) 时间序列预测一直是商业决策中的关键工具,从销售趋势分析到库存管理,再到市场需求预测,准确的时间序列预测能帮助企业提前布局,…...

【UG/NX二次开发】核心函数实战:从对话框交互到几何建模

1. UG/NX二次开发入门:从零搭建参数化对话框 UG/NX作为工业设计领域的标杆软件,其二次开发能力让工程师能够将重复性工作自动化。我第一次接触NX Open API时,面对上千个函数确实有些无从下手。后来发现,从对话框开发切入是最快上手…...

PS 抠完图怎么加外描边?超简单 3 种方法,零基础秒学会

做设计、电商配图、海报制作时,抠图只是基础步骤。给抠好的人物、产品、素材添加描边,既能强化主体轮廓、区分画面层次,还能提升整体视觉质感。但很多 PS 新手抠完图后,不知道怎么快速加描边,容易出现边缘锯齿、描边遮…...

Betaflight飞控系统实战:解决无人机飞行稳定性问题的完整方案

Betaflight飞控系统实战:解决无人机飞行稳定性问题的完整方案 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight Betaflight作为开源无人机飞控系统的标杆,为FPV竞速…...

没有PS基础,怎么给黑白照片上色?步骤清晰一看就会

很多人家里都留存着老旧黑白照片,想要翻新上色、还原复古色彩;也有不少日常黑白素材,需要转换成彩色版本。很多零基础小白一看到 PS 众多工具就犯难,手动上色容易颜色杂乱、肤色失真、画面违和。今天就给大家分享纯新手也能看懂的…...

别再只盯着SQL注入了!熊海CMS靶场隐藏的XSS与文件包含漏洞挖掘指南

熊海CMS靶场深度审计:突破SQL注入思维定式的XSS与文件包含实战 在安全测试领域,SQL注入往往成为初学者的"舒适区",而熊海CMS靶场恰恰提供了突破这种思维定式的绝佳训练场。当我们过度聚焦于数据库层面的攻击时,可能忽略…...