psi icon indicating copy to clipboard operation
psi copied to clipboard

feature request: config file

Open bakuzen opened this issue 6 years ago • 0 comments

I would like to request a new feature: a config file and primary entry point / Main driver that reads the config file. The goal of the config file is to have a single file (or heirarchy of files) that defines the configuration of a particular multimodal system setup. I think a config file will be useful for being able to run different experiments without needing to have different versions of the code. I also think it will increase wider-spread adoption of psi for people to make use of existing components. Perhaps most importantly, the config file would allow different configurations of psi without requiring Visual Studio. I imagine, for example, a robotics researcher who wants to bring together ASR & NLU (which psi has/soon will have) for their robot, but doesn't want to get into the code--they just want the NLU output to be passed to their robot component.

This might require more discussion and brainstorming, but here's a starting point:

Ideas for config file contents

  • something that sets up the pipeline (with params!) / setup / takedown
  • input buffers, output buffers
  • what gets put into the store, when
  • something that can start external processes (e.g., a python process + interop)
  • parameter for filename (i.e., store file) to autoload in the studio for visualization

Ideas for psi main driver classs

  • parameter pointing to config file
  • parameters for overriding config file parameters
  • Main driver uses the config file to setup and instantiate the psi components

References

  • InproTK's config system uses the Sphinx4 config system, which is XML-based (I don't recommend using XML!) that has component definitions and allows components to be instantiated and shared across the entire system. Components have provisions for being able to set prameters from the config files
  • The RASA pipeline is really nice and I think worth emulating as the format is easy to read

bakuzen avatar Jun 13 '19 15:06 bakuzen