Auto Keyworder
Please note: This Plugin is licensed as a separate Module. Please check you license contract.
The Auto Keyworder Plugin is a process (background) plugin which periodically posts image data of objects to online AI services to detect the image content, and update objects with auto generated keywords and subjects.
Currently, wrappers for the following AI services are implemented:
Base Configuration
All AI services are configured in the base config in the ‘Auto Keyworder’ tab.
The Plugin checks the base config for changes with a delay baseconfig_poll_interval_sec
after any currently running worker has finished.
Configuration |
Mandatory |
Default |
Description |
Service active |
yes |
False |
Enable/disable the complete Auto-Keyworder process |
Start update process after saving |
|
False |
- Enable this to ignore the calculated next run time of the workers. Instead, start as soon as possible after the base configuration was saved
- Internal representation: value
start_now , which can also be set by an API call (see Plugin API) - This value is not persistent but only valid once. Every time it is set to
True , the plugin sets this value to False after it is read - This checkbox will still be enabled after saving until the base config is reloaded in the frontend
|
easydb API usereasydb API user password |
yes |
|
- Login and password of a special user which can perform searches and object updates in easydb
- This plugin uses the easydb API endpoints
/api/v1/search , /api/v1/db and /api/v1/event - The user needs at least the following rights on objecttypes (or pools respectively):
write right on all objecttypes that are configured for updatingmask right on a mask that allows editing of all fields that are updatedasset_show right on the selected asset fields, so the plugin can transfer the image data to the AI servicebag_read on the pool if the objects are pool managed- if the keywords are stored in linked objects, the user needs the following rights on the linked objecttype(s):
read to be able to search for existing linked objectsmask right on a mask that allows reading and writing the value of the keyword text fieldcreate right to be able to create new linked objects
|
Status request repitions |
yes |
3 |
maximum number of requests of the status of the analyzing of an image before the keywording for the image is discarded |
Status request delay |
yes |
5 |
minimum delay in seconds between repeated status requests for an image |
Configurations for each service
Configurations for different services and objecttype setups are saved in multiple configuration blocks. These settings are the same for all services, but each service has more different settings.
Configuration |
Mandatory |
Default |
Description |
Enable this configuration |
yes |
False |
Enable/disable this configuration block |
Name of this configuration |
|
|
To help debugging, you can give a specific name for this configuration |
API URL |
yes |
|
- The base URL of the API of the service
- It should not be different from the default URL that is given
- If there should be another URL for this service, there might also be other breaking changes in the API and this service might not work at all!
|
API Key |
Depending on the API, this can be mandatory |
|
The API Key for the service provider |
Objecttype |
yes |
|
- Objecttype for updating keywords
- Only objecttypes with the following requirements can be selected:
- At least one asset (image)
- At least one text field (on top level, in a nested table or in a linked object in a nested table) where the generated keywords are saved
- At least one datetime field where the timestamp of the last successful update of the object is saved
- Tag management should be activated if a tag filter is used (see below)
|
Asset field |
yes |
|
- Asset field from which the image is taken and uploaded
- Please note: it is important that this field is enabled for the expert search in the standard mask
|
Asset version |
yes |
original |
- Asset Version that is uploaded, can be any existing version, but needs to be a valid image format
- a minimum size per side is recommended, smaller images can cause errors in detection due to lower resolution, so the “preview” or “small” version should be avoided
- Please note: the asset versions are protected under rights management. Make sure that the plugin user has at least
read rights on the selected asset version. Otherwise, the plugin can not upload the asset in this version to the service provider
|
Target field for timestamp |
yes |
|
- Must be a datetime field to store a complete timestamp
- After a object was successfully updated, the timestamp is saved in this field
- Only objects are searched where this field is unset, or where the timestamp is older than the specified max age (see below)
- Please note: it is important that this field is enabled for the expert search in the standard mask
|
Tagfilter to mark objects for auto keyword generation |
optional but recommended |
|
- Define a tag filter to mark objects that should be updated
- Only objects are searched where the specfified tags are set / unset respectively
|
Minimal age since the last keyword generating |
yes |
7 |
- Time since this object was last updated, in days
- Only objects are searched where the timestamp field is unset, or where the timestamp is older than this age
- If you want to overwrite data in objects that were updated too recently, you have to delete this timestamp in the objects
|
Configurations for different services
Configurations for Cloudsight
Configuration |
Mandatory |
Default |
Description |
Target field for image subject |
|
|
Text field where the image subject is saved |
Target fields for keywords:- similar objects
- category
- quantity
- gender
- material
- color
|
|
|
- Fields where different parts of structured output from responses from the Cloudsight API are saved
- If any of these structured outputs is present in the response, these special fields are filled
- If the field is in a nested table, each keyword is saved in a new row, else the keywords are comma separated
- If the field is a multi language field, the keywords are saved for the specified language (see below)
- If the field is in a linked object, the plugin searches if a linked object with the keyword already exisits, else a new object is created before linking it to the updated object
|
Language |
|
english |
- Language in which the keywords are requested
- The language parameter is sent via the API
- The subject (
name ) of the analyzed image is returned in this language - The keywords are returned in the language that is configured in the Cloudsight project for the given API key. This configuration is separate and independant from easydb5!.
- For best results, the language in which the Cloudsight project is configured should be selected, so that the keywords and the subject are saved in the same language
- The following languages are available:
- german:
de-DE - english:
en-US - spanish:
es-ES - italian:
it-IT - arabic:
ar - czech:
cs-CZ - farsi (persian):
fa - french:
fr-FR - japanese:
ja-Jpan - georgian:
ka-GE - korean:
ko-Kore - dutch:
nl-NL - polish:
pl-PL - russian:
ru-RU - chinese:
zh-Hans
|
Configurations for DeepVA
Configuration |
Mandatory |
Default |
Description |
Target field |
|
|
- Field where labels from responses from the DeepVA API are saved
- If the field is in a nested table, each keyword is saved in a new row, else the keywords are comma separated
- If the field is a multi language field, the keywords are saved in the default response language (
en-US ) - If the field is in a linked object, the plugin searches if a linked object with the keyword already exisits, else a new object is created before linking it to the updated object
|
Maximum number of keywords |
|
5 |
If there are more labels in the response, only use the first n labels |
Modules and Models |
|
|
- DeepVA offers different pre-trained models to label images
- At least one module and model must be specified
- All models and modules are applied to an uploaded image
- Use this to control the content of the labels
- Different models are pre-trained for different purposes, make sure to choose the correct models depending on the expected content of the images!
- Please refer to the external documentation: https://docs.deepva.com/core-resources/model/#pre-trained-models
|
Configurations for Imagga
Configuration |
Mandatory |
Default |
Description |
API Secret |
yes |
|
Additionaly to the API Key, the Imagga API also requires an API Secret |
Target field |
|
|
- Field where tags from responses from the Imagga API are saved
- If the field is in a nested table, each keyword is saved in a new row, else the keywords are comma separated
- If the field is a multi language field, the keywords are saved for the specified language (see below)
- If the field is in a linked object, the plugin searches if a linked object with the keyword already exisits, else a new object is created before linking it to the updated object
|
Maximum number of keywords |
|
5 |
If there are more labels in the response, only use the first n labels |
Minimum Confidence |
yes |
75 |
- The API returns a confidence value for each keyword (percentage:
1 - 100 ) - Keywords which do not reach this confidence value are ignored.
|
Language |
|
english |
- Language in which the keywords are requested
- The language parameter is sent via the API
- The tags of the analyzed image are returned in this language
- The following languages are available:
- english:
en-US - german:
de-DE - arabic:
ar - catalan:
ca - czech:
cs-CZ - spanish:
es-ES - farsi (persian):
fa - finnish:
fi-FI - french:
fr-FR - hebrew:
he - hindi:
hi - italian:
it-IT - japanese:
ja-Jpan - korean:
ko-Kore - dutch:
nl-NL - polish:
pl-PL - portuguese:
pt - russian:
ru-RU - swedish:
sv-SE - turkish:
tr-TR - ukrainian:
uk - urdu:
ur - chinese simplified:
zh-Hans - chinese traditional:
zh-Hant
|