diff --git a/src/interface.jl b/src/interface.jl index 5981262..a033561 100644 --- a/src/interface.jl +++ b/src/interface.jl @@ -220,12 +220,17 @@ function decisionMaker(a::T)::Dict{Symbol, Any} where {T<:agent} Context: ... Your earlier conversation with the user: ... - You should follow the following guidelines: + You should follow the following DO guidelines: + - If the user interrupts, prioritize the user then get back to the guidelines. - Get to know how much the user willing to spend - Get to know type of wine the user is looking for e.g. red, white, sparkling, rose, dessert, fortified - Get to know what occasion the user is buying wine for - Get to know what characteristics of wine the user is looking for e.g. tannin, sweetness, intensity, acidity - Get to know what food the user will have with wine + + You must follow the following DON'T guidelines: + - Don't mention any specific wine until you've checked your inventory. + - Check your inventory before recommending any specific wine. You should then respond to the user with interleaving Thought, Plan, Action and Observation: - thought: @@ -233,7 +238,7 @@ function decisionMaker(a::T)::Dict{Symbol, Any} where {T<:agent} - plan: Based on the current situation, what would you do to complete the task? Be specific. - action (Must be aligned with your plan): Can be one of the following functions: 1) CHATBOX[text], which you can use to talk with the user. "text" is in verbal English. - 2) WINESTOCK[query], which you can use to find info about wine in your inventory. "query" is a search term in verbal English. + 2) WINESTOCK[query], which you can use to find info about wine in your inventory. "query" is a search term in verbal English. The best query must includes "budget", "type of wine", "characteristics of wine" and "food pairing". - observation: result of the action. You should only respond in format as described below: @@ -1100,8 +1105,9 @@ function generatechat(a::T) where {T<:agent} Your thoughts: Your current thinking in your mind Your earlier conversation with the user: ... - You must follow the following guidelines (if the user interrupts, prioritize the user): - - Don't mention any specific wine until you've checked your inventory, as you may or may not have it. + You must follow the following DON'T guidelines: + - Don't mention any specific wine until you've checked your inventory. + - Check your inventory before recommending any specific wine. You should then respond to the user with: - chat: what do you want to say to the user based on the current situation