当前位置: 首页 > Linux运维 > Docker > 通过Docker部署一个open_nsfw搭建一个私有的图片鉴黄API

通过Docker部署一个open_nsfw搭建一个私有的图片鉴黄API

发布于:2022-4-18 最后更新:2022-7-10 Docker 6条评论 13,642 views
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

NSFW JS是一个简单的 JavaScript 库,已经在Github开源,可帮助您快速识别不合时宜的图像;NSFWJS 并不完美,但它非常准确(小型模型约为 90%,中型模型约为 93%)而且它一直在变得越来越准确。

Docker部署一个NSFW JS

目前已经有网友将NSFW JS打包成Docker镜像,并提供REST API支持,部署后可以通过HTTP API调用。另外ImgURL Pro也即将支持NSFW JS鉴黄,Docker私有部署NSFW JS则是前提,下面一起来安装下。

#复制下面的命令部署NSFW JS
docker run -d -p 127.0.0.1:5000:5000/tcp \
  --env PORT=5000 \
  --restart=always \
  eugencepoi/nsfw_api:latest

注意:上面部署完毕后仅支持本地127.0.0.1访问,无法公开访问,如果您需要公开访问,请去掉127.0.0.1:

测试

部署完毕后您可以通过curl命令测试是否成功:

curl -X GET -H 'Content-Type: application/json' "http://127.0.0.1:5000?url=https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"

如果成功会返回如下格式的json内容:

{
    "score": 0.00016061133646871895,
    "url": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
}

注意:经过xiaoz测试,如果图片URL地址带有端口号会识别不了而报错。

返回字段说明

score是图片得分,范围在0-1之间,1 表示它肯定是成人内容,而 0 则不是。经过xiaoz测试,其实大于0.9就可以认为是成人内容。

更多使用说明可以查看Docker hub上的介绍:https://hub.docker.com/r/eugencepoi/nsfw_api

类似服务

如果您不想自行搭建鉴黄API,也可以看看另外2个免费的鉴黄接口:《分享2个国外的免费图片识别(鉴黄)接口》,遗憾的是免费的有额度限制。

总结

通过Docker部署NSFW JS,可以很方便的搭建一个支持HTTP API的的鉴黄服务器,并且不受额度和数量限制。经过xiaoz测试准确度一般,胜在免费开源。


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注


已有6条评论


          1. 是的,我去看了下,确实是基于雅虎的open_nsfw,而不是nsfwjs,感谢纠正。