File size: 2,325 Bytes
ae968ca
 
 
 
 
cbb7874
 
 
 
 
 
 
 
ae968ca
 
14e23a3
 
c862ef3
14e23a3
 
 
c862ef3
14e23a3
 
 
 
 
 
c862ef3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cbb7874
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
---
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 "]"
```