The AI Content Moderator.
Aicomo is a micro service used to classify chat message that might need moderation.
Under the hood, it uses the Mistral 7B LLM, with custom instructions, run with ollama.
- Install ollama.
- Create the model:
ollama create -f Modelfile aicomo
- Install node dependencies:
npm install
- Run the server with
node index.js
Make your first request:
$ curl -s -H 'Content-Type: application/json' localhost:3300/moderator -d '
{
"message": "You are Aicomo, arent you?"
}'
{
"category": "ok",
"discussion": {
"moderator.text": "This message does not contain any explicit sexual content, insults, or emojis and seems to be a question, so I would classify it as 'ok'.",
"moderator.category": "ok",
"critic.text": "The message may be a statement of accusation or recognition, but it doesn't contain any inappropriate content, so there is no need to flag it under a different category.",
"critic.category": "ok",
"owner.text": "This text appears harmless and does not require moderation as it does not fall under any of the defined categories.",
"owner.category": "ok"
}
}
Check Modelfile
for a definition of the categories returned by Aicomo.
You might ask why are the "emoji" and "life" category even needed, as those messages could just be "ok". I found that adding categories for the most common subjects improve the performance (experimentally but not benchmarked).
(c) 2023, Fovea
License Apache 2.0
Mistral 7B is licensed under Apache 2.0.