AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


LLM存真 · 使用AI工作流开发一个暴力监测应用(Ollama+Dify)
发布日期:2024-08-06 08:35:43 浏览次数: 2260 来源:1902时光机


暴力监测应用

本期文章是本系列Ollama功能介绍的最后一期文章,也是Dify应用的第1期介绍。这一期的内容首先介绍OllamaDify简易搭建的暴力监测应用,然后再展开介绍Ollama如何调用具备视觉能力的大模型。

对于Dify,这里做一个介绍。Dify 是一款LLM应用开发平台,是由苏州语灵牵头的开源项目。融合了后端即服务(Backend as Service)和 LLMOps 的理念,让开发者可以快速搭建生产级应用。

简单地说Dify这个平台可以使用低代码甚至只要会写提示词就能快速地搭出一个AI应用,在平台内大模型可以调用工作流(workflow),知识库以及自定义的API工具来进行应用开发。应用可以部署在Dify官网,也可以在AWS搭建平台来部署,当然因为是开源程序,也可以在本地进行部署。本文就是使用Dify在本地部署,通过与Ollama的结合来进行应用开发的。而Dify功能的详细介绍我将放在后期文章中。

本期搭建的应用是一个简易工作流,用它可以对图片进行场景识别,确认在图片中是否包含暴力犯·罪事件。我认为这个应用可以对摄像头下的暴力场景进行监测,同时也可以运用于霸凌事件的监测。

应用使用的工作流如下:

  1. 开始,以图片作为流程输入

  2. 场景描述LLM,使用具有识图能力的LLM对截图场景进行描述

  3. 翻译LLM,因视觉模型输出的只有英文,需要LLM进行翻译

  4. 性质分类LLM,LLM对翻译的文本进行判断,确定是否存在暴力犯·罪

  5. 当监测到暴力犯·罪场景时,通过机器人将场景内容在钉钉群中进行推送。

  6. 如果是非暴力犯·罪场景,就不在钉钉群进行提醒

  7. 最后对识别的场景信息进行留档

具体流程如下:

这里测试一个暴力场景,将其作为工作流输入。(由于画面血腥,为了过审在文中对图片进行了打码处理)

工作被触发后,机器人依次执行流程任务。并将结果反馈用户

可以看到当监测到暴力犯·罪时,机器人在钉钉群中进行了消息推送。

这个工作流的能力不仅如此,对于暴力但并不是犯罪的图片也能进行甄别,比如拳击运动。下图是在进行中的拳击比赛。(可能部分人会对此感到不适,特在此对其进行了打码处理。)

工作流成功地对拳击赛场景进行了识别,并将其归类为非暴力犯·罪的分类。同时钉钉机器人并没有被触发。

对于这个应用,我分享一下这个工作流使用的LLM,值得注意的是这三个LLM的文件体积都不大。

  1. 场景描述LLM,使用的是moondream:1.8B图片识别小LLM,文件大小3.7GB

  2. 翻译LLM,使用的是qwen2:1.5B具有较强的中文能力,  文件大小3.1GB

  3. 性质分类LLM, 使用的是phi3:3.8b-mini具有较强的逻辑判断能力, 文件大小7.6GB

从成本角度,这整个工作流调用的都是本地大模型,用的都是开源产品,因此主要的应用成本在设备的采购与人员的开发费用。是个经济实惠的应用方案。

关于怎么使用Dify来创建这个应用,我会在后续Dify使用教程中进行介绍。

至于这个应用如何扩展,我有一些设想。我觉得可以结合一些自动化的工具,对摄像头进行自动截图,利用Dify的API功能来调用前述的工作流来自动视频监测。另外,可以对分类器进行扩展,让它涵盖更广泛的应用场景。

接着,这篇文章的最后将介绍Ollama如何调用图像理解LLM


Ollama调用图像理解大模型

最近常被问,LLM能读懂图片的内容吗?其实这儿有个概念,叫做LLM的多模态能力。所谓多模态能力是大模型能够理解输入的语音、图片、视频以及输出语言、图片、视频的能力。目前的主流大厂都已经有相应的模型推出,比如Chatgpt, 阿里通义等等。

那如何在本地运行多模态的模型呢?需要很大的硬件投入吗?其实不用。

使用Ollama就能在本地运行具备图片理解能力的模型。只需要在Ollama官网的Models页面找模型页面中带Vision标签的。比如llava,moondream等模型。本文将介绍moondream模型

moondream是一个开源项目,目前在github有4.7k星,1.8B其实是moondream的第二代模型,虽然它的模型参数只有18亿,但它的能力还是比较突出。下图是官方的示例:

第一张图,moondream识别出该动漫角色在做什么(在桌上吃一个大大的汉堡),以及角色的头发颜色(白色)。

第二张图,moondream识别出这是什么(计算器服务器架子),背后有什么(砖墙)

接着,将介绍如何使用moondream模型。首先对模型进行拉取和运行

Ollama run moondream:1.7b-v2-fp16

这儿是一张猫咪躲在纸箱的图片

安装好模型后,只需要提示词后将图片拖入命令行窗口,模型就能对图片内容进行描述

下图是模型的反馈

Moondream模型返回的是英文回复,在此对其进行简单的翻译,如下:

The image features a black and white cat sitting inside an open cardboard box. The cat is peeking out from the top of the box, giving us a curious look at its unusual situation. This playful scene showcases the adorable nature of cats as they explore new spaces or objects to snuggle in.

翻译:图片展示了一只黑白相间的猫坐在一个打开的纸板箱里。这只猫从箱子顶部探出头来,用好奇的眼神看着它所处的不寻常情境。这个俏皮的场景展示了猫在探索新空间或寻找蜷缩对象时的可爱天性。

从回复的内容来看,模型对图片内容的描述还是比较具体而生动的。大家可以使用Ollama下载Vision模型进行一次尝试。

结束

以上就是本文的全部内容了!谢谢!



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询