使用 Sealos 三分钟打造鉴黄神器,我有个大胆的想法……
共 3801字,需浏览 8分钟
·
2023-07-28 09:35
Sealos 公众号已接入了 GPT-4,完全免费!欢迎前来调戏👇
![](https://filescdn.proginn.com/7726af71e3bc47ae580469af8ab3540e/4f90bfeef71a9b62c5593d80038080a3.webp)
"NSFW" 是 "Not Safe For Work" 的缩写,通常用于标记那些在工作场所可能不适当的的在线内容。这种内容可能包含暴力、色情、血腥、或者其他可能被认为是令人反感或冒犯的材料,最常见的原因……是 18+ 成人内容。在许多在线平台,如 Reddit、Twitter 和其他社区网站上,可以看到 "NSFW" 的标签。
如果在办公场所浏览这些内容,老板看到后肯定会让你卷铺盖走人。
秉着「好好学习,天天向上」的精神,我们应该对自己的产品进行 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 的接口进行鉴黄。
步骤 1:首先进入 Sealos 并打开「应用管理」
首先需要进入 Sealos 桌面:https://cloud.sealos.io。
然后在桌面上打开「应用管理」:
![](https://filescdn.proginn.com/e645c3deb63e899f2deb4233cefdacbb/477c922806f55e301b3f91e070f708ae.webp)
步骤 2:新建应用
在 「应用管理」 中,点击「新建应用」来创建一个新的应用。
![](https://filescdn.proginn.com/a43d8df3fa55127e4282be1cf4924f15/8616757760102ebdd53a79369b2ee37e.webp)
步骤 3:设置启动参数
基础配置:
-
应用名称(自定义:nsfw -
镜像名 (默认最新版本):ethandai4869/nsfw-auth -
CPU(推荐):0.5 Core -
内存(推荐):512 MB
部署模式:
-
实例数(自定义):1
网络配置:
-
容器暴露端口:5000 -
外网访问:开启
注意:我们这里使用的是最低配置,您可以根据自己的需求加大配置。
![](https://filescdn.proginn.com/806915ff304abe0691c849105a03930a/69cda28c66749d3be191013e4c7ccdc2.webp)
步骤 4:设置环境变量
继续往下,展开高级设置,点击「编辑环境变量」:
![](https://filescdn.proginn.com/2b107c7337e701cc1e0024b681e50d04/ba2bccc7a25a601313747f53847fa7d2.webp)
填入以下环境变量:
API_SECRET_KEY=<api_secret_key>
⚠️注意:请将 <api_secret_key> 替换为你自定义的 key。
![](https://filescdn.proginn.com/e078e56d190868730a9e7dd3a0b43484/640a1457d07806ea476fe6975dac7d3a.webp)
步骤 5:部署应用
最终点击右上角的「部署应用」,即可完成部署:
![](https://filescdn.proginn.com/c09bc9c15eb7d005938d9c3e5f72127c/fafef1626205bf290871c19326daff93.webp)
部署成功
最终要等待所有的实例都处于 Running 状态,才算是启动成功了。
![](https://filescdn.proginn.com/9434f9c03820bb82ca75082a3d13735b/9423b4b050ddd13a8fd59e68a6d23ac5.webp)
点击右边的复制按钮,便可复制 API 的外网地址:
![](https://filescdn.proginn.com/2ec11645ad97ac19b97362f00d2d4ec4/4c479f0a4edae25608189ead561c800d.webp)
接下来我们来测一下这个 API。
使用 Laf 调用 nsfw
步骤 1:首先进入 Sealos 并打开 laf 函数计算
![](https://filescdn.proginn.com/868fbae2bafee51e38aec7e099076875/b0c1356ad5771999df159974004c4106.webp)
步骤 2:新建应用
注册登录之后,点击新建,建立一个应用:
![](https://filescdn.proginn.com/b55a1a6e4601f7d0123f961fcfe55274/d0c116b3bbf4abac7df73d7eb8e076a8.webp)
![](https://filescdn.proginn.com/f955a13ce239d02c790abd6297dbf72d/aa33775d552702609e0215cff5969695.webp)
步骤 3:开发
点击开发,进入应用开发界面:
![](https://filescdn.proginn.com/6c601677eef451d4dcc1cc1bed343390/b02f83ddf6949612e33aa6578dc409ae.webp)
步骤 4:新建云函数
然后我们点击函数,函数列表右侧的加号,新增一个 nsfw 的云函数:
![](https://filescdn.proginn.com/ac9298f69a92387881f755d73179c9c3/90854f9106b43d94c49b779d9a57ed71.webp)
![](https://filescdn.proginn.com/7ca860b98cd8c27632838161bf43d2ae/cf38e215fef14af15c7ecccd567d823b.webp)
步骤 5:调试代码并运行
云函数完整代码如下:
import cloud from '@lafjs/cloud'
export default async function (ctx: FunctionContext) {
const endpointUrl = 'https://rfsofcrcuopp.cloud.sealos.io';
const imageUrl = 'https://jsdelivr.icloudnative.io/gh/yangchuansheng/imghosting5@main/uPic/2023-07-21-16-20-lazaKD.jpg';
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 画的小姐姐来测试一下:
![](https://filescdn.proginn.com/1afc9ccebb0fbf4a30ab2b8634f42afc/0b38430eef47a1ea1f5383d210fd7465.webp)
运行结果如下:
![](https://filescdn.proginn.com/ee3e318ce8574b42cd075f847a30e05e/75f2ffe1a63b828c13275742ec07c179.webp)
❝这里的 sum = hentai+porn+sexy。sum 值越接近于 1,说明图片越有可能不可描述!
这里的 sum 值是 0.13,问题不大啦。
再拿张小姐姐测试一下:
![](https://filescdn.proginn.com/8986ba82149ca87d65e25ba91290f202/9911307f6261ed2b45aa4abef70a8567.webp)
运行结果如下:
![](https://filescdn.proginn.com/5eed258adca53ec8e8f139e28d92f84e/31d17e6866676cb8c8f9249004e21f3f.webp)
非常健康!
最后再拿一张不可描述的图片测试一下:
![](https://filescdn.proginn.com/5208d092e5c9fadee9755b9c0cba9748/cee101117e9d455a1edf7c39e3bfc927.webp)
这个图片问题很大哦,千万不要有大胆的想法~
关于 Sealos
Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。
🌟GitHub:https://github.com/labring/sealos
🏠官网:https://sealos.io
💻开发者论坛:https://forum.laf.run
关注 Sealos 公众号与我们一同成长👇👇👇