Skip to content

Adding API based system to CLiT framework (Permanently)

kmdn edited this page Jun 22, 2023 · 1 revision

You may add a system permanently to the CLiT framework by defining a .properties file for it!

This file will be loaded on startup and populate the adequate relevant lists on the demonstrator based on what one might define within it.

The appropriate folder which will be mounted into the Docker container may be found here /properties.

If you have a public endpoint (e.g. running one of our templates) and you would like to make it publicly-accessible, you may add a .properties file and do a pull request (or ask us to add it if you are unsure how to).

If you are running a custom CLiT installation, you may define a local API and create a .properties file

Requirements for a .properties file to be loaded properly:

  • It is in the appropriate mounted folder (by default: /properties)
  • File name ends in .properties (it does not matter what is written before the extension)
  • It has key definitions for url, displayname and one of the following so-called 'component types': md, cg, ed, md_cg_ed, cg_ed, combiner, splitter, translator, filter, md_cg, md_ed
  • At most one system per file, but one system may be capable of and complete different tasks (eg. it may do mention detection and candidate generation)

Relevant keys/values:

Example for a full entity linker (md_cg_ed=true) running at (url=)http://host.docker.internal with port 5001 which will be displayed as (displayname=)Custom Entity Linker.

 url=http://host.docker.internal:5001
 displayname=Custom Entity Linker
 md=
 cg=
 ed=
 md_cg_ed=true
 cg_ed=
 combiner=
 splitter=
 translator=
 filter=
 md_cg=
 md_ed=

Key explanations

  • url: Expects an IP address or a fully qualified URL to an endpoint to be queried
  • displayname: Expects a string value. It will be the display name in the demonstrator for this particular defined system
  • md_cg_ed: Can it do the full entity linking pipeline aka. combined mention detection, candidate generation and entity disambiguation? (Expected value: true / false)
  • md: Can it do mention detection? (Expected value: true / false)
  • cg: Can it do candidate generation? (Expected value: true / false)
  • ed: Can it do entity disambiguation? (Expected value: true / false)
  • md_cg: Can it do combined mention detection & candidate generation? (Expected value: true / false)
  • cg_ed: Can it do combined candidate generation & entity disambiguation? (Expected value: true / false)
  • md_ed: Can it do combined mention detection & entity disambiguation? (Expected value: true / false)
  • combiner: Can it be a combiner? (Expected value: true / false)
  • splitter: Can it be a splitter? (Expected value: true / false)
  • translator: Can it be a translator? (Expected value: true / false)
  • filter: Can it be a filter? (Expected value: true / false)