一、介绍
百度内容审核平台(Baidu Content Audit Platform)是百度推出的一款用于进行内容审核的平台。该平台利用人工智能技术,对用户上传的各类内容进行审核和过滤,以实现内容的合规和安全,可以识别和过滤涉黄、涉政、暴恐、广告、侵权等不同类型的违规内容。
二、使用
百度内容审核平台官网地址:内容审核_内容安全_智能审核-百度AI开放平台
注册百度账号并登录百度内容审核平台:可以通过百度内容审核平台的官方网站进行注册,并登录您的账号。创建应用:在百度内容审核平台上创建一个新的应用。在创建应用时,需要提供应用的名称、描述等信息,得到里面的API Key和Secret Key。三、获取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请求,这里需要提前获取到,后面的审核请求需要这个参数。
[HttpPost]public async Task<string> Baiduapi(){ string client_id = _class3.client_id; string client_secret = _class3.client_secret; RestClient client = new RestClient(); 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); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Accept", "application/json"); string body = @""; request.AddParameter("application/json", body, ParameterType.RequestBody); RestResponse response = await client.ExecuteAsync(request); string responseJson = $@"{response.Content}"; Class person = JsonConvert.DeserializeObject<Class>(responseJson); return person.access_token;}
四、文本审核
请求方式同样为post请求,需要传递我们上面获取到的AccessToken,返回一个json格式数据,其中的conclusion字段表示我们输入的文本是否合规,同样conclusionType字段也可以判断是否合规,分别为1:合规,2:不合规,3:疑似,4:审核失败。
[HttpPost]public object BaiduText(string access_token, string text){ string host = "https://aip.baidubce.com/rest/2.0/solution/v1/text_censor/v2/user_defined?access_token=" + access_token; Encoding encoding = Encoding.Default; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host); request.Method = "post"; request.KeepAlive = true; String str = "text=" + $"{text}"; byte[] buffer = encoding.GetBytes(str); request.ContentLength = buffer.Length; request.GetRequestStream().Write(buffer, 0, buffer.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default); string result = reader.ReadToEnd(); return result;}
五、图片审核
图片审核同样为post请求,需要传递我们上面获取到的AccessToken,我们传递的图片需要为base64格式,所以我们在上传图片前需要将图片转换为base64格式,返回一个json格式数据,其中的conclusion字段表示我们输入的文本是否合规,和文本审核一致。
[HttpPost]public object BaiduImg(string access_token){ string host = "https://aip.baidubce.com/rest/2.0/solution/v1/img_censor/v2/user_defined?access_token=" + access_token; Encoding encoding = Encoding.Default; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host); request.Method = "post"; request.KeepAlive = true; FileStream filestream = new FileStream("图片地址", FileMode.Open); byte[] arr = new byte[filestream.Length]; filestream.Read(arr, 0, (int)filestream.Length); string base64 = Convert.ToBase64String(arr); filestream.Close(); String str = "image=" + HttpUtility.UrlEncode(base64); byte[] buffer = encoding.GetBytes(str); request.ContentLength = buffer.Length; request.GetRequestStream().Write(buffer, 0, buffer.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default); string result = reader.ReadToEnd(); return result;}