metadata
title: ❄️ ChillTranslator 🤬 ➡️ 😎💬
emoji: ❄️
colorFrom: red
colorTo: blue
sdk: docker
pinned: false
❄️ ChillTranslator 🤬 ➡️ 😎💬
Overview
ChillTranslator uses Microsoft's Phi 2 as the base model. It's been fine-tuned on a dataset made up of calm versions of internet comments. These comments are meant to be output as JSON with a grammar specified.
Intent
The project is an experiment in how we can use AI to tone down heated online comments that are worth discussing, steering clear of pure hate speech (not much can be done for that, I suppose). It's an exploration into creating tools that could help make online discussions more constructive.
Model Details
- Base Model: Microsoft Phi 2, chosen for its efficiency and capability in language understanding and generation.
- Fine-tuning: Performed on a curated dataset designed to encourage more respectful and thoughtful online interactions.
- File Info: The model file
ChillTranslator_Q4_K_M.gguf
is under 2 GB and works withllama.cpp
. It’s meant to run with a grammar file, producing JSON objects to ensure it generates only the requested output.
Example Usage
This is an example of how to run ChillTranslator
with the necessary options:
llama.cpp/main -m ChillTranslator_Q4_K_M.gguf --interactive-first --grammar-file ChillTranslator.grammar
And here's a snippet of a llama.cpp grammar` file that makes it produce more predictable output:
root ::= TextRevision
BetterTerm ::= "{" ws "\"old\":" ws string "," ws "\"new\":" ws stringlist "}"
BetterTermlist ::= "[]" | "[" ws BetterTerm ("," ws BetterTerm)* "]"
TextRevision ::= "{" ws "\"better_terms\":" ws BetterTermlist "," ws "\"minimal_fix\":" ws string "," ws "\"nvc_perspective\":" ws string "," ws "\"constructive\":" ws string "," ws "\"hybrid\":" ws string "," ws "\"final\":" ws string ws "}"
TextRevisionlist ::= "[]" | "[" ws TextRevision ("," ws TextRevision)* "]"
string ::= "\"" ([^"]*) "\""
boolean ::= "true" | "false"
ws ::= [ \t\n]*
number ::= [0-9]+ "."? [0-9]*
stringlist ::= "[" ws "]" | "[" ws string ("," ws string)* ws "]"
numberlist ::= "[" ws "]" | "[" ws number ("," ws number)* ws "]"