To add to @AgusPGâs thoughtful post, Iâd say that when it comes to prompting, negatives usually donât work as they contain the words you want to limit and therefore itâs more likely theyâll be output.
Also, ChatML seems to really be helping⌠I like the direction itâs going in.
Wow⌠thanks! it sounds a bit exaggerated. But you can be sure that if i feel desperate again the next days, i will try in this way. I tagged your post as favorite, to get it fast if i need it
I say this because i have already a direct SYSTEM instruct in the same way, passed as a previous message with role SYSTEM to the API, and it really seems to be pretty ignored because the results are very disappointing.
Iâm not very sure that youâre right. Let me put some cases.
It works always perfect for me (using chatGPT Plus UI) when i add a NEGATIVE post-prompt like âDo not explain to me the modifications you do.â, for example when i request to it to improve a text in english (english is not my native language).
It complies very well with this instruction. It do not explain to me the modifications, only fix the text. But if you donât specify this negative direct instruct at the end, USUALLY (not always) it add a long justification of obvious modifications that are not necessary. You know.
So, let me disagree with you. I think that negative direct instruct are very effective. And let me add: maybe because precisely as you said, it has more present what not to say.
I know what you say. I use this other âtrickâ and it works better: to your âUnknowâ i add an UTF8 smiley, like or which is not âmodifiableâ in no way (no genre, no singular/plural, etcâŚ). And it let me detect this kind of scenarios to improve the answer to user with extra-tips not provided by the IA
Note: Actually, I take this idea from Bing Chat, when I saw that they used emojis! Until that moment it had not occurred to me that this was possible.
Hi, one very important parameter is not mentioned in this thread so far but in my understanding is of very high importance! This is the âPresence penaltyâ-parameter. Turning this up will increase tge models likelihood to talk about new topics, so have you allready tried this out?
Also maybe turn down the temperature param?
And one thing to add: Try to give your command before the other input. In my experience the commands are more prioritized when they are given before the other text. This makes sense to me because if you say translate a text and in the following Text there is some text which might also be interpreted as a command it makes sense to prioritze the Translation command because this comes first.
For me this mix of tools works well enough - let me know if this is for you also the case
I didnât say it never works, but sometimes it can be less productive than thinking about things in a positive rather than negative sense. As a LLM, itâs just taking the text you enter and returning relevant stuff. Just sharing my experienceâŚ
Again, though, Iâm not saying it never works, but itâs sometimes easier to go in the other direction.
Yeah, you have pointed out an important detail to keep in mind: some user requests can involve long texts embedded in it. So in these cases to use a âpost-promptâ concatenated to the raw user request couldnât have sense.
But in my case (an smart auto-responder based on Q&A format queries) i think this is not a âableâ scenario. But thanks to point it out. Because itâs necessary to take in account in future API calls for other uses, like translations, grammar corrections, requests to summarize, etc. Yeap.
Yes, I understood your comment, sorry if it seemed that I had understood it in a literal way. We both know that itâs not a question of white or black.
Said this, i am really counting the hours to launch to public BeeHelp, to begin to test intensively my built in different knowledge and case use and be able to improve the calls to API in relation to all these questions and difficulties.
I realize that i need to add a clear disclaimer message to these new customers regarding a this initial âbetaâ phase. I also count with OpenAI guys improving a lot the next versions of chatGPT (hopefully only a flatter language model, not âso conversationalâ!!) in the current weeks or couple of months
Interesting, but not. Itâs the first time i read something like this.
Are you thinking of do a FIRST call to chatGPT completion endpoint asking for ârewriteâ the user question taking in account some extra context information, like the closest Q&A in the knowledge database, and then use the output to do a SECOND answer.
Well, although it was minimum successful, this could almost double the cost of the use of the API and just the goal is just the opposite: to avoid consume API for OUT OF SCOPE questions, detecting it before to query API if itâs possible, or if it happen, then be able to respond that discourages the user to continue doing this kind of questions.
See it from the sky: we try to optimize the answers and the cost of the system to nicely attend users doing questions within the scope of our knowledge DB, discouraging other kind of questions.
In this sense, iâm not worried about the system responding to a COUPLE OF out of scope user questions, but i do worry about potential users using the system to get all day at any hour any kind of answer.
Yeah⌠itâs more complicated than initially seemed
Yes Louis, iâm using it already, since the beginning of this project.
But it is not enough when:
Your knowledge repository is enough âsemantic wideâ, so when ALWAYS there is something âenoughâ close (using embeddigns) to the user question.
When the user request is semantically very close to something on your knowledge but it really the real question of the user is far away in âsome respectâ to your core knowledge. Example: you have knowledge about your premium plan for your service, and the user request: give me a plan to build a premium service for my business.
In these scenarios the embeddings doesnât avoid that chatGPT completion endpoint give a so good and long elaborated answer as your user request to it. Do you understand me?
Final thougths: i think that maybe you need to see this new âuser assistance technologyâ just like we understand the human attention we receive in a classical physical commerce. I means: you cannot do many thinks (or nothing?) to avoid that entry in your commerce a guy asking foolishness and wasting the time of your friendly custom support guys. Can you?
So, in the same sense, we cannot avoid always that anyone could ask to chat assistant things out of scope⌠from time to time
Good addition Iâll probably add it in. I wish there was a way to make it stop saying âin conclusionâ Iâve tried negative and Iâve tried all caps. When I did that it gave me this line âIn conclusion (just kidding I wonât use that term againâ. I was like⌠Look at this AI. Itâs got jokes. It actually was very irritating. I havenât tried Chat 4 because having so little prompts to use makes it just not something I want to try, because if itâs better and I like it. Iâm limited (even though Iâm paying for it). So, not useful. But thereâs so many times it uses tired phrases and just keeps doing it no matter what.
Although, it also has that bad habit of hallucinating no matter what I tell it. I ask it not to add something and itâll rephrase and add it anyway. Itâs frustrating. (Makes you want to run it locally pulling from itâs own pile of things it can and canât talk about.)
Some really good suggestions by @AgusPG in his link â weâve tried a bunch of those with some excellent results.
So basically, try your best to control these parameters
Prompt engineering
Context
Post-response filtering/similarity.
In our case, our system (CustomGPT) is used mostly for such use cases with customer data and they want the responses to be based on that data (with no hallucinating!) â e.g Customer Service Livechat.