Skip to content

2.0-alpha: Merge pull request #78 from deepmipt/dev

Compare
Choose a tag to compare
@p-rdx p-rdx released this 25 Feb 14:09
· 73 commits to master since this release
e6e19ea

Briefly

  • New configuration.
  • New launch script.
  • Current documentation is outdated.

Config refactoring

  • Pipeline config in .json or .yml format.
  • Explicit configuration of pipeline graph.
    • Explicit configuration of state manager method, used for service response saving.
    • Explicit configuration of dialog (format dialog for service) and response (format service response in order to save in dialog state).
  • Database config in .json or .yml format.

Pipeline refactoring

  • Pipeline graph is now fully customizable via a config file.
  • It is possible to set a previous_services parameter in the service configuration part. These services should be skipped or responded with or without an error (at least one of them should return correct response) in order to send a request to the service.
    • Example: in a response selector service you can put all services that return hypotheses (potential bot response to user utterance).
  • It is possible to set-up a required_previous_services parameter in the service configuration part. These services should return a correct response in order to send request to the service.
    • Example: a service is relied on another service response (like some model requires annotations, provided by another model). In that case required previous services.
  • Check for cycles in pipeline graph.

Formatter refactoring

  • Formatters are now divided into dialog (send to service) and response (receive from service) formatters.
  • Dialog formatter should return a list of samples. Each of the samples represents a single task in a format that matches input structure of the service.

Agent refactoring

  • Agent can create multiple tasks from one dialog. It can be useful in case you want to annotate all hypotheses before response selector, or other similar ones.
  • Last chance service is introduced. It runs if an agent cannot continue processing an input utterance. For instance after crucial number of services were skipped or responded with error.
  • Timeout service is introduced. It runs if deadline_timestamp is presented and processing time tooks more than that timestamp.