Load models with YAML or JSON

Camphr provides a top-level function, camphr.load:

You can pass the model configuration in a format that omegaconf can parse, such as dict, yaml and json, for example:

>>> import camphr
>>> cfg = {
>>>     "lang": {"name": "en"},
>>>     "pipeline": {
>>>         "sentencizer": {"punct_chars": [".", "!"]},
>>>         "transformers_model": {"trf_name_or_path": "xlnet-base-cased"},
>>>     },
>>> }
>>> nlp = camphr.load(cfg)
>>> print(nlp.pipe_names)
['sentencizer', 'transformers_tokenizer', 'transformers_model']

“transformers_tokenizer” is automatically added because it is required to use “transformers_model”.

You can also pass yaml string* to camphr.load:

>>> import camphr
>>> cfg = """
    lang:
        name: en
    pipeline:
        sentencizer:
            punct_chars: [".", "!"]
        transformers_model:
            trf_name_or_path: xlnet-base-cased
    """
>>> nlp = camphr.load(cfg)
>>> print(nlp.pipe_names)
['sentencizer', 'transformers_tokenizer', 'transformers_model']