ChillTranslator / README.md
lukestanley's picture
Improve metadata
cbb7874 verified
metadata
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:

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 "]"