百度云内容审核快速配置 (java)

为什么要选择百度云 ?

因为他免费用一年

首先要先开通百度云内容安全服务

按照操作指引走完整套

ContentCensor Java SDK目录结构**

com.baidu.aip├── auth                                //签名相关类├── http                                //Http通信相关类├── client                              //公用类├── exception                           //exception类├── contentcensor│       └── AipContentCensor           //AipContentCensor类└── util                                //工具类

支持 JAVA版本:1.7+

查看源码 Java SDK代码现已公开,您可以查看代码、或者在License范围内修改和编译SDK以适配您的环境。 github链接:GitHub - Baidu-AIP/java-sdk: 百度AI开放平台 Java SDK

使用maven依赖

添加以下依赖即可。其中版本号可在maven官网查询

我用的

<dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.16.14</version>
</dependency>

示例代码

配置完看应用列表 就有自己的应用信息


import com.baidu.aip.contentcensor.AipContentCensor;
import com.baidu.aip.contentcensor.EImgType;
import org.json.JSONObject;import java.io.IOException;public static void main(String[] args) {// 初始化一个AipContentCensorAipContentCensor client = new AipContentCensor(APP_ID, API_KEY, SECRET_KEY);// 可选:设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);// 调用接口String path = "http://n.sinaimg.cn/collect/transform/20170108/vKCs-fxzkssy1239249.jpg";//图片审核JSONObject resImage = client.imageCensorUserDefined(path,EImgType.URL,null);String text = "你是傻B";//文本审核JSONObject resText = client.textCensorUserDefined(text);System.out.println(resImage.toString());System.out.println(resText.toString());}
}

其它审核接口

内容审核平台 - 接口说明 | 百度AI开放平台 (baidu.com)

集成到项目中

1.配置类

import com.baidu.aip.contentcensor.AipContentCensor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 百度云Ai审核*/
@Configuration
@ConfigurationProperties(prefix = "baidu")
public class BaiduConfig {@Value("${baidu.appId}")private String appId;@Value("${baidu.apiKey}")private String apiKey;@Value("${baidu.secretKey}")private String secretKey;@Beanpublic AipContentCensor aipContentCensor(){AipContentCensor aipContentCensor = new AipContentCensor(appId, apiKey, secretKey);return aipContentCensor;}}

2.填写yaml

baidu:appId: 你自己的apiKey: 你自己的secretKey: 你自己的

3.封装工具类

package com.heima.common.baiduyun;import com.baidu.aip.contentcensor.AipContentCensor;
import com.baidu.aip.contentcensor.EImgType;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import javax.annotation.Resource;
import java.lang.annotation.ElementType;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;/*** 自定义的百度审核*/
@Component
public class MyBaiduCensor {@Resourceprivate AipContentCensor aipContentCensor;/*** 自定义审核纯文本内容* @param text* @return*/public String scanText(String text){JSONObject json = aipContentCensor.textCensorUserDefined(text);return (String) json.get("conclusion");}/*** 审核图片* 根据图片的在线url*/public String scanImage(String url){JSONObject result = aipContentCensor.imageCensorUserDefined(url, EImgType.URL, null);return (String) result.get("conclusion");}/*** 字节数组审核图片* @param image* @return*/public String scanImage(byte[] image){JSONObject jsonObject = aipContentCensor.imageCensorUserDefined(image, null);return (String) jsonObject.get("conclusion");}/*** 审核本地文件* @param imagePath 传入文件路径* @return*/public String scanImageFile(String imagePath){JSONObject jsonObject = aipContentCensor.imageCensorUserDefined(imagePath, EImgType.FILE, null);return (String) jsonObject.get("conclusion");}/*** 批量审核图片数组* @param imgList* @return*/public String scanImageList(List<byte[]> imgList){//做一个结果集List<String> resultList = new ArrayList<>();for (byte[] bytes : imgList) {String res = scanImage(bytes);if(res.equals("不合规")){//只要有一张是不合规的,就返回不合规return "不合规";}//就是疑似,合规,失败//添加到结果集中resultList.add(res);}//判断结果集合//如果有 疑似,则返回if(resultList.contains("疑似")||resultList.contains("审核失败")){return "疑似,需要人工审核";}//都没有,则return "合规";}}

4.在spring.properties 中添加这个类

为什么要这么写 因为如果要在模块A 调用模块B的bean  就要配置自动装配 ,否则会报错

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.heima.common.exception.ExceptionCatch,\com.heima.common.swagger.SwaggerConfiguration,\com.heima.common.swagger.Swagger2Configuration,\com.heima.common.baiduyun.MyBaiduCensor

5.测试结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/833601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA 好用的插件

图标插件&#xff1a;Atom Material Icons 此插件的作用就是更好的显示各种文件的类别&#xff0c;使之一目了然 汉化包 Chinese ​(Simplified)​ Language Pack / 中文语言包 作用就是 汉化 AI编码助手 GitHub Copilot AI编码助手&#xff1a;提示代码很好用 缺点&#xff1a…

vue3在router中使用pinia报错解决

问题 在router中使用pinia&#xff08;getActivePinia was called with no active Pinia. Did you forget to install pinia&#xff09;报错解决 解决 store/index.ts import { createPinia } from piniaconst pinia createPinia() export default piniamain.ts&#xff…

使用perf查看热点函数和系统调用最大延迟函数

1、安装perf工具 1.1、ubuntu 18.04 x86下的安装 安装sudo apt install linux-source sudo apt install linux-tools-uname -r # ubuntu 18.04虚拟机实操可行 1.2、ubuntu 18.04 ARM下的安装 参考 Nvidia Jetson系列产品安装Perf ​ARM64版本的Ubuntu上安装perf 与参考文…

windows11获取笔记本电脑电池健康报告

笔记本电脑的电池关系到我们外出时使用的安全&#xff0c;如果电池健康有问题需要及时更换&#xff0c;windows系统提供了检查电池健康度的方法。 1、打开命令行 1&#xff09;键入 winR 2&#xff09;键入 cmd 打开命令行。 2、在命令行运行如下指令&#xff0c;生成电池健…

DI-engine强化学习入门(九)环境包裹器(Env Wrapper)

在强化学习中&#xff0c;环境&#xff08;Environment&#xff09;是智能体&#xff08;Agent&#xff09;进行学习和互动的场所&#xff0c;它定义了状态空间、动作空间以及奖励机制。Env Wrapper&#xff08;环境包装器&#xff09;提供了一种方便的机制来增强或修改原始环境…

qt lnk2019 其中一种情况(obj未生成)

目录结果 dir1: test1.pri test1.h main.cpp test1.h中内容&#xff1a; class Test{ public:void test(); }; main.cpp中引用&#xff1a; Test test; test.test(); 编译时一直报lnk2019 找不到test函数&#xff0c;找不到Test的构造析构方法&#xff1b; 最终经过排查发…

很好的Baidu Comate,使我的编码效率飞起!

文章目录 背景及简单介绍Baidu Comate安装功能演示总结 &#x1f381;写在前面&#xff1a; 观众老爷们好呀&#xff0c;这里是前端小刘不怕牛牛频道&#xff0c;今天牛牛在论坛发现了一款便捷实用的智能编程助手&#xff0c;就是百度推出的Baidu Comate。下面是Baidu Comate评…

P2001装箱问题

题目描述: 有一个箱子容量为 &#x1d449;V&#xff0c;同时有 &#x1d45b;n 个物品&#xff0c;每个物品有一个体积。 现在从 &#x1d45b;n 个物品中&#xff0c;任取若干个装入箱内&#xff08;也可以不取&#xff09;&#xff0c;使箱子的剩余空间最小。输出这个最小…

MT3034 算术招亲

跟MT3033新的表达式类似&#xff0c;只多了一个括号合法性的判断 #include <bits/stdc.h> using namespace std; const int N 40; bool tag[N]; bool is_op(char c) {return c || c - || c * || c / || c ^; } int priority(char op) { // 优先级排序if (op ||…

pip opencv-python其一失败原因解决方案

pip opencv-python其一失败原因解决方案 错误原因&#xff1a; ----------------------------------------ERROR: Failed building wheel for opencv-pythonFailed to build opencv-pythonERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be in…

QT 设置窗口不透明度

在窗口作为子窗口时&#xff0c;setWindowOpacity设置窗口的不透明度可能会失效。 QGraphicsOpacityEffect *opacityEffect new QGraphicsOpacityEffect(this); opacityEffect->setOpacity(1.0); this->setGraphicsEffect(opacityEffect);// 创建属性动画对象&#xff…

vector、heap数组、stack数组访问性能验证

测试目的 本次测试旨在比较不同数据结构&#xff08;vector、数组&#xff09;以及不同访问方法&#xff08;[]、at()、offset&#xff09;在性能上的差异&#xff0c;从而为开发者提供在特定情境下做出最佳选择的依据。 测试代码 测试网址:Quick C Benchmarks 使用GCC9.5 …

微服务项目实战-黑马头条(十三):持续集成

文章目录 项目部署_持续集成1 今日内容介绍1.1 什么是持续集成1.2 持续集成的好处1.3 今日内容 2 软件开发模式2.1 软件开发生命周期2.2 软件开发瀑布模型2.3 软件的敏捷开发 3 Jenkins安装配置3.1 Jenkins介绍3.2 Jenkins环境搭建3.2.1 Jenkins安装配置3.2.2 Jenkins插件安装3…

中仕公考:非应届生能考军队文职吗?

军队文职考试的招生对象主要针对普通高等学校的毕业生以及社会人才&#xff0c;报考条件中并没有限制考生必须是应届毕业生。所以&#xff0c;往届毕业生也是具备报考资格的&#xff0c;只需其满足相关的申请条件即可。 报考人员可大致分为三类&#xff1a;普通高校毕业生、社…

Linux中云盘/磁盘,爆满处理方式

1&#xff1a;du和df命令查看磁盘大小不一致 以下是阿里云服务器云盘使用率 运行 du -sh / 大小为20g 我的服务器大小为40g 按道理说这个云盘使用率应该是百分之五十 而运行 df -h / 这个命令是跟这个云盘使用率差不多的。 1.1分析原因 我安装了mysql&#xff0c;nginx…

微信投票小程序源码系统 独家支持礼物投票 道具投票盈利能力超强 带完整的安装代码包以及搭建教程

微信小程序的快速发展&#xff0c;各类应用场景层出不穷&#xff0c;其中投票小程序因其广泛的适用性和互动性&#xff0c;成为了许多企业和个人推广、活动的首选工具。小编给大家分享一款微信投票小程序源码系统&#xff0c;该系统以其独特的礼物投票和道具投票功能&#xff0…

公众号流量主的收益怎么样?

公众号之前是一个私域平台&#xff0c;没有粉丝基本是没有推荐的&#xff0c;所以之前入门的门槛还是很高的&#xff0c;但是今年公众号和视频号改变了推流的机制&#xff0c;现在发的文章会进入到流量池中&#xff0c;进入到公域流量&#xff0c;所以发布的优质文章会大爆的&a…

UDS 诊断问题 1 禁止肯定响应位是?

https://zhidao.baidu.com/question/309042832640046964.html 禁止肯定响应位是什么 在车里CAN诊断中&#xff0c;如果哪个诊断子功能支持禁止肯定响应位&#xff0c;并且为1&#xff0c;如10 03 此时向该ECU发送请求10 83&#xff0c;那么ECU不会回复任何报文&#xff0c;也就…

大模型驱动的新一代 BI 平台,Sugar BI 开启智慧决策新模式

本文整理自 2024 年 4 月 16 日的 2024 百度 Create 大会上的《大模型驱动的新一代 BI 平台如何开启智慧决策》分享。 全文包括了可视化 BI 分析技术架构、智能图表推荐策略与规则设计、Sugar Bot 智能问数的技术实现流程&#xff0c;以及目前的场景应用等。 1 Sugar BI 产…

C#语言基础

一、复杂数据类型 1. 枚举 1.1 基本概念 1.1.1 枚举是什么 枚举是一个被命名的整型常量的集合&#xff0c;一般用它来表示状态、类型等等 1.1.2 申明枚举和申明枚举变量 申明枚举和申明枚举变量是两个概念 申明枚举&#xff1a;相当于是创建一个自定义的枚举类型 申明枚…