You might have an application with a huge amount of user-generated content coming daily and need to moderate content automatically. It’s a pain to moderate content manually because it takes lots of man-hours. How about using artificial intelligence with IDE Software for that? It will instantly detect inappropriate content prevent form going public.
Table of Contents
O que é a API de moderação de conteúdo da DeepAI?
DeepAI é uma fonte muito popular entre os buscadores de conteúdo de inteligência artificial. Fornece pesquisas, guias, notícias e APIs de inteligência artificial. Você pode facilmente obter uma chave de API criando uma conta e acessando todas as APIs de inteligência artificial. Basta visitar este link, criar uma conta e ir para o painel de controle e você terá sua chave API.
É gratuito usar a moderação de conteúdo automatizada Deep.ai?
Ao se registrar, você terá $5 USD de crédito gratuito, o que equivale a 10.000 solicitações. Nenhum cartão de crédito necessário para o registro. Após o registro, você só precisa pagar $0.50 USD por 1000 solicitações ou há alguns pacotes empresariais que você pode discutir com eles.
Quais APIs de inteligência artificial Deep.ai estão disponíveis para uso em meu aplicativo Delphi?
Eles fornecem uma grande quantidade de APIs. Você pode verificar suas APIs a partir desta lista. A maioria deles também tem uma demonstração ao vivo em sua página de produto.
Uma de suas APIs poderosas é a “API de moderação de conteúdo”. Esta API fornece todos os detalhes para moderar o conteúdo. Depois de fornecer uma imagem à API, ela fornecerá a pontuação “Não seguro para o trabalho”, a descrição sobre o conteúdo impróprio, a área do retângulo do conteúdo impróprio e a pontuação de confiança que é um se a confiança 100%. Esta API pode detectar conteúdo adulto, símbolos de ódio, armas e palavras ofensivas.
Como faço para usar a API de moderação de conteúdo?
Podemos acessar todas as APIs DeepAI usando um cliente REST incluindo esta API de moderação de conteúdo. Uma solicitação curl simples para esta API é assim:
1 2 3 4 5 |
curl \ --dados 'image=YOUR_IMAGE_URL' \ -H 'api-key:API_KEY' \ https://api.deepai.org/api/content-moderation |
É autoexplicativo e você deve fornecer o URL da imagem ou o arquivo de imagem local como “imagem” e a chave API como um valor de cabeçalho. Depois de enviar a solicitação, o servidor enviará uma resposta JSON e você pode analisá-la para ter todas as informações de moderação sobre a imagem. A moderação de amostra seria assim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
{ "id": "UNIQUE_ID", "output": { "detections": [{ "confidence": "0.83", "bounding_box": [ 118, 89, 21, 29 ], "name": "Female Breast - Exposed" }, { "confidence": "0.92", "bounding_box": [ 142, 92, 27, 27 ], "name": "Female Breast - Exposed" }, { "confidence": "0.54", "bounding_box": [ 168, 153, 19, 30 ], "name": "Male Genitalia - Exposed" } ], "nsfw_score": 0.9997197985649109 } } |
Você precisa analisar a matriz JSON dentro do JSON para obter os resultados.
Como acesso a API Deep.ai Content Moderation do Delphi?
Podemos usar o componente cliente REST para acessar esta API e construir facilmente um aplicativo de demonstração. Vamos fazer um aplicativo demo que desenhará um retângulo se um dos conteúdos restritos for encontrado. Primeiro adicione os componentes TRESTClient, TRESTRequest e TRESTResponse em um formulário. Defina o URL base do cliente para o seguinte:
1 |
https://api.deepai.org/api/content-moderation |
Defina o método de RESTRequest como rmPOST porque iremos postar os dados com segurança. Então é a hora da codificação. Precisamos definir a imagem, a chave da API, obter a resposta e analisar JSON no código. Neste exemplo, navegaremos em um arquivo local e enviaremos a solicitação. Depois de analisar a resposta, desenhamos um retângulo na tela do TImage.
Aqui está um exemplo de código Delphi para usar Deep.ai com uma API REST
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
procedure TfrmMain.btnModerateClick(Sender: TObject); var lparam : Trestrequestparameter; jsonObj: TJSONObject; JSonValue : TJSonValue; JSONArray, JSONArrayBound: TJSONArray; strJson: string; canv: TCanvas; i, posTop, posLeft, posWidth, posHeight: Integer; começar lblWait.Visible := true; Application.ProcessMessages; RESTRequest.Params.Claro; RESTResponse.RootElement := ''; lparam := RESTRequest.Params.AddItem; lparam.name := 'api-key'; lparam.Value := edtAPIKey.Text; lparam.ContentType := ctNone; lparam.Kind := pkHTTPHEADER; lparam.Options := [poDoNotEncode]; lparam := RESTRequest.Params.AddItem; lparam.name := 'image'; lparam.Value := strImgPath; lparam.ContentType := ctNone; lparam.Kind := pkFile; lparam.Options := [poDoNotEncode]; RESTRequest.Execute; if não RESTResponse.Status.Success then showmessage(RESTResponse.StatusText + ' ' + inttostr(RESTResponse.StatusCode)) senão começar canv := imgModerated.Canvas; canv.Pen.Color := clRed; canv.Pen.Width := 5; jsonObj := RESTResponse.JSONValue as TJSONObject; JSonValue := jsonObj.Get('output').JsonValue; JSONArray := JSonValue.GetValue<TJSONArray>('detections'); for I := 0 to JSONArray.Count -1 do começar JSONArrayBound := JSONArray.Items[I].GetValue<TJSONArray>('bounding_box'); posTop := strtoint(JSONArrayBound.Items[1].Value); posLeft := strtoint(JSONArrayBound.Items[0].Value); posWidth := strtoint(JSONArrayBound.Items[3].Value); posHeight := strtoint(JSONArrayBound.Items[2].Value); canv.MoveTo(posLeft,posTop); canv.LineTo(posLeft + posWidth, posTop); canv.MoveTo(posLeft + posWidth, posTop); canv.LineTo(posLeft + posWidth, posTop + posHeight); canv.MoveTo(posLeft + posWidth, posTop + posHeight); canv.LineTo(posLeft, posTop + posHeight); canv.MoveTo(posLeft, posTop + posHeight); canv.LineTo(posLeft,posTop); canv.TextOut(posLeft,posTop, JSONArray.Items[I].GetValue<string>('name')); end; end; lblWait.Visible := false; end; |
Analisando resultados JSON de Deep.ai
Neste código, adicionamos dois parâmetros, “api-key” e “image”, executamos a solicitação e, em caso de sucesso, analisamos o valor JSON. Então, se algum conteúdo impróprio for encontrado, ele desenhará um retângulo vermelho na tela do TImage. O resultado final é assim:
Você também pode baixar o aplicativo de demonstração neste link e usá-lo com sua chave API.
Projeto. Código. Compilar. Implante.
Iniciar avaliação gratuitaAprimore hoje
Delphi Community Edition grátisEdição gratuita da comunidade C ++ Builder