• 百度AI智能审核


    一、介绍

    百度内容审核平台(Baidu Content Audit Platform)是百度推出的一款用于进行内容审核的平台。该平台利用人工智能技术,对用户上传的各类内容进行审核和过滤,以实现内容的合规和安全,可以识别和过滤涉黄、涉政、暴恐、广告、侵权等不同类型的违规内容。

    二、使用

    百度内容审核平台官网地址:内容审核_内容安全_智能审核-百度AI开放平台

    1. 注册百度账号并登录百度内容审核平台:可以通过百度内容审核平台的官方网站进行注册,并登录您的账号。
    2. 创建应用:在百度内容审核平台上创建一个新的应用。在创建应用时,需要提供应用的名称、描述等信息,得到里面的API Key和Secret Key。

    2367cfa05c574175934e8eb757794358.png

     三、获取AccessToken

    开始前需要安装一个包

    NuGet\Install-Package RestSharp -Version 110.2.1-alpha.0.16 

    获取AccessToken需要上面的API Key和Secret Key两个密钥,使用URL获取得到数据,一共需要传递三个参数,两个密钥及一个固定参数,返回json格式数据。

    返回结果中我们需要的是access_token字段,值得注意的是这个token是有时间限制的,有效期为30天,我们可以根据返回的expires_in字段查看具体的有效期,请求为post请求,这里需要提前获取到,后面的审核请求需要这个参数。

    1. [HttpPost]
    2. public async Task<string> Baiduapi()
    3. {
    4. string client_id = _class3.client_id;
    5. string client_secret = _class3.client_secret;
    6. RestClient client = new RestClient();
    7. RestRequest request = new RestRequest(new Uri($"https://aip.baidubce.com/oauth/2.0/token?client_id={client_id}&client_secret={client_secret}&grant_type=client_credentials"), Method.Post);
    8. request.AddHeader("Content-Type", "application/json");
    9. request.AddHeader("Accept", "application/json");
    10. string body = @"";
    11. request.AddParameter("application/json", body, ParameterType.RequestBody);
    12. RestResponse response = await client.ExecuteAsync(request);
    13. string responseJson = $@"{response.Content}";
    14. Class person = JsonConvert.DeserializeObject(responseJson);
    15. return person.access_token;
    16. }

    四、文本审核 

    请求方式同样为post请求,需要传递我们上面获取到的AccessToken,返回一个json格式数据,其中的conclusion字段表示我们输入的文本是否合规,同样conclusionType字段也可以判断是否合规,分别为1:合规,2:不合规,3:疑似,4:审核失败。

    1. [HttpPost]
    2. public object BaiduText(string access_token, string text)
    3. {
    4. string host = "https://aip.baidubce.com/rest/2.0/solution/v1/text_censor/v2/user_defined?access_token=" + access_token;
    5. Encoding encoding = Encoding.Default;
    6. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host);
    7. request.Method = "post";
    8. request.KeepAlive = true;
    9. String str = "text=" + $"{text}";
    10. byte[] buffer = encoding.GetBytes(str);
    11. request.ContentLength = buffer.Length;
    12. request.GetRequestStream().Write(buffer, 0, buffer.Length);
    13. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    14. StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
    15. string result = reader.ReadToEnd();
    16. return result;
    17. }

    五、图片审核

    图片审核同样为post请求,需要传递我们上面获取到的AccessToken,我们传递的图片需要为base64格式,所以我们在上传图片前需要将图片转换为base64格式,返回一个json格式数据,其中的conclusion字段表示我们输入的文本是否合规,和文本审核一致。

    1. [HttpPost]
    2. public object BaiduImg(string access_token)
    3. {
    4. string host = "https://aip.baidubce.com/rest/2.0/solution/v1/img_censor/v2/user_defined?access_token=" + access_token;
    5. Encoding encoding = Encoding.Default;
    6. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host);
    7. request.Method = "post";
    8. request.KeepAlive = true;
    9. FileStream filestream = new FileStream("图片地址", FileMode.Open);
    10. byte[] arr = new byte[filestream.Length];
    11. filestream.Read(arr, 0, (int)filestream.Length);
    12. string base64 = Convert.ToBase64String(arr);
    13. filestream.Close();
    14. String str = "image=" + HttpUtility.UrlEncode(base64);
    15. byte[] buffer = encoding.GetBytes(str);
    16. request.ContentLength = buffer.Length;
    17. request.GetRequestStream().Write(buffer, 0, buffer.Length);
    18. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    19. StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
    20. string result = reader.ReadToEnd();
    21. return result;
    22. }

     

     

  • 相关阅读:
    任务和特权级保护
    【数据结构与算法】B树与B+树
    springboot基于微信小程序的选课系统毕业设计源码060000
    跨境电商商城源码(多语言多商户进出口电商平台)
    操作系统文件共享方式
    《ON JAVA》学习笔记2:Java如何谈数据类型
    认知电子战 | 电子战简介
    Pycharm设置项目的python环境与界面上terminal的shell运行环境
    web3再牛 也没能逃出这几个老巨头的手掌心
    Python中的np.split与MXNet中的nd.split的一些用法区别
  • 原文地址:https://blog.csdn.net/qq_58159494/article/details/136097470