-
Notifications
You must be signed in to change notification settings - Fork 77
Proxy
Dialogue systems become more complex as NLP field develops. The modular architecture allows to use a lot of different Natural Language Understanding (NLU) models for utterance annotations and Natural Language Generation (NLG) models for response generation that increases the resource consumption of each dialogue system.
In Dream Platform we utilize modular architecture along with distribution-based approach. Each dialogue system is
created from presented components that are, mostly universal, building blocks.
The main distribution assistants_dists/dream
utilizes dozens of components including Neural Networks-based (NN-based)
ones that makes the distribution very resource consuming. Other distributions contain smaller number of components but still
often utilize several NN-based components each.
Therefore, for the users' convenience, we provide proxy utilization. We lifted components from the main
distribution assistants_dists/dream
on our own servers and provide you an opportunity to utilize them.
To maintain uniformity, the proxy components are lifted as local containers but the original containers
which are defined in assistants_dists/dream/docker-compose.override.yml
(and other files like dev.yml
)
are overwritten by the light-weight proxy containers in assistants_dists/dream/proxy.yml
.
For example, instead of the original NN-based container which requires GPU for fast inference,
the proxy system allows lifting only light-weight container which re-direct input from your side to our servers
and returns output from them. The disadvantages of proxy utilization are the following: the response time increases
depending on your Internet connection, you can not see logs of the original containers
(because the logs are a part of the container not proxy),
and to make changes in the proxied component, you have to lift it locally without proxy on your side.
Important Note! The proxied containers are usually correspond to main
branch (the latest release).
The Release notes could be found here.
Being in the early stages, sometimes we have to make breaking changes.
Therefore, if you see your proxy containers return errors, update and merge
the latest main
branch from the original repo to your branch in your custom fork of the repo.