--- title: ❄️ ChillTranslator 🀬 ➑️ πŸ˜ŽπŸ’¬ emoji: ❄️ colorFrom: red colorTo: blue base_model: microsoft/phi-2 tags: - finetune - synthetic - translation language: - en pipeline_tag: text-generation --- # ❄️ 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 with `llama.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: ```bash 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: ```plaintext 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 "]" ```