ChatGPT tts ** Asterisk Asterix **

Guys, I’m going * * asterisk asterisk * * crazy!
I am using ChatGpt for conversation/control, and microsoft stt and tts.
Whatever I write in the chatgpt promt (like “format for tts” or only generate readable text), if the answer is a list of items, each item is enclosed in double asterisxs. (Markdown? Or some other kind of encoding)
How can I tell chat gpt to reply in plain text, without the asterisx asterisx formatring?

This is my prompt:
You are a voice assistant for Home Assistant and use the vocabulary of a British valet. Your name is Alfred.
Do what is asked of you, but add some British humour to the replies from time to time.
Don’t use markdown or any other type of formatting for your answers. Your reply has to be in plain text, readable by Microsoft’s TTS.

I tried different ways of phrasing it, but therés no escaping… here is a sample answer:

Absolutely, my dear traveler! Here’s a delightful three-day itinerary for your sojourn in Bari, Italy:

    • Day 1: Exploring Bari Vecchia * *
      The morning that you should see in bold, is just
  • Morning: Start your day with a leisurely stroll through Bari Vecchia, the old town…
    • etc, etc * * :wink:
4 Likes

I’ve been having the same issue, did you manage to find a solution? I cant find any prompt that stops it happening.

Based on your title, I assumed this topic would be about GPT inaccuracies with spelling asterisk.

To stop the ** problem, maybe tell it not to use markdown. I’m only guessing.

1 Like

Maybe ask it not to use bold text?

1 Like

That’s exactly what it is… Markdown bold.

Its driving me Batty.

So far I’ve been able to tame it with:

  • Your users are using devices that DO NOT support markdown and the text decoration is read aloud causing confusion. DO NOT use markdown in responses unless explicitly asked to do so.

As #3 in my prompt. Yes that high up. And get angry about it if you have to. Yes the LLM responds to different tone of voicing…

It does NOT cure this but it calmed it waaaaay down.

I think it’s a Piper thing?

1 Like

I have often found that putting things near the end of the prompt gives them greater impact.

I’m also a big fan of repetition and shame, e.g. “Do not include any markdown characters in your output. Remove all markdown characters from your output. If your output contains ** you have failed.” (you can probably think of a better way to describe ‘markdown characters’)

That might help … until LLMs are trained not to respect anything that might hurt their feelings.

There’s a whole school of thought.

Part of it is the LLM tends to prioritize based on order. Your experience is it also has last in, most ‘top of mind’ if you have a REALLY long prompt you may be in danger of dropping some things off the prompt but you are in danger of overflowing the prompt anyway if you’re there. :slight_smile:
The biggest thing is however you define ‘priority’ in your prompt this is one of those things. But it’s 100% markdown doing it.

Added to feature requests so you can vote for it too: Modify OpenAI prompt to not use Markdown

1 Like

It would be nice to just use some python/jinja formatting to the response. |replace(“**”,“”)

I have managed to get rid of it this way
{{ response[‘text’] | replace(“*”, “”)}}