The word “sanitize” is a bit misleading here. We want to solve two different problems:
- Make sure we get the output and nothing else.
- Make sure to strip any tags that make the result look unnatural.
The problem here is that we are being too lax with (1). We need to ensure that the relevant part is always wrapped by and, and use nothing else. Once we have this relevant part, remove all other tags to ensure the result looks clean (2).
To expand on the example I provided above, and explain why we currently scrub all these tags, this is what the seeded “explain” prompt looks like:
<term>, <replyTo> are used to provide context to the model, while <input> is to tell we want it to focus on that specific piece of text.
Problem was that some models were using the same tags in their replies, which made the text look unnatural and weird to users. The end goal here is to remove these tags and produce “clean” text as the result.
For example, when I want to get an explanation of what “Not following” means, I don’t want to see something like this:
<term>Not following</tem>in this context means that the user is having trouble understanding the explanation or the point being made. (…)