New to Developing ChatBots Inquiry

Hi guys,

I just got assigned an intern project where I have to develop a chatbot on a website that helps users construct SMART goals. The context of the site is in the realm of well-being and incorporates an established framework towards approaching well-being. I have explored fine-tuning and vector embeddings as approaches, however I’m thinking these may be overkill. Would prompt engineering suffice? Any advice would be appreciated as I’ve little experience with these approaches.

I imagine that I can explain to GPT 3.5 that it is interacting with users in the context of constructing SMART goals within a well-being framework that I’ll define within the prompt. Here is an example of a potential conversation.

MODEL: Asks the user what SMART goal they want to construct within a domain in well-being

USER: I’d like to exercise more through yoga.

MODEL: “Great, let’s make that goal measurable. Would you like to go to a yoga class once a week, twice a week, or at a different interval?”

USER: “I’d like to go to a yoga class twice a week”

Then the model goes through the rest of the aspects of the SMART framework and returns a final SMART goal.

“Great. your complete smart goal is going to a yoga class once a week for the next three weeks. This goal is tailored to help you establish a balanced exercise routine, with clear steps and a timeframe that encourages accountability and progress monitoring. Would you like to set up another SMART goal, in this pillar or another, or does this feel like enough given your schedule and other constraints?”

Any help/resources would be GREATLY appreciated.

I’d say prompt engineering will definitely suffice and a fine tune model might even add more work for you. The system message is your friend. You can create the personality, objective, and any rules or even steps to adhere by in it. Especially keeping the temperature at zero, you should be able to have a chatbot that stays within these bounds.

Hey man I run a site that uses a SMART bot.

What I would do is return the responses in JSON, the new models have a json parameter now. define the json in the system prompt as well as what you want it to output.

You could use the assistants API to call functions based on what they input, so it could retrieve different worksheets for them or idk, call a different API that might be useful.

Another thing like I said would just be getting what you want back in JSON format and then manipulating that data to be a for instance in a neat little PDF export for them to take and print or something.

There is a lot you could do.

But if the scope is JUST a chatbot, id just focus on having it prompt a specific format like the first message it asks for a specific goal, the second message it asks for a way to measure the goal, etc etc. Then at the end you could have it output like a nice PDF or something.

Hi Daniel,

For your chatbot project, prompt engineering in the context of constructing SMART goals for well-being seems like a suitable approach. You can define a structured conversation flow within prompts to guide users through goal-setting. Utilize GPT-3.5 to understand and respond to user inputs, gradually refining the conversation for optimal outcomes.

Keep testing and iterating based on user feedback. Explore OpenAI’s documentation for prompt engineering tips. This approach should simplify development while providing an effective and user-friendly experience. Good luck with your project!