Hacker News new | ask | show | jobs
by ianbicking 1041 days ago
Are you doing it mostly through fine tuning? Most of what I've been doing has been with prompt engineering and pipelines, so I tend to think about these things from that perspective. With prompting I'd be inclined to ask the model to identify issues and start to analyze them, resulting in follow-up questions/etc. This would probably be hidden (or softly hidden – viewable but not shown by default). I find this parallel "mental" process makes the responses more engaged, and lets the model maintain a conversational purpose across responses.

So using prompting I'd almost want to take Rogers' _teachings_ and incorporate them in the prompt, teaching the model to follow the Rogers' guidance for a therapist rather than simply cloning the behavior seen in transcripts.

1 comments

Oh this is an interesting point. I do incorporate some of Rogers' teachings into the prompt in terms of how high level descriptions of how BB should respond.

At the same time, because I am unsure how much reference material the base GPT model has to implement those high level descriptions (for instance, the Roger transcripts are not in public domain), so I would also try to provide finetuning examples.

Another way to teach GPT about the model is to program a portion of it or use chain-of-thought approaches. (Well, not sure if CoT is the right way to think of it... templating a thought process?)

A template seems like it might do the trick, something like:

Respond in the form:

Topic: [The topic the user wants to talk about] Feelings: [How the user seems to feel about the topic] Therapist: [How a Rogerian therapist would reply to their patient]

---

Then GPT has to "think out" those first items before it actually produces a response. I just made up "Topic" and "Feelings" – what you force GPT to describe will determine the therapy process you are trying to inspire in it. Then you'd only show the user the Therapist line where is actually responding. (I think it's fair for users to actually see all of the response, but not necessarily by default)

I see. That's interesting. It might be expensive to deploy in production but I can give this a shot in generating synthetic training data. Thanks for the tip! :)