百度内容审核接口测试

news2024/11/20 8:27:52

百度内容审核接口测试

1、成为开发者

三步完成账号的基本注册与认证:

STEP1:点击百度AI开放平台导航右侧的控制台,选择需要使用的AI服务项。若为未登录状态,将跳转至登录界面,请您使用百度账号登录。如还未持有百度账户,可以点击此处注册百度账户。
STEP2:首次使用,登录后将会进入开发者认证页面,请填写相关信息完成开发者认证。注:(如您之前已经是百度云用户或百度开发者中心用户,此步可略过)。
STEP3:通过控制台左侧导航,选择产品服务-人工智能,进入具体AI服务项的控制面板(如文字识别、人脸识别),进行相关业务操作。

2、创建应用

账号登录成功,您需要创建应用才可正式调用AI能力。应用是您调用API服务的基本操作单元,您可以基于应用创建成功后获取的API Key及Secret Key,进行接口调用操作,及相关配置。

image-20230621145436554

点击进入

image-20230621145551985

拿到需要的资料:

AppId:

351165xx

API Key:

vUPhwzKPAyYxgOxxx

Secret Key:

X6qYI3Vf43pjaELCIpXTHKvGxxxx

3、审核代码实现:

添加依赖:

<!-- 百度的api 依赖 -->
<dependency>
    <groupId>com.baidu.aip</groupId>
    <artifactId>java-sdk</artifactId>
    <version>4.8.0</version>
</dependency>

<!-- 网络请求的依赖 -->
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.3</version>
</dependency>

图片审核代码:

public class Demo01 {

    public static final String API_KEY = "vUPhwzKPAyYxgOx7e8xxx";
    public static final String SECRET_KEY = "X6qYI3Vf43pjaELCIpXTHKvGxxx";

    static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().build();


    public static void main(String []args) throws IOException{
        MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
        // image 可以通过 getFileContentAsBase64("C:\fakepath\q.jpeg") 方法获取,如果Content-Type是application/x-www-form-urlencoded时,第二个参数传true
        String path = "C:\\pic\\手枪.jpeg";
        String image = "image=" + getFileContentAsBase64(path, true);
        RequestBody body = RequestBody.create(image,mediaType);
        Request request = new Request.Builder()
                .url("https://aip.baidubce.com/rest/2.0/solution/v1/img_censor/v2/user_defined?access_token=" + getAccessToken())
                .method("POST", body)
                .addHeader("Content-Type", "application/x-www-form-urlencoded")
                .addHeader("Accept", "application/json")
                .build();
        Response response = HTTP_CLIENT.newCall(request).execute();
        System.out.println(response.body().string());

    }

    /**
     * 获取文件base64编码
     *
     * @param path      文件路径
     * @param urlEncode 如果Content-Type是application/x-www-form-urlencoded时,传true
     * @return base64编码信息,不带文件头
     * @throws IOException IO异常
     */
    static String getFileContentAsBase64(String path, boolean urlEncode) throws IOException {
        byte[] b = Files.readAllBytes(Paths.get(path));
        String base64 = Base64.getEncoder().encodeToString(b);
        if (urlEncode) {
            base64 = URLEncoder.encode(base64, "utf-8");
        }
        return base64;
    }


    /**
     * 从用户的AK,SK生成鉴权签名(Access Token)
     *
     * @return 鉴权签名(Access Token)
     * @throws IOException IO异常
     */
    static String getAccessToken() throws IOException {
        MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
        RequestBody body = RequestBody.create("grant_type=client_credentials&client_id=" + API_KEY
                + "&client_secret=" + SECRET_KEY,mediaType);
        Request request = new Request.Builder()
                .url("https://aip.baidubce.com/oauth/2.0/token")
                .method("POST", body)
                .addHeader("Content-Type", "application/x-www-form-urlencoded")
                .build();
        Response response = HTTP_CLIENT.newCall(request).execute();
        return new JSONObject(response.body().string()).getString("access_token");
    }
}

运行结果:

{
	"conclusion": "疑似",
	"log_id": 16873337141692598,
	"data": [{
		"msg": "疑似存在枪械不合规",
		"conclusion": "疑似",
		"probability": 0.88919306,
		"subType": 11,
		"conclusionType": 3,
		"type": 2
	}],
	"isHitMd5": false,
	"conclusionType": 3
}

文本审核代码:

public class Demo02 {

    public static final String API_KEY = "vUPhwzKPAyYxgOx7xxx";
    public static final String SECRET_KEY = "X6qYI3Vf43pjaELCIpXTHKvxxx";

    static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().build();

    public static void main(String []args) throws IOException{

        String msg = "text=傻x";

        String decode = URLDecoder.decode(msg, "utf-8");
        MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
        RequestBody body = RequestBody.create(msg,mediaType);

        Request request = new Request.Builder()
                .url("https://aip.baidubce.com/rest/2.0/solution/v1/text_censor/v2/user_defined?access_token=" + getAccessToken())
                .method("POST", body)
                .addHeader("Content-Type", "application/x-www-form-urlencoded")
                .addHeader("Accept", "application/json")
                .build();
        Response response = HTTP_CLIENT.newCall(request).execute();
        System.out.println(response.body().string());

    }


    /**
     * 从用户的AK,SK生成鉴权签名(Access Token)
     *
     * @return 鉴权签名(Access Token)
     * @throws IOException IO异常
     */
    static String getAccessToken() throws IOException {
        MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
        RequestBody body = RequestBody.create(mediaType, "grant_type=client_credentials&client_id=" + API_KEY
                + "&client_secret=" + SECRET_KEY);
        Request request = new Request.Builder()
                .url("https://aip.baidubce.com/oauth/2.0/token")
                .method("POST", body)
                .addHeader("Content-Type", "application/x-www-form-urlencoded")
                .build();
        Response response = HTTP_CLIENT.newCall(request).execute();
        return new JSONObject(response.body().string()).getString("access_token");
    }
}

运行结果:

{
	"conclusion": "不合规",
	"log_id": 16873336469633031,
	"data": [{
		"msg": "存在低俗辱骂不合规",
		"conclusion": "不合规",
		"hits": [{
			"wordHitPositions": [{
				"positions": [
					[0, 1]
				],
				"label": "500100",
				"keyword": "傻x"
			}],
			"probability": 1.0,
			"datasetName": "百度默认文本反作弊库",
			"words": ["傻x"],
			"modelHitPositions": [
				[0, 1, 1.0]
			]
		}],
		"subType": 5,
		"conclusionType": 2,
		"type": 12
	}],
	"isHitMd5": false,
	"conclusionType": 2
}

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

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

相关文章

Hbase之获取表的Region分布

其实就是获取上图的start key和end key 代码: object HbaseRegions {def main(args: Array[String]): Unit {val hconf: Configuration HBaseConfiguration.create()hconf.set("hbase.zookeeper.property.clientPort", "2181")hconf.set("hbase.zo…

macOS编译开源全景拼接库OpenPano

1. 准备工具 clang与cmake 如果要处理png文件要下载安装libjpeg 安装相当依赖: brew install gnu-sed brew install libjpeg brew install eigen brew install libomp2.克隆源码 git clone --recursive https://github.com/ppwwyyxx/OpenPano.git 3.编译 mkdir build cd …

Pycharm如何完全卸载干净

卸载软件 打开 控制面板->程序和功能->右键卸载 清理缓存 删除本地缓存 删除用户目录下的jetbrains缓存&#xff0c;一般在AppData目录下&#xff0c;如图所示 删除注册表信息 WinR输入regedit&#xff0c;打开注册表&#xff0c;删除如下目录jetbrains文件夹 计算机…

微信小程序,PC端打开时,设置页面最大化和恢复功能

小程序根目录下的 app.json 文件用来对微信小程序进行全局配置&#xff1a;新增属性 "resizable": true, 1.代码示范&#xff1a; 2.官方文档属性

Java集合-HashMap-源码分析

目录 HashMap源码分析 HashMap内部定义的常量与Node节点 HashMap成员变量分析 构造方法 静态工具方法 hash方法 如何计算索引值 tableSizeFor方法 还有没有其他方法得到2的n次幂? 为什么HashMap的数组长度一定是2的n次幂? HashMap核心方法 put方法 将链表转换为…

Excel VBA 多列合并到一列中

有10列&#xff0c;13行数据&#xff0c;按列合并到新建工作表中&#xff0c;空值不添加 Sub 多列合并到同一列() Dim k As Integer Dim ws As Worksheet On Error Resume Next 如遇错误继续运行 Application.ScreenUpdating False 关闭屏幕刷新 Application.DisplayAlerts F…

Java实现布隆过滤器的几种方式

目录 一、前言二、什么是布隆过滤器&#xff1f;三、布隆过滤器原理四、布隆过滤器使用场景五、空间占用估计六、实际元素超出时&#xff0c;误判率会怎样变化七、布隆过滤器实现方式1、手动硬编码实现2、引入 Guava 实现3、引入 hutool 实现4、通过redis实现布隆过滤器 八、使…

【Linux】MySQL 进阶语句

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 MySQL 进阶语句 算排名算中位数算累积总计算总合百分比算累积总合百分比 use zs; CREATE TABLE ikun (Name char(10),Sales int(5)); INSERT INTO ikun VALUES (cx,10); INSE…

服务器内存爆炸

我在122服务器上测试了FullMouseBrain的数据集&#xff0c;发现内存爆炸 print("................................................import package ....................................") import os import sys ###############################################…

Objective-C 父元素和子元素的点击事件

场景&#xff1a; &#xff08;需求1&#xff09;pageA一开始是【默认模式】&#xff0c;点击父元素view&#xff08;包括【搜索】文字&#xff09;&#xff0c;进入【搜索模式】&#xff1b; &#xff08;需求2&#xff09;在pageA中&#xff0c;点击【取消】文字时&#xff…

YUM搭建LNMP

配置在线源 安装Nginx 检查安装版本 开启服务设置开机自启 安装MySQL 连接MySQL 开启服务设置开机自启 在日志中查看MySQL用户原始密码 登录MySQL 关闭自动更新 安装 php7.2 开启服务设置开机自启查看版本号 配置 nginx 支持 PHP 解析 测试MySQL是否能成功登录

IDEA下Logback.xml自动提示功能配置

首先打开logback的配置文件&#xff0c;在configuration标签中加入xsd的配置 <configuration xmlns"http://ch.qos.logback/xml/ns/logback"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://ch.qos.logback/xml…

python 视频转字符视频 bate

只需要在最后一行括号填入视频路径即可 import os from PIL import Image, ImageDraw, ImageFont import cv2 import time from tqdm import tqdm import threading if __name__ __main__:# path rimg\sportball\0.jpgdef cv2_pit_imgchar(path,save_path):def create_i…

Flutter系列(十)实现个人中心页

基础工程&#xff1a; Flutter系列&#xff08;四&#xff09;底部导航顶部导航图文列表完整代码_摸金青年v的博客-CSDN博客 一、前言 本文用flutter实现个人中心页布局&#xff0c;效果如下图&#xff1a; 二、使用的组件 1.颜色渐变&#xff1a;LinearGradient 线性渐变组…

ChatGLM-6B第二代模型开源,拿下LLM模型中文能力评估榜单第一名

ChatGLM-6B 自3月14日发布以来&#xff0c;深受广大开发者喜爱。截至 6 月24日&#xff0c;来自 Huggingface 上的下载量已经超过 300w。 为了更进一步促进大模型开源社区的发展&#xff0c;我们再次升级 ChatGLM-6B&#xff0c;发布 ChatGLM2-6B 。在主要评估LLM模型中文能力…

【SWAT水文模型】ArcSWAT各种报错总结

1 Error Number :-2147467259&#xff1b; 对 COM 组件的调用返回了错误 HRESULT E_FAIL 1.1 报错内容 Error Number :-2147467259 Eror Message: Eror HRESULTE FAIL has been retuned froma alltoa a COM component. Module:mAnalysis Function:dissolve Procedurure:1 随后…

DDR5这么快,为啥还能那么稳?

高速先生成员--姜杰 大家都在关注DDR5跑的有多快&#xff0c;高速先生却在关心它为什么能够跑的稳…… 内存的稳定性&#xff0c;离不开RAS功能。提起RAS&#xff0c;熟悉DDR的小伙伴们一定记得行地址选通信号&#xff08;Row Address Strobe, RAS&#xff09;&#xff0c;不…

Vuforia专题:设置AR摄像头自动对焦

Vuforia专题&#xff1a;设置AR摄像头自动对焦 一&#xff0c;前言 在之前使用的时候&#xff0c;如果没有设置自动对焦可以发现&#xff0c;摄像头画面极其模糊。并导致识别的结果不是很理想 加上自动对焦后的效果如下&#xff1a; 二、具体步骤 1、ARCamera添加脚本Cam…

Axure教程——自动获取时间

本文介绍用Axure制作的自动获取时间 效果预览 预览地址&#xff1a;https://y0pdhk.axshare.com 原型制作 1、需要的元件 六个矩形 一个动态面板 2、制作 年月日 拖入一个矩形元件&#xff0c;命名为“年月日”&#xff0c;文本设置为“年月日”&#xff0c;如图&#xff1a…

基于FFMPEG的视频拉流并传给OPENCV显示

基于FFMPEG的视频拉流并传给OPENCV显示 依赖文件解压代码编写依赖配置编译运行 依赖文件解压 将ffmpeg-master-latest-win64-gpl-shared解压&#xff0c;得到如下所示文件夹&#xff1a; 将其中的bin目录下的.dll文件复制到C:\Windows\System32目录下。 代码编写 基于FFMPE…