Criando uma Pergunta de Geração Aumentada por Recuperação (RAG)

Last updated: March 26, 2026

HackerRank Projects for RAG permite criar perguntas baseadas em projetos do mundo real para avaliar a capacidade dos candidatos de implementar sistemas de Geração Aumentada por Recuperação (RAG). Este recurso ajuda a identificar candidatos com habilidades sólidas em recuperar informações relevantes, integrá-las com modelos de IA generativa e otimizar a precisão das respostas.

Com essa funcionalidade, você pode usar avaliações RAG predefinidas que avaliam habilidades-chave, como:

  • Recuperação e indexação de dados (por exemplo, usando bancos de dados vetoriais)

  • Ajuste fino

  • Avaliação de resultados gerados

Além disso, você pode criar perguntas personalizadas baseadas em RAG, adaptando-as para avaliar candidatos em técnicas específicas de recuperação, aumento e geração de respostas relevantes para seu caso de uso.

Passos para Criar uma Pergunta RAG

  • Clique na aba Biblioteca na página inicial e clique no botão Criar Pergunta.

  • Na caixa de diálogo Selecionar Tipo de Pergunta, sob Projetos, selecione Geração de IA, como mostrado abaixo.

image.png

Passo 1: Ambiente

  • Na aba Ambiente, você pode selecionar RAG. Você pode passar o mouse sobre o ícone de informação para obter mais informações.

  • Clique no botão Próximo para avançar para os próximos passos.

Passo 2: Configuração do Projeto

Existem três etapas na configuração de um projeto:

Selecionar Projeto

Assim que o IDE carregar, você pode configurar seu projeto de perguntas usando uma das seguintes opções:

  1. Carregar um Zip: Esta opção permite criar uma pergunta enviando o arquivo do projeto em formato ZIP. O tamanho do arquivo pode ser de até 5MB.  

  2. Clonar do Github: Esta opção permite clonar um projeto do seu repositório Git privado ou público. Após selecionar a opção Git, você deve fornecer um link para a fonte do seu repositório. Se o repositório for privado, o IDE precisará de permissão para se conectar a ele usando um token de uso único. Não salvamos suas credenciais do GitHub em nosso sistema em momento algum.

  3. Usar projeto de exemplo: Ao escolher esta opção, uma pergunta de projeto de exemplo padrão é adicionada ao IDE. Você pode usar este projeto de exemplo para construir sua pergunta.

Nota: Não use projetos de exemplo em um teste. Esses projetos são projetados apenas para servir como exemplos, não para avaliar as habilidades do candidato.

Configuração do IDE e da Fonte de Dados

Ao configurar uma Pergunta de Geração Aumentada por Recuperação (RAG), você deve definir uma fonte de dados da qual o modelo pode recuperar informações. Você pode escolher entre:

  • Armazenamento baseado em arquivo

  • Armazenamento em banco de dados (DB)

image.png

Carregando Arquivos como Fonte de Dados

A plataforma permite que você faça upload e gerencie arquivos de dados diretamente através da interface. Esses arquivos estarão acessíveis no IDE para edição e processamento adicionais.

  • Opção 1: Referencie um caminho de arquivo existente em seu projeto. O sistema exibirá o contagem de tokens e o limite de tamanho.

  • Opção 2: Faça o upload de um novo arquivo de dados separadamente via UI. O arquivo será armazenado em S3 ou no IDE (conforme determinado pelo desenvolvimento).

Limites de Tamanho de Arquivo:

  • Tamanho máximo do arquivo: 500MB (ou com base nos limites de tokens).

  • Arquivos não-texto: Apenas o limite de tamanho será aplicado.

  • Arquivos enviados serão armazenados em uma pasta "dados" dedicada e adicionados ao .gitignore para evitar rastreamento desnecessário de controle de versão.

Cálculo de Tokens e Avisos:

  • Após o upload de um arquivo, a contagem de tokens e as limitações associadas serão exibidas.

  • Se o limite de tokens for excedido, limitação de taxa pode ser aplicada devido a embeddings maiores.

Usando um Banco de Dados como Fonte de Dados

Você pode fazer o upload de dados estruturados como arquivos .db ou .sql para armazenamento baseado em banco de dados. Isso permite gerenciar e consultar seus dados de forma eficiente dentro do projeto.

  • Faça o upload de um arquivo .db ou .sql diretamente.

  • As mesmas restrições de uploads de arquivos se aplicam (limites de tamanho e tokens).

  • Embeddings de banco de dados grandes podem acionar limites de taxa.

Limites e Restrições de Fonte de Dados

  • Limite de requisições: 30 requisições por minuto

  • Limites de tokens:

    • Limite padrão: 3.000 tokens por minuto

    • Modelo de embedding: 30.000 tokens por minuto

  • Requisições paralelas: Até 5 requisições simultâneas

Configurar uma fonte de dados eficiente garante que seu modelo RAG funcione de forma ideal, mantendo-se dentro desses limites.

Configuração do IDE

  • Ao criar um projeto, um usuário pode configurar qual comando será executado ao clicar em determinados itens do menu no IDE. Instalar é um desses comandos.

  • Aqui, você pode configurar o IDE para executar comandos específicos que devem ser acionados para o projeto quando o botão for clicado. Este comando será preservado para os candidatos, ou seja, os candidatos verão a mesma execução de comando quando usarem a questão.

  • O mesmo se aplica a Executar e Testar.

Arquivos Abertos Padrão
  • Você pode definir quais arquivos do projeto devem abrir por padrão para os candidatos quando eles trabalharem no projeto.

  • Você pode especificar vários arquivos nesta configuração, e todos os arquivos especificados serão abertos no IDE.

Arquivos Somente Leitura
  • Os criadores de questões podem definir arquivos de leitura no projeto que os candidatos não devem editar. Estes podem ser arquivos de casos de teste ou arquivos readme. Especifique o caminho do arquivo para esses arquivos aqui.

Configurações de Pontuação

  • Você tem a opção de escolher entre ter pontuação automática ou não. Selecione Sim ou Não com base na sua preferência. 

  • Se você ativar a pontuação automática, HackerRank pontua a solução de um candidato com base no status de aprovado ou reprovado dos resultados do teste de unidade gerados no arquivo XML. O comando de pontuação deve gerar o arquivo XML com casos de teste no formato Junit, XUnit ou TAP. Forneça nomes exclusivos se você tiver vários arquivos XML que devem ser usados. Os arquivos XML são analisados para gerar uma lista de casos de teste e produzir uma pontuação para o candidato. Todos os casos de teste são atribuídos peso igual por padrão.

  • Definir Comando de Pontuação: O comando de pontuação deve gerar o arquivo XML com os resultados dos casos de teste. 

  • Arquivo de Saída da Configuração de Pontuação: Forneça a lista de caminhos dos arquivos XML gerados quando o 'Comando de pontuação' é executado. HackerRank executa o comando de pontuação para gerar uma pontuação, procura por esses arquivos de saída de pontuação e analisa esses arquivos. Se nenhum arquivo for listado, a saída do comando de pontuação será usada para pontuação; para vários arquivos XML, forneça nomes exclusivos.

  • Arquivos Ocultos: Nesta configuração, você pode fornecer uma lista de arquivos de casos de teste ocultos do candidato enquanto ele resolve a questão. No entanto, esses casos de teste ocultos ainda gerarão a pontuação do candidato assim que ele enviar sua solução.

Validação

  • Se a validação falhar, use as informações que o resultado da validação fornece para corrigir o projeto.

  • Suponha que a validação falhe em uma etapa executada após a criação de um servidor (validações do comando de pontuação, por exemplo). Nesse caso, você receberá um link adicional chamado 'abrir console de depuração'. Você pode abrir o servidor e depurar o comando de pontuação no ambiente ao vivo. O console de depuração está disponível por 30 minutos, e as alterações feitas aqui não são salvas no projeto original.

  • Se você estiver editando uma questão de Full Stack na modificação de arquivos existentes, pode ' redefinir para a última versão validada', o que irá redefinir a estrutura do arquivo para o último estado válido. Da mesma forma, você pode 'Baixar a última estrutura de pasta salva.'

Indicador de Rede

Você pode monitorar o Indicador de Rede dentro do IDE para garantir que não encontre problemas ao criar uma questão de projeto. 

Indicador de Domínios Bloqueados

Se o seu projeto tiver algum domínio na lista negra, o IDE irá notificá-lo sobre isso.

Você pode clicar em Ver Domínios Bloqueados para verificar as URLs dos domínios. 

Etapa 3: Detalhes da Questão 

Na aba Detalhes da Questão, especifique o seguinte:

  • Nome da Questão: Nomeie sua questão e certifique-se de que o nome da questão não indique a solução do problema. 

  • Pontuação: Embora você possa atribuir qualquer pontuação que desejar às questões que criar, usamos certos padrões para atribuir pontuações às questões úteis.

Pontuação

Tipo de Pergunta

50 pontos

Para uma pergunta fácil que pode ser resolvida em 15 minutos

75 pontos

Para uma pergunta de dificuldade média que pode ser resolvida em 30 minutos

100 pontos

Para uma pergunta difícil que pode ser resolvida em 45 a 60 minutos

  • Tags (Opcional): Tags são palavras ou frases que ajudam na pesquisabilidade e organização de suas perguntas. Você pode adicionar tags existentes ou criar novas tags. Defina o nível de dificuldade da sua pergunta associando as tags como Fácil, Médio ou Difícil. Alternativamente, associe tags personalizadas para identificar sua pergunta por complexidade ou nível. Selecione as tags na lista suspensa ou adicione sua tag personalizada. 

  • Quando você visualizar suas perguntas na Biblioteca, as tags associadas serão indicadas para cada pergunta. Você pode usar essas tags para gerar relatórios de candidatos e gráficos de desempenho. Consulte Associando Tags à Pergunta para mais informações. 

  • Descrição do Problema: Ao descrever a declaração do problema, certifique-se de que a questão esteja clara e detalhada. Você também pode usar tabelas, gráficos ou anexos para melhorar a clareza.

  • Instruções de Software: Este campo opcional contém informações sobre pacotes e versões de software necessárias para resolver a questão. Quando deixado vazio, as instruções padrão da plataforma serão usadas.

  • Diretrizes para Entrevistador: As Diretrizes para Entrevistador são para referência futura. Você pode incluir uma rubrica sobre a pontuação das perguntas ou escrever soluções para os problemas nesta seção. Sua equipe pode usar essas informações ao avaliar o teste. Elas são visíveis apenas para sua equipe e para você; no entanto, os candidatos não podem visualizar essas notas. Esta etapa é opcional.

  • Anexar um arquivo de referência relevante nessas seções pode apoiar sua declaração do problema e as diretrizes do entrevistador. Para mais informações, consulte Anexar um Arquivo a um Problema.

Você pode verificar a visualização do candidato após concluir a criação da questão para entender como a questão é apresentada em um teste. 

Nota: As perguntas que você criar são armazenadas na Biblioteca do HackerRank na seção "Minhas perguntas da empresa".