“NSFW” 是 “Not Safe For Work” 的缩写,通常用于标记那些在工作场所可能不适当的的在线内容。这种内容可能包含暴力、色情、血腥、或者其他可能被认为是令人反感或冒犯的材料,最常见的原因……是 18+ 成人内容。在许多在线平台,如 Reddit、Twitter 和其他社区网站上,可以看到 “NSFW” 的标签。
如果在办公场所浏览这些内容,老板看到后肯定会让你卷铺盖走人。
秉着**「好好学习,天天向上」**的精神,我们应该对自己的产品进行 NSFW 鉴黄,这也是对客户负责,至于什么明步、什么玛利亚、什么结衣,我是绝对不认识的,一切都是为了打磨产品!
前方高能预警,非战斗人士请火速撤离……
很高兴向大家介绍我们的开源 AI 项目 NSFW(Not Safe For Work)!NSFW 是一个用于图片鉴黄的项目,通过使用深度学习技术,我们可以快速、高效地识别图像中是否包含成人内容,从而帮助保护网络环境的健康和安全。
GitHub 项目链接:https://github.com/EthanD4869/nsfw。
我们为该项目提供了一个轻量级的模型,并且提供了 Dockerfile,让用户可以轻松地部署和运行该模型,而无需担心环境适配问题。只需更改 NSFW 所测的图片 URL,即可进行图像鉴黄操作。
NSFW 支持 GPU 加速,使得每秒钟可以处理多张图片,即使是在 CPU 上,我们也能够以每秒钟 1 张图的速度运行。动动手指,3 分钟内即可完成部署,让您在图像鉴黄方面比拟多个鉴黄师。
由于涉及图片内容较为敏感,训练数据不方便共享,但我们提供了一个轻量级的模型,使得用户可以在不泄露隐私的情况下进行图片鉴黄操作。该项目非常实用,帮助您在保护网络环境方面发挥重要作用。
接下来将会介绍如何在 Sealos 中一键部署 nsfw,并使用 Laf 调用 nfsw 的接口进行鉴黄。
首先需要进入 Sealos 桌面:https://cloud.sealos.io。
然后在桌面上打开「应用管理」:
在 「应用管理」 中,点击「新建应用」来创建一个新的应用。
基础配置:
部署模式:
网络配置:
注意:我们这里使用的是最低配置,您可以根据自己的需求加大配置。
继续往下,展开高级设置,点击「编辑环境变量」:
填入以下环境变量:
API_SECRET_KEY=<api_secret_key> ⚠️注意:请将 <api_secret_key> 替换为你自定义的 key。
最终点击右上角的「部署应用」,即可完成部署:
最终要等待所有的实例都处于 Running 状态,才算是启动成功了。
点击右边的复制按钮,便可复制 API 的外网地址:
接下来我们来测一下这个 API。
注册登录之后,点击新建,建立一个应用:
点击开发,进入应用开发界面:
然后我们点击函数,函数列表右侧的加号,新增一个 nsfw 的云函数:
云函数完整代码如下:
import cloud from '@lafjs/cloud' export default async function (ctx: FunctionContext) { const endpointUrl = 'https://rfsofcrcuopp.cloud.sealos.io'; const imageUrl = '//img1.sycdn.imooc.com/64bdc535000199d808801320.png'; const key = 'key123'; const res = await cloud.fetch.post(endpointUrl + '/process_image', { url: imageUrl }, { headers: { Authorization: 'Bearer ' + key } }); let sum = res.data['image.jpg'].hentai + res.data['image.jpg'].porn + res.data['image.jpg'].sexy console.log(res.data) console.log("sum", sum) }
复制代码并修改 url 和 key 后就可以运行了。
我们先拿一张 AI 画的小姐姐来测试一下:
运行结果如下:
这里的 sum = hentai+porn+sexy。sum 值越接近于 1,说明图片越有可能不可描述!
这里的 sum 值是 0.13,问题不大啦。
再拿张小姐姐测试一下:
运行结果如下:
非常健康!
最后再拿一张不可描述的图片测试一下:
这个图片问题很大哦,千万不要有大胆的想法~