O plugin Discourse AI tem suporte para solicitar a classificação de emoção/sentimento de novas postagens, que é armazenada no banco de dados e pode ser usada em relatórios e painéis administrativos.
Executando com HuggingFace TEI
O HuggingFace fornece uma imagem de contêiner incrível que pode colocá-lo em funcionamento rapidamente.
Por exemplo:
mkdir -p /opt/tei-cache
docker run --rm --gpus all --shm-size 1g -p 8081:80 \
-v /opt/tei-cache:/data \
ghcr.io/huggingface/text-embeddings-inference:latest \
--model-id cardiffnlp/twitter-roberta-base-sentiment-latest \
--revision refs/pr/30
Isso deve colocá-lo em funcionamento com uma instância local de ‘cardiffnlp/twitter-roberta-base-sentiment-latest’, um modelo aberto que pode classificar postagens em positivo/negativo/neutro.
Você pode verificar se está funcionando com
curl http://localhost:8081/ \
-X POST \
-H 'Content-Type: application/json' \
"{ \"inputs\": \"I am happy\" }"
O que deve retornar uma matriz de confiança para cada rótulo em operação normal.
Modelos suportados
- cardiffnlp/twitter-roberta-base-sentiment-latest · Hugging Face
- SamLowe/roberta-base-go_emotions · Hugging Face
Tornando-o disponível para sua instância Discourse
Na maioria das vezes, você estará executando isso em um servidor dedicado devido à aceleração da GPU. Ao fazer isso, recomendo executar um proxy reverso, fazer terminação TLS e proteger o endpoint para que ele só possa ser conectado por sua instância Discourse.
Configurando o Discourse AI
O Discourse AI inclui configurações do site para configurar o servidor de inferência para modelos de código aberto. Você deve apontá-lo para seu servidor usando a configuração ai_sentiment_model_configs.
Depois disso, ative a classificação alternando ai_sentiment_enabled.
