Executando verificação de segurança...
7

Verificação de violação de termos de uso com OpenAI e JavaScript

Esse é um exemplo de como utilizar a API do OpenAI em conjunto com JavaScript para verificar se uma postagem viola os termos de uso de um site.

Passo a passo

  1. Importe a biblioteca openai e crie uma instância da classe OpenAIApi, passando a chave da API do OpenAI como argumento.

const { Configuration, OpenAIApi } = require('openai');

const configuration = new Configuration({
  apiKey: '--YOUR-OPENAI-API-KEY--',
});

const model = new OpenAIApi(configuration);
  1. Crie uma função checkPostViolation que recebe como argumento o conteúdo de uma postagem e utiliza a API do OpenAI para determinar se essa postagem viola os termos de uso de um site. Para isso, crie uma prompt que contém os termos de uso e a postagem a ser verificada e envie essa prompt para a API do OpenAI. A API irá retornar uma resposta indicando se a postagem viola ou não os termos de uso, bem como uma explicação para essa decisão.

async function checkPostViolation(postContent) {
  const prompt = `Dado o seguinte termo de uso e uma postagem, determine se a postagem está violando o termo de uso. Caso esteja, por favor explique por que.

  Termo de Uso:
  Foco em conteúdo relevante para programação e tecnologia.
  Priorizar qualidade sobre quantidade.
  Não aplicar práticas malignas de engajamento, marketing ou anúncios.
  Proteção de dados dos usuários.
  Coletar apenas dados necessários para funcionamento e proteção.
  Usuários não devem afastar outros ou serem negativos, agressivos ou sarcásticos.
  Proibição de manipulação de qualificação de publicações.
  Proibição de discriminação de qualquer tipo.
  Não fazer publicações com foco exclusivo comercial.
  Não usar técnicas passivas de tracking.
  Responsabilidade do usuário sobre direitos autorais e propriedade intelectual.
  Reportar falhas de segurança de forma privada.
  Sem garantias para disponibilidade do serviço ou suporte.
  
  Postagem:
  ${postContent}

  A postagem viola o Termo de Uso? Caso sim, explique por que:`;

  try {
    const response = await model.createChatCompletion({
      model: 'gpt-4',
      messages: [{ role: 'user', content: prompt }],
      max_tokens: 4000,
      temperature: 0,
    });

    const answer = response.data.choices[0].message.content;

    return answer;
  } catch (error) {
    console.error('Error while checking post violation:', error);
    return false;
  }
}
  1. Utilize a função checkPostViolation para verificar se uma postagem viola ou não os termos de uso. Para isso, passe como argumento o conteúdo da postagem que você deseja verificar. A função irá retornar uma string indicando se a postagem viola ou não os termos de uso, bem como uma explicação para essa decisão.

const postContent = 'Exemplo de postagem';
const response = await checkPostViolation(postContent);
console.log('A postagem viola o Termo de Uso?', response);

Example:

  const postContent1 = 'Vendo caminhão de gado';
  const response1 = await checkPostViolation(postContent1);
  console.log('A postagem 1 viola o Termo de Uso?', response1);
  const postContent2 = 'Open AI lanca GPT-4';
  const response2 = await checkPostViolation(postContent2);
  console.log('A postagem 2 viola o Termo de Uso?', response2);

Carregando publicação patrocinada...
4

CarlosZiegler que experimento sensacional! Isto é um caso muito legal e de valor concreto que utilizar IA pode auxiliar os usuários. Digo "auxiliar" porque não seria legal impedir a pessoa de publicar... seria uma questão de pedir para a pessoa fazer "dupla conferência" se o que ela está enviando está de fato ok.

Será que a gente consegue auxiliar a pessoa sobre a questão de algo ter ou não valor concreto? É algo difícil, até para um ser humano em alguns casos, mas se "auxiliar" para uma dupla conferência seria algo show!

1

Acho que depende do prompt.

tentar formular um prompt que idnique com mais clareza.

Dado os seguintes termos de uso e um artigo de tecnologia, determine se o artigo fere os termos de uso e se é relevante para a comunidade de TI. Caso o artigo fira os termos de uso, explique por que. Caso o artigo seja irrelevante para a comunidade de TI, explique por que.

Termos de Uso:

  1. Foco em conteúdo relevante para programação e tecnologia.
  2. Priorizar qualidade sobre quantidade.
  3. Não aplicar práticas malignas de engajamento, marketing ou anúncios.
  4. Proteção de dados dos usuários.
  5. Coletar apenas dados necessários para funcionamento e proteção.
  6. Usuários não devem afastar outros ou serem negativos, agressivos ou sarcásticos.
  7. Proibição de manipulação de qualificação de publicações.
  8. Proibição de discriminação de qualquer tipo.
  9. Não fazer publicações com foco exclusivo comercial.
  10. Não usar técnicas passivas de tracking.
  11. Responsabilidade do usuário sobre direitos autorais e propriedade intelectual.
  12. Reportar falhas de segurança de forma privada.
  13. Sem garantias para disponibilidade do serviço ou suporte.

Critérios de relevância:

  1. O artigo apresenta informações relevantes, atualizadas e úteis para a comunidade de TI?
  2. O artigo é bem escrito e organizado de forma clara?
  3. O artigo apresenta soluções para problemas comuns ou desafios enfrentados pelos profissionais da área?
  4. O artigo é baseado em fatos concretos e dados confiáveis?
  5. O artigo não apresenta conteúdo negativo, agressivo, sarcástico ou discriminatório?
  6. O artigo não apresenta conteúdo exclusivamente comercial?
  7. O artigo não busca apenas ganhar curtidas, engajamento ou visibilidade?

Artigo:
{INSIRA O TEXTO DO ARTIGO AQUI}

O artigo fere os termos de uso? Caso sim, explique por que:
O artigo é relevante para a comunidade de TI? Caso não, explique por que:

-1
1
1

Incrível como a tecnologia elimina trabalhos manuais. Eu fiz algo similar para a empresa que presto consultoria. Estou desenvolvendo um CRM de propostas e cobranças na área de financiamento de veículos, e tem uma tarefa que estava estudando a 6 meses como automatizar, e graças ao GPT 3.5 (Ele mesmo!), consegui em menos de uma semana implantar. Criei um prompt para análisar as parcelas, as ocorrências de cobrança, o log de contatos (MONGODB) e os telefones, e pedi para que me retorne, em um array Json, se:

  1. Há probabilidade de acordo
  2. Se sim, qual a data?
  3. Quais os contatos que devem ser mantidos e quais devem ser descartados na base de contatos?
  4. Se é preciso abrir um ticket ou não para a equipe, e qual equipe (interna/externa) e qual a prioridade do ticket
  5. A média de atraso e a data que o cliente costuma pagar as parcelas (Para verificar a necessidade de alteração de data de vencimento)
  6. GPTComment: Os comentários da IA em relação à esse caso.

Implantei isso em meu sistema e em um pequeno grupo de clientes e notei que ele está 90% assertivo, com a 3.5. Vou testar com a 4 para ver se esse número aumenta.

1

Muito massa, cara para essas coisas nao tao complexas acho que vale a pena continuar com versao 3.5 ja que ta dando um acerto legal, isso devido ao custo. Mas muito massa ideia. Depois compartilha a stack que ta usando.