Trying to undestand the System Role

I am trying to really understand a few things:

  1. Is the System Role a kind of embedding?
  2. Once I have setup a SR, do I need to keep sending it at every request or is that a one time push?
  3. If I need to send the SR only once, how would the model know everything that was there? Is there an internal treatment based on the session time? If not the question 2 is already answered, as we need to keep sending the SR.
  4. A new SR send in the middle of a conversation would act as a “restart”? Is that what the “New chat” does in the ChatGPT playground (
  1. It’s not an embedding but sort of like a role you would like GPT to adopt when answering the question. “You are a middle school english student writing an essay” for a system role would let GPT behave as if it was a middle school english student and that would then effect the quality of generation in terms of tokens used or sentence structure.

  2. If you are using the API, you will have to send it every time

  3. I have never tried changing the SR in the middle of the conversation so won’t comment on that. However, the chat openai already has a system role defined for it. However, you can still pass the first statement to it as if a passing a SR and it will keep that in the context

Also, the effect SR has on the generation is not that great in gpt3.5 or below but it is quite effective in GPT 4

Thanks for the insight! I am using the API (for GPT-4 and Turbo 3.5).

So, by sending it every time (2) also is good so I can feed it back with new and/or updated information. SR will set up the behavior but also provide some information which the model could use, as for my tests.

I was playing with System role this week. I wasn’t able to make it “work”. I had such, as example:

{"max_tokens":1024,"temperature":0.69,"top_p":1,"frequency_penalty":0.4,"presence_penalty":0.6,"model":"gpt-4","messages":[{"role":"system","content":" <INSTRUCTION> ","role":"user","content":" <QUESTION> "}]}

Where “INSTRUCTION” should be any SR I need and the “QUESTION” is of course the user chat part. Now what I meant is that instruction part is completely invisible/unknown regards to the question. If I put there in the instruction something like “the book is yellow” and ask for the book color it won’t answer as expected:

As an AI language model, I cannot see or identify the color of a specific book. Can you please provide more context or information about the book you are referring to?

So I am still missing something here. I am in a lack of understanding.

The [{“role”:“system”,“content”:"You are a helpful bot that can identify the colour of books ",“role”:“user”,“content”:"The book is yellow "}, ,“role”:“user”,“content”:“What is the book color?”]

If you structure it like this, the GPT will better understand what the problem is and what it is expected to do. The system field, like I mentioned before, as like a role/ behaviour you would like GPT to adapt. Things like, “You are a Senior Python developer to develop optimised code” would make it write optimised code like someone who has experience with coding.

While prompting it further will boost the performance very much, this help the LLM narrow down the scope of what might be expected from it.

1 Like

The [{“role”:“system”,“content”:"You are a helpful bot that can identify the colour of books ",“role”:“user”,“content”:"The book is yellow "}, ,“role”:“user”,“content”:“What is the book color?”]

Now I think I can better understand it, again thanks a lot for this!!