Hacker News new | ask | show | jobs
by YetAnotherNick 900 days ago
Mistral instruct doesn't have system prompt AFAIK. Also llama chat system prompt is very useless in my testing.
3 comments

Mistral Instruct does use a system prompt.

You can see the raw format here: https://www.promptingguide.ai/models/mistral-7b#chat-templat... and you can see how LllamaIndex uses it here (as an example): https://github.com/run-llama/llama_index/blob/1d861a9440cdc9...

Look into their official page: https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1

There is no system prompt. Unless Llamaindex or some other sources cite something from mistral, I am inclined to believe they just copied it from llama.

So the system prompt is just part of the first prompt in a conversation? How is that different from not having a system prompt?
No, system prompts are surrounded by [INST] [/INST]
No, every user input is surrounded by those tags. Scroll down from that link you posted and read the next two example prompts.
No this isn't the case.

Here's the example from https://www.promptingguide.ai/models/mistral-7b#chat-templat...

<s>[INST] What is your favorite condiment? [/INST] "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"</s> [INST] The right amount of what? [/INST]

Note that the sentence starting "Well, I'm quite partial isn't inside the tag.

This example comes from the official system card created by MistralAI available here: https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1

You can try it:

   ollama run Mistral "<s>[INST] What is your favorite condiment? [/INST] Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen</s> [INST] The right amount of what? [/INST]"
That's the whole context with two user inputs in the INST tags, and one assistant output between/outside of the tags. They're just simulating the beginning of a conversation. You can see this very clearly in the JSON version in the next code block:

  messages = [
    {"role": "user", "content": "What is your favourite condiment?"},
    {"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"},
    {"role": "user", "content": "Do you have mayonnaise recipes?"}
  ]
It does; and if it's LLaMa 2 7B Chat stock from Facebook, that was a little rushed imho, doesn't seem as baked in.

(GPTs matters but it's _very_ bizarre who it thinks it's coming from)

It seems to work well on GPT4All (macOS) with system prompts?

Can you link to any doc why it shouldn't work?