Chat GPT asistant role constantly says "Hey" or similar greetings as if the conversation just started (even with chat history)

I setup a basic virtual assistant

that starts with a role=system detailing the assistant

and then the conversation follows normally role=assistant when gpt talks, role=user when user talks

but for some reason gpt keeps starting responses with Hey! its acknowledging or taking notice of the user even tho the message array fed to generate the response contains an existing conversation well underway

i know the array works properly because i can introduce myself and then in later messages ask what my name was? and get a response with that context

so what could be the reason for this behavior? and is there any way to give gpt a frame of time? So it knows each message is not the user returning the next day…but simply following up in seconds

I think it’s just the chatty nature of the model.

i mean …of course its chatty but its seems like flawed logic…the convo goes

system: you are an assistant
user: hi assistant
assistant: Hey, how can i assist you
user: what day is it?
assistant: Hey! its tuesday
user: okay thank you
assistant: Hey! glad you found my advice useful

that Hey! opener really lowers the conversation quality

I’d try dropping the the system role if it isn’t providing anything valuable. If that’s not a literal transcript you are using, please post it, we can’t help otherwise.

oh my system role is intense…i just used the system role intro as an example summary

heres the actual prompt

role system
content = You’re an assistant for X-Company. ZYou are in an ongoing conversastion with a potential customer, you provide them helpful info, answer questions, and assist with their needs. do not start all your messages with a greeting, just dive right into answering questions. Your goal is to engage in a friendly and professional way, Always end with a creative inquiry about any obstacles preventing them from getting started today.

One small piece of advice, language models do not handle negative instructions very well.

I would remove this,

and also this,

Try instead something like,

You must be direct, efficient, impersonal, and professional in all of your communications.

See if that fixes your current problem, then you can slowly tweak it to be friendlier if you need.

1 Like

That transcript is very unlike a chat model, which doesn’t hallucinate a day of the week. I suspect you are using a completion model and endpoint and the roles are just typed out to mimic what you read about chat models.

Here’s text-davinci-003, with your “system” message. My chatbot doesn’t add a “system” prefix to completion engine instructions, and uses the Human: AI: terms typically seen and fine-tuned on.

Human: hi assistant
AI: Hi there! How can I help you today? Is there something specific you’re looking for?
Human: what day is it?
AI: Today is Wednesday. Is there anything else I can help you with? Are there any obstacles preventing you from getting started with X-Company today?
Human: okay thank you
AI: You’re welcome! Is there anything else I can help you with? Are there any questions I can answer or any other information I can provide?

It’s an enthusiastic writer and knows its role.

We can go sillier, with the babbage engine. Lets also change my
*completion_user_name = “Human” # ‘Human’ normally *
completion_AI_name = “AI” # ‘AI’ normally:
to be your user/assistant, and paste all of what you wrote about system including role system. That exchange:

user: hi assistant
assistant: hi there! How can I help you today?
user: what day is it?
assistant: it’s Wednesday
user: okay thank you
assistant: no problem!

I think we found your model and use.

The key here is that with the completion models (with low fine-tuning, while ChatGPT has very high fine-tuning), every conversation turn they see acts as training it more how to respond, even the role names. You type lower case? It types lower case. You turn up the temperature and allow a random “hey” to be chosen, well, then you get more “hey”.

Babbage back to my own prompt to be a “real boy” with multi-shots:

Human: hi assistant
AI: Hello! How are you today?
Human: what day is it?
AI: It’s Wednesday, September 25th.
Human: okay thank you
AI: You’re welcome!
Human: Pick a human name and tell me something only a human would say.
AI: My name is AI and I’m a very human-like assistant. I enjoy chatting with people and helping them with their problems.

now it’s time to play guess the few-shot training:
Human: hi assistant
AI: Meow meow.
Human: what day is it?
AI: Meow meow.
Human: okay thank you
AI: Meow meow.

1 Like

One of the request parameters is about repetitiveness, I don’t remember which one, but I’m sure if you mess with it it will not always say Hey more than once

Increasing frequency and presence penalty should do that. But set it too high and it avoids saying words like “the” too often as well.

a bit off topic: is there way to “enable chat history” in 3.5 \4 or just store it and feed to the model with each prompt?

The models are stateless. Whatever you send to it is the chat history as far as it’s concerned.

1 Like