Aiviro CLI

Aiviro comes with few CLI commands for creating, managing and inspecting your Aiviro scripts. For detailed information about available commands and theirs arguments, see:

$ aiviro-cli --help

Create Project & Scenarios

To create a new Aiviro project, we predefined a repository structure how such a project should look like. This can be initialize by aiviro-cli create project. To add new scenario into already existing project, use aiviro-cli create scenario command:

$ aiviro-cli create project --help
$ aiviro-cli create project --context path/to/project/folder
$ aiviro-cli create scenario --help
$ aiviro-cli create scenario --prefect-project Aiviro --prefect-flow "Invoice Processing" --prefect-env rdp

Logs Management

See Explorer section for web application to explore logs and metadata.

Process Metadata Logs

As mentioned in the section Generate Images, you can generate images from Aiviro metadata.

This is done by aiviro-cli log generate command, see the example of it’s usage:

$ aiviro-cli log generate --help
$ aiviro-cli log generate --input logs/run-demo_test/log_img/metadata/ \\
    --output logs/run-demo_test/log_img/ \\
    --number 20
$ aiviro-cli log generate --input logs/run-demo_test/log_img/metadata/ \\
    --output logs/run-demo_test/log_img/ \\
    --since 1955.11.12-6:38
$ aiviro-cli log generate --input logs/run-demo_test/log_img/metadata/ \\
    --output logs/run-demo_test/log_img/ \\
    --before 2015.10.21-7:28
$ aiviro-cli log generate --input logs/run-demo_test/log_img/metadata/ \\
    --output logs/run-demo_test/log_img/ \\
    --since 1955.11.12-6:38 \\
    --before 2015.10.21-7:28 \\
    --number 100

Analyze Errors

Sometimes your scripts may encounter some errors, to find the exact error-message and corresponding images, in long running scripts may be time demanding. Therefore we created a helpful script, which automatically detects errors in the text logs and selects appropriate metadata based on the time the error occurred, which are then copied into separate sub-folders.

This is done by aiviro-cli log analyze command, see the example of it’s usage:

$ aiviro-cli log analyze --help
$ aiviro-cli log analyze --run logs/run-2021-02-10_10-25-456-main/ --window 0:30:00
$ aiviro-cli log analyze --logs logs/ --video

Connectivity Testing

Using aiviro-cli test-connection --help command, you can run tests for various Aiviro components. For example to test and select the best configuration for Aiviro email module, use a following command:

# Test IMAP email module
$ aiviro-cli test-connection imap --host <imap.server.com> --username <username> --password <password>

# Test SMTP email module
$ aiviro-cli test-connection smtp --host <smtp.server.com> --username <username> --password <password>

# Test RDP module
$ aiviro-cli test-connection rdp --host <rdp.server.com> --username <username> --password <password>

Reader Scripts

Note

It’s required to install reader and pdf from Optional dependencies section.

See section Reader below for web application to extract data from PDF files.

There are several scripts under aiviro-cli reader --help command, which can be used to extract data from the provided PDF files. Other example is to calculate an accuracy of Aiviro Reader based on your ground-truth data export. For extraction and additional information about supported items, see Invoice Processing section.

To extract all supported items from pdf files, use a following command:

$ aiviro-cli reader extract --help
$ aiviro-cli reader extract --input folder/pdfs/ --output output/folder/

To calculate reader’s accuracy, see its example below. This calculation can be configured (this is optional) by providing a configuration file, see example of it below. Download reader_config.yaml

required_column:
  - supplier_vat_number
  - invoice_number
  - order_number

map_column:
  supplier_vat_number: "DIČ DPH"
  total_amount_without_vat: "Č.celk. bez DPH d."
  invoice_date: "Datum případu (DMR)"
  invoice_number: "Dodavatelská faktura"
  currency: "Měna"
  tax_date: "DUZP"
  file_name: "Párovací znak"
  order_number: "Číslo objednávky"

export_value:
  - supplier_vat_number
  - invoice_date
  - invoice_number
  - currency
  - order_number
  • required_column - columns which must be contained in both input csv files

  • map_column - used for renaming ground-truth csv file columns to standard name format

  • export_value - [optional] values to export from pdf-files, if not specified all values are exported

$ aiviro-cli reader stats --help
$ aiviro-cli reader stats --input export_data.csv --ground-truth gt_data.csv --output folder/ --config path/reader_config.yaml

To check whether the exported data is also present in corresponding pdf files, use reader find.

$ aiviro-cli reader find --help
$ aiviro-cli reader find --input pdf-folder/ --ground-truth gt_data.csv --output folder/ --config path/reader_config.yaml

Deployment as Web App

Note

It’s required to install deploy from Optional dependencies section.

To test certain Aiviro functionality you can deploy it as a web application.

$ aiviro-cli deploy --help
$ aiviro-cli deploy explorer
$ aiviro-cli deploy reader
$ aiviro-cli deploy recognition

Explorer

Explorer allows you to list all available logs and metadata. You can easily download text, image or video logs. It can also analyze these logs and detect errors.

../_images/deploy_explorer_logs.png

List of available logs in Aiviro Explorer.

../_images/deploy_explorer_overview.png

Overview of selected log in Aiviro Explorer.

../_images/deploy_explorer_errors.png

Errors detection in Aiviro Explorer.

Reader

Reader allows you to extract data from PDF files and calculate the accuracy of the extracted data.

../_images/deploy_reader.png

Deployed Aiviro Reader as an interactive web application.

Recognition

Recognition allows you to recognize text and elements in images, it shows you how Aiviro sees your application.

../_images/deploy_recognition.png

Deployed Aiviro Recognition as an interactive web application.