Build a syntax highlighting web service.
Given the implementation of a Deep Learning module for code syntax highlighting, package this into a web service that enables fast code highlighting. The performances provided by the statistical model are in the form of a large grammatical coverage and accuracy of the highlighting produced, whilst maintaining low computation delays. Your solution must build on these values, enabling online vendors to efficiently provide better syntax highlighting for their users. Furthermore, you should find that the Deep Learning model maintains its effectiveness on incorrect or incomplete language derivations, something that cannot be said for solutions being used today.
The highlighting modules given, provide two main (fully implemented) functionalities: prediction and fine-tuning. The former takes program code as text and returns a representation of the syntax highlighting for that text. Instead, the fine-tuning takes program code as text and, if possible, attempts to improve the model in its ability to produce accurate syntax highlighting. — The code provided for these functionalities is complete and does not you to have any deep understanding of its design or implementation, hence your goal being a cloud-ready packaging of this software.
Use the fine-tuning process to continuously improve the highlighting accuracy of the model, as more syntax highlighting requests are received. Ensure however that not all files are given to the fine-tuning process, you want some to never be used to boost the model: this will help later help you establish whether or not the model has actually improved or not. This being a machine learning model, the training/fine-tuning set, and the test set should never intersect. A model being fine-tuned must not be used for prediction. Hence, once a better module is derived, ensure this becomes the new highlighting resolver of the web service. The fine-tuning processes are time and resource expensive, however, the service cannot afford downtimes.
Moreover, the syntax highlighting model provided can support three languages: Python, Java, and Kotlin, but not simultaneously. Ensure your web service can provide highlighting for all three languages.
Mine free online open source repositories to collect sample program files, and build a realistic demo of your solution.
Here follow the base modules for the implementation of the Annotation WebService: