+1 We've discussed this on Slack and it is a good summary. Changes are big - but the simplifications would be even greater resulting in a much simpler to use system without loss of any significant functionality.
On Thu, Oct 7, 2021 at 8:55 AM Nikita Ivanov <[email protected]> wrote: > > +1 > > Good thoughts and direction. Current version is clearly over-engineered. > Even demos and presentations are taxing... > -- > Nikita Ivanov > > > > On Wed, Oct 6, 2021 at 11:36 PM Kamov Sergey <[email protected]> wrote: > > > Hi NLPCraft-ers, > > > > When we have been working on new project examples - we found that we > > tried too hard to extend possibilities and configuration flexibility of > > our system. > > Currently the difficulty of usage understanding outweighs the product > > advantages. > > Based on this examples developing experience, I would suggest the bunch > > of changes for nlpcraft version 2.0. > > > > There are 4 goals for improvements > > > > 1) Simplifying > > - drop server/probe architecture. Server should be deleted, probe > > component should support java API (to be used in embedded mode) and same > > API via REST. > > - drop (at least in initial 2.0 version) all built enrichers (DATE, > > NUM, GEO, COORDINATE, LIMIT, SORT, RELATION). It is not main part of > > project. > > - drop (at least in initial 2.0 version) all python related services > > (synonyms suggestion, spacy integration etc) > > - drop Apache Ignite usage. h2 files based can be used by default > > datasource (few databases should be supported, it is not big headache). > > Main idea that we should have the possibility to work with zero > > configuration (h2) but can use another db for production. > > - drop sql utility and example > > - model enricher is still base component for user defined elements, > > but we should I guess > > - drop support of sparsity, abstract tokens, and permutations in > > synonyms > > - drop IDL usage from synonyms, drop support > > - IDL used for intents only. User defined java functions can be > > supported some way for usage in IDL > > > > Some features can be returned in next versions according to new > > architecture. > > > > 2) New features > > - confirmation API > > - curation API ? > > - multi-language support (usage stop-words, spell-checking, swearword > > and suspicious words should be configured via plugins with default EN > > implementation) > > > > 3) technical issues > > - scala 3 support (for implementation) > > - probe IoC friendly design (it shouldn't be not standalone server > > with static lifecycle methods) > > > > 4) Extending user defined components support (pluggability) > > - It is already described above: multi-language support and IDL user > > defined java functions. > > > > I know that the are big changes, but I guess it can significantly > > improve quitily of project (technical dept should be decreased) and > > refine the focus of the project. > > What do you think? > > > > > > Regards, > > > > Sergey > > > >
