You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
918 B
31 lines
918 B
from string import Template
|
|
|
|
TYPE_VALUE_BASED_PROMPT = "value-based"
|
|
TYPE_INVERSE_PROMPT = "inverse-prompt"
|
|
|
|
PROMPT_TEMPLATES = {
|
|
"value-based": {
|
|
"training": "belief states: value = $value, slot = $slot",
|
|
"generate": "belief states: value = $value, slot ="
|
|
},
|
|
"inverse-prompt": {
|
|
"training": "belief states: slot = $slot, value = $value",
|
|
"generate": "belief states: slot = $slot, value ="
|
|
}
|
|
}
|
|
|
|
|
|
def get_prompt_for_training(typ, slot_value):
|
|
template = Template(PROMPT_TEMPLATES[typ]["training"])
|
|
return template.substitute(slot=slot_value[0], value=slot_value[1])
|
|
|
|
|
|
def get_value_based_prompt(value):
|
|
template = Template(PROMPT_TEMPLATES["value-based"]["generate"])
|
|
return template.substitute(value=value)
|
|
|
|
|
|
def get_inverse_prompt(slot):
|
|
template = Template(PROMPT_TEMPLATES["inverse-prompt"]["generate"])
|
|
return template.substitute(slot=slot)
|