API para analisar texto e detectar sentimentos usando IA.
A API foi desenvolvida em Node.js, onde é possível chamar um endpoint onde é enviado um texto e a API da Higging Face AI vai retornar o resultado da análise desse texto a porcentagem de POSITIVO ou Negativo.
ATENÇÃO: os resultados desse modelo da Higging Face são extremamente simplistas e imprecisos. Não recomendo usar essa AI. Eu poderia utilizar outras opções como OpenAI ou Claude. Porém eu preferi uma alternativa gratuita para um teste rápido.
Node.js(ambiente de execução deJavaScript)Fastify(framework para criação da API)Swagger(para documentação da rotas da API)dotenv(para o arquivo .env com variáveis de ambiente)- API da
Higging Face AI. Link do modelo utilizado. OBSERVAÇÃO: só retorna a porcentagem de sentimentopositivoounegativo. Exemplo:
-
Instale dependências:
npm install -
Crie o arquivo
.envcom sua Hugging Face API Key:HF_API_KEY=your_huggingface_api_key_here
Você pode gerar uma key gratuita em: https://huggingface.co/settings/tokens. Escolha a tipo 'Read' e um nome.
-
Inicie o server:
npm start -
Testar rotas (no Swagger) http://localhost:3000/docs

Criar uma API simples que: 1. Analisa um texto de entrada. 2. Retorna estatísticas básicas. 3. Integra com uma API pública de IA para detectar sentimento.
Crie um endpoint POST /analyze-text que receba um JSON com o seguinte formato:
{
"text": "Seu texto livre aqui..."
}
A resposta da API deve conter:
- A contagem total de palavras.
- As 5 palavras mais frequentes (ignorando stopwords, se possível).
- Um resumo de sentimento do texto, utilizando alguma API pública de IA como:
- OpenAI (ex:
gpt-3.5-turboougpt-4) - Claude (Anthropic)
- Hugging Face (ex:
distilbert-base-uncased-finetuned-sst-2-english)
- OpenAI (ex:
Adicionar um endpoint GET /search-term?term=... que retorne:
- Se o termo informado foi encontrado na última análise.
- Pode manter o histórico em cache/memória ou SQLite.
- Linguagens: Node.js ou Python
- Frameworks: Express, FastAPI, Django ou similar
- Armazenamento: pode usar cache em memória, JSON local ou SQLite
- Outras boas práticas:
- Organização do código
- Tratamento de erros
- Uso de status codes HTTP adequados
- Documentação simples (ex: Swagger ou README)
- Deve conter o título do projeto
- Uma descrição sobre o projeto em frase
- Deve conter uma lista com linguagem, framework e/ou tecnologias usadas
- Como instalar e usar o projeto (instruções)
- Não esqueça o .gitignore
- Se está usando github pessoal, referencie que é um challenge by coodesh:
This is a challenge by Coodesh
- Adicione o link do repositório com a sua solução no teste
- Verifique se o Readme está bom e faça o commit final em seu repositório;
- Envie e aguarde as instruções para seguir. Caso o teste tenha apresentação de vídeo, dentro da tela de entrega será possível gravar após adicionar o link do repositório. Sucesso e boa sorte. =)
Para tirar dúvidas sobre o processo envie uma mensagem diretamente a um especialista no chat da plataforma.