Skip to content

Config_Bot

Keith Sterling edited this page Jan 25, 2019 · 11 revisions

pi# Bot Configuration Overrides

Bot configuration consists of a number of options which control the overall behaviour of the chat bot, it is made up of core settings and also the following sub sections

Core Settings

Name Description Example Default
license_keys Path to location of license keys. Note, but the very nature of this file its it kept out of the fit repo. See documentation on 3rd party license keys for format of file $BOT_ROOT/config/license.keys None
prompt Command prompt to show where to type a question into >>> >>>
initial_question When the bot starts up, what question does it start with What can I do for you? Hello
default_response If the bot does not find an answer then display the default response Sorry I don't have an answer for that Empty String
empty_string_srai Alternative to default_response, if the bot returns an empty string, then this points to an srai grammar to execute YPROGRAM_EMPTY None
exit_response When you exit the console, typically with Ctrl-C, what should the bot end with So long, and thanks for all the fish! Bye!
override_predicates Predicates are default values loaded at system startup, if this flag is set to true then your grammars can override these values. Useful in some circumstances, but typically best kept as false True False
max_question_recursion If the same question keeps repeating itself, then your bot can enter into an infinite loop. This count is the number of times the bot can ask itself questions before it exits. This typically occurs when you have an SRAI grammar which resolves to itself. 100 100
max_question_timeout An alternative to max_question_recursion, is to timeout the question being asked after a specific amount of time. A default of -1 means no timeout 1 -1
max_search_depth As well as tracking the number of questions, the system also tracks the depth the search is taking down the parse tree. A useful way to keep the searches light and shallow. 66 100
max_search_timeout An alternative to max_search_depth is to timeout after a complex search reaches a certain time limit. This is useful when you have very deep grammars and lots of srai and extensions which can be CPU intensive.A default of -1 means no timeout 1 -1
tab_parse_output If you are running in debug mode, then to help understand what is going on the parser tabs the output for every step in depth down the parse tree. This however requires the creation of the tab string at multiple times which can add to the overall processing. Switching it off removes the tabs [True|False] False

Example Configuration Section

bot:
    license_keys: $BOT_ROOT/config/license.keys
    prompt: >>>
    initial_question: Hi, how can I help you today?
    default_response: Sorry, I don't have an answer for that!
    empty_string_srai: YEMPTY
    exit_response: So long, and thanks for the fish!
    override_predicates: true
    max_question_recursion: 1000
    max_question_timeout: 60
    max_search_depth: 100
    max_search_timeout: 60
Clone this wiki locally