mindee-lite 5.0.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.editorconfig +24 -0
- data/.gitattributes +14 -0
- data/.gitignore +76 -0
- data/.gitmodules +3 -0
- data/.pre-commit-config.yaml +36 -0
- data/.rubocop.yml +49 -0
- data/.yardopts +4 -0
- data/CHANGELOG.md +515 -0
- data/CODE_OF_CONDUCT.md +129 -0
- data/CONTRIBUTING.md +107 -0
- data/Gemfile +14 -0
- data/LICENSE +21 -0
- data/README.md +42 -0
- data/Rakefile +40 -0
- data/Steepfile +30 -0
- data/bin/console +14 -0
- data/bin/mindee.rb +30 -0
- data/bin/v1/parser.rb +153 -0
- data/bin/v1/products.rb +88 -0
- data/bin/v2/parser.rb +235 -0
- data/bin/v2/products.rb +34 -0
- data/docs/code_samples/bank_account_details_v1.txt +24 -0
- data/docs/code_samples/bank_account_details_v2.txt +24 -0
- data/docs/code_samples/bank_statement_fr_v2_async.txt +24 -0
- data/docs/code_samples/barcode_reader_v1.txt +24 -0
- data/docs/code_samples/cropper_v1.txt +21 -0
- data/docs/code_samples/default.txt +30 -0
- data/docs/code_samples/default_async.txt +29 -0
- data/docs/code_samples/expense_receipts_v5.txt +25 -0
- data/docs/code_samples/expense_receipts_v5_async.txt +24 -0
- data/docs/code_samples/financial_document_v1.txt +25 -0
- data/docs/code_samples/financial_document_v1_async.txt +24 -0
- data/docs/code_samples/idcard_fr_v1.txt +24 -0
- data/docs/code_samples/idcard_fr_v2.txt +24 -0
- data/docs/code_samples/international_id_v2_async.txt +24 -0
- data/docs/code_samples/invoice_splitter_v1_async.txt +24 -0
- data/docs/code_samples/invoices_v4.txt +25 -0
- data/docs/code_samples/invoices_v4_async.txt +24 -0
- data/docs/code_samples/multi_receipts_detector_v1.txt +24 -0
- data/docs/code_samples/passport_v1.txt +24 -0
- data/docs/code_samples/resume_v1_async.txt +24 -0
- data/docs/code_samples/v2_classification.txt +30 -0
- data/docs/code_samples/v2_crop.txt +30 -0
- data/docs/code_samples/v2_extraction.txt +42 -0
- data/docs/code_samples/v2_extraction_webhook.txt +45 -0
- data/docs/code_samples/v2_ocr.txt +30 -0
- data/docs/code_samples/v2_split.txt +30 -0
- data/docs/code_samples/workflow_execution.txt +28 -0
- data/docs/code_samples/workflow_polling.txt +35 -0
- data/examples/auto_invoice_splitter_extraction.rb +48 -0
- data/examples/auto_multi_receipts_detector_extraction.rb +30 -0
- data/lib/mindee/dependency.rb +29 -0
- data/lib/mindee/error/mindee_error.rb +17 -0
- data/lib/mindee/error/mindee_http_error.rb +36 -0
- data/lib/mindee/error/mindee_http_error_v2.rb +45 -0
- data/lib/mindee/error/mindee_http_unknown_error_v2.rb +18 -0
- data/lib/mindee/error/mindee_input_error.rb +30 -0
- data/lib/mindee/error.rb +6 -0
- data/lib/mindee/geometry/min_max.rb +23 -0
- data/lib/mindee/geometry/point.rb +41 -0
- data/lib/mindee/geometry/polygon.rb +37 -0
- data/lib/mindee/geometry/quadrilateral.rb +50 -0
- data/lib/mindee/geometry/utils.rb +88 -0
- data/lib/mindee/geometry.rb +7 -0
- data/lib/mindee/http/.rubocop.yml +7 -0
- data/lib/mindee/http/http_error_handler.rb +106 -0
- data/lib/mindee/http/response_validation.rb +81 -0
- data/lib/mindee/http.rb +3 -0
- data/lib/mindee/image/extracted_image.rb +89 -0
- data/lib/mindee/image/image_compressor.rb +29 -0
- data/lib/mindee/image/image_extractor.rb +118 -0
- data/lib/mindee/image/image_utils.rb +165 -0
- data/lib/mindee/image.rb +6 -0
- data/lib/mindee/input/base_parameters.rb +149 -0
- data/lib/mindee/input/local_response.rb +80 -0
- data/lib/mindee/input/polling_options.rb +26 -0
- data/lib/mindee/input/sources/base64_input_source.rb +31 -0
- data/lib/mindee/input/sources/bytes_input_source.rb +21 -0
- data/lib/mindee/input/sources/file_input_source.rb +20 -0
- data/lib/mindee/input/sources/local_input_source.rb +216 -0
- data/lib/mindee/input/sources/path_input_source.rb +20 -0
- data/lib/mindee/input/sources/url_input_source.rb +130 -0
- data/lib/mindee/input/sources.rb +8 -0
- data/lib/mindee/input.rb +4 -0
- data/lib/mindee/logging/logger.rb +24 -0
- data/lib/mindee/logging.rb +3 -0
- data/lib/mindee/page_options.rb +24 -0
- data/lib/mindee/pdf/extracted_pdf.rb +70 -0
- data/lib/mindee/pdf/pdf_compressor.rb +121 -0
- data/lib/mindee/pdf/pdf_extractor.rb +121 -0
- data/lib/mindee/pdf/pdf_processor.rb +91 -0
- data/lib/mindee/pdf/pdf_tools.rb +201 -0
- data/lib/mindee/pdf.rb +7 -0
- data/lib/mindee/v1/client.rb +490 -0
- data/lib/mindee/v1/extraction/multi_receipts_extractor.rb +32 -0
- data/lib/mindee/v1/extraction.rb +3 -0
- data/lib/mindee/v1/http/.rubocop.yml +7 -0
- data/lib/mindee/v1/http/endpoint.rb +221 -0
- data/lib/mindee/v1/http/workflow_endpoint.rb +93 -0
- data/lib/mindee/v1/http.rb +4 -0
- data/lib/mindee/v1/parsing/common/api_request.rb +38 -0
- data/lib/mindee/v1/parsing/common/api_response.rb +63 -0
- data/lib/mindee/v1/parsing/common/document.rb +86 -0
- data/lib/mindee/v1/parsing/common/execution.rb +78 -0
- data/lib/mindee/v1/parsing/common/execution_file.rb +26 -0
- data/lib/mindee/v1/parsing/common/execution_priority.rb +38 -0
- data/lib/mindee/v1/parsing/common/extras/cropper_extra.rb +32 -0
- data/lib/mindee/v1/parsing/common/extras/extras.rb +62 -0
- data/lib/mindee/v1/parsing/common/extras/full_text_ocr_extra.rb +35 -0
- data/lib/mindee/v1/parsing/common/extras/rag_extra.rb +28 -0
- data/lib/mindee/v1/parsing/common/extras.rb +6 -0
- data/lib/mindee/v1/parsing/common/inference.rb +69 -0
- data/lib/mindee/v1/parsing/common/job.rb +48 -0
- data/lib/mindee/v1/parsing/common/ocr/mvision_v1.rb +52 -0
- data/lib/mindee/v1/parsing/common/ocr/ocr.rb +180 -0
- data/lib/mindee/v1/parsing/common/ocr.rb +3 -0
- data/lib/mindee/v1/parsing/common/orientation.rb +28 -0
- data/lib/mindee/v1/parsing/common/page.rb +49 -0
- data/lib/mindee/v1/parsing/common/prediction.rb +19 -0
- data/lib/mindee/v1/parsing/common/product.rb +26 -0
- data/lib/mindee/v1/parsing/common/workflow_response.rb +30 -0
- data/lib/mindee/v1/parsing/common.rb +15 -0
- data/lib/mindee/v1/parsing/standard/abstract_field.rb +74 -0
- data/lib/mindee/v1/parsing/standard/address_field.rb +51 -0
- data/lib/mindee/v1/parsing/standard/amount_field.rb +28 -0
- data/lib/mindee/v1/parsing/standard/base_field.rb +30 -0
- data/lib/mindee/v1/parsing/standard/boolean_field.rb +29 -0
- data/lib/mindee/v1/parsing/standard/classification_field.rb +18 -0
- data/lib/mindee/v1/parsing/standard/company_registration_field.rb +45 -0
- data/lib/mindee/v1/parsing/standard/date_field.rb +40 -0
- data/lib/mindee/v1/parsing/standard/feature_field.rb +26 -0
- data/lib/mindee/v1/parsing/standard/locale_field.rb +52 -0
- data/lib/mindee/v1/parsing/standard/payment_details_field.rb +44 -0
- data/lib/mindee/v1/parsing/standard/position_field.rb +61 -0
- data/lib/mindee/v1/parsing/standard/string_field.rb +26 -0
- data/lib/mindee/v1/parsing/standard/tax_field.rb +110 -0
- data/lib/mindee/v1/parsing/standard.rb +15 -0
- data/lib/mindee/v1/parsing/universal/universal_list_field.rb +60 -0
- data/lib/mindee/v1/parsing/universal/universal_object_field.rb +123 -0
- data/lib/mindee/v1/parsing/universal.rb +4 -0
- data/lib/mindee/v1/parsing.rb +5 -0
- data/lib/mindee/v1/product/.rubocop.yml +12 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1.rb +47 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb +47 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rb +38 -0
- data/lib/mindee/v1/product/cropper/cropper_v1.rb +47 -0
- data/lib/mindee/v1/product/cropper/cropper_v1_document.rb +15 -0
- data/lib/mindee/v1/product/cropper/cropper_v1_page.rb +55 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1.rb +47 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_document.rb +329 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_line_item.rb +124 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_line_items.rb +64 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_page.rb +38 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rb +63 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rb +60 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rb +169 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rb +78 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rb +56 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1.rb +49 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1_document.rb +106 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1_page.rb +57 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2_document.rb +143 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2_page.rb +65 -0
- data/lib/mindee/v1/product/international_id/international_id_v2.rb +47 -0
- data/lib/mindee/v1/product/international_id/international_id_v2_document.rb +164 -0
- data/lib/mindee/v1/product/international_id/international_id_v2_page.rb +38 -0
- data/lib/mindee/v1/product/invoice/invoice_v4.rb +47 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_document.rb +300 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_line_item.rb +124 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_line_items.rb +64 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_page.rb +38 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rb +47 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb +66 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +58 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +50 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rb +38 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rb +47 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +38 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +38 -0
- data/lib/mindee/v1/product/passport/passport_v1.rb +47 -0
- data/lib/mindee/v1/product/passport/passport_v1_document.rb +112 -0
- data/lib/mindee/v1/product/passport/passport_v1_page.rb +38 -0
- data/lib/mindee/v1/product/receipt/receipt_v5.rb +47 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_document.rb +187 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_line_item.rb +88 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_line_items.rb +56 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_page.rb +38 -0
- data/lib/mindee/v1/product/resume/resume_v1.rb +47 -0
- data/lib/mindee/v1/product/resume/resume_v1_certificate.rb +82 -0
- data/lib/mindee/v1/product/resume/resume_v1_certificates.rb +60 -0
- data/lib/mindee/v1/product/resume/resume_v1_document.rb +340 -0
- data/lib/mindee/v1/product/resume/resume_v1_education.rb +106 -0
- data/lib/mindee/v1/product/resume/resume_v1_educations.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_language.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_languages.rb +56 -0
- data/lib/mindee/v1/product/resume/resume_v1_page.rb +38 -0
- data/lib/mindee/v1/product/resume/resume_v1_professional_experience.rb +122 -0
- data/lib/mindee/v1/product/resume/resume_v1_professional_experiences.rb +70 -0
- data/lib/mindee/v1/product/resume/resume_v1_social_networks_url.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_social_networks_urls.rb +56 -0
- data/lib/mindee/v1/product/universal/universal.rb +48 -0
- data/lib/mindee/v1/product/universal/universal_document.rb +35 -0
- data/lib/mindee/v1/product/universal/universal_page.rb +54 -0
- data/lib/mindee/v1/product/universal/universal_prediction.rb +128 -0
- data/lib/mindee/v1/product.rb +18 -0
- data/lib/mindee/v1.rb +7 -0
- data/lib/mindee/v2/client.rb +132 -0
- data/lib/mindee/v2/file_operation/crop.rb +51 -0
- data/lib/mindee/v2/file_operation/crop_files.rb +25 -0
- data/lib/mindee/v2/file_operation/split.rb +37 -0
- data/lib/mindee/v2/file_operation/split_files.rb +25 -0
- data/lib/mindee/v2/file_operation.rb +6 -0
- data/lib/mindee/v2/http/.rubocop.yml +7 -0
- data/lib/mindee/v2/http/api_v2_settings.rb +65 -0
- data/lib/mindee/v2/http/mindee_api_v2.rb +230 -0
- data/lib/mindee/v2/http.rb +4 -0
- data/lib/mindee/v2/parsing/base_inference.rb +44 -0
- data/lib/mindee/v2/parsing/base_response.rb +15 -0
- data/lib/mindee/v2/parsing/common_response.rb +20 -0
- data/lib/mindee/v2/parsing/error_item.rb +21 -0
- data/lib/mindee/v2/parsing/error_response.rb +51 -0
- data/lib/mindee/v2/parsing/field/base_field.rb +63 -0
- data/lib/mindee/v2/parsing/field/field_confidence.rb +128 -0
- data/lib/mindee/v2/parsing/field/field_location.rb +33 -0
- data/lib/mindee/v2/parsing/field/inference_fields.rb +105 -0
- data/lib/mindee/v2/parsing/field/list_field.rb +79 -0
- data/lib/mindee/v2/parsing/field/object_field.rb +138 -0
- data/lib/mindee/v2/parsing/field/simple_field.rb +60 -0
- data/lib/mindee/v2/parsing/field.rb +9 -0
- data/lib/mindee/v2/parsing/inference_active_options.rb +67 -0
- data/lib/mindee/v2/parsing/inference_file.rb +38 -0
- data/lib/mindee/v2/parsing/inference_job.rb +25 -0
- data/lib/mindee/v2/parsing/inference_model.rb +30 -0
- data/lib/mindee/v2/parsing/job.rb +93 -0
- data/lib/mindee/v2/parsing/job_response.rb +30 -0
- data/lib/mindee/v2/parsing/job_webhook.rb +59 -0
- data/lib/mindee/v2/parsing/rag_metadata.rb +17 -0
- data/lib/mindee/v2/parsing/raw_text.rb +27 -0
- data/lib/mindee/v2/parsing/raw_text_page.rb +24 -0
- data/lib/mindee/v2/parsing/search/pagination_metadata.rb +44 -0
- data/lib/mindee/v2/parsing/search/search_model.rb +38 -0
- data/lib/mindee/v2/parsing/search/search_models.rb +34 -0
- data/lib/mindee/v2/parsing/search/search_response.rb +38 -0
- data/lib/mindee/v2/parsing/search.rb +6 -0
- data/lib/mindee/v2/parsing.rb +16 -0
- data/lib/mindee/v2/product/base_product.rb +28 -0
- data/lib/mindee/v2/product/classification/classification.rb +20 -0
- data/lib/mindee/v2/product/classification/classification_classifier.rb +25 -0
- data/lib/mindee/v2/product/classification/classification_inference.rb +35 -0
- data/lib/mindee/v2/product/classification/classification_response.rb +32 -0
- data/lib/mindee/v2/product/classification/classification_result.rb +27 -0
- data/lib/mindee/v2/product/classification/params/classification_parameters.rb +47 -0
- data/lib/mindee/v2/product/crop/crop.rb +20 -0
- data/lib/mindee/v2/product/crop/crop_inference.rb +34 -0
- data/lib/mindee/v2/product/crop/crop_item.rb +39 -0
- data/lib/mindee/v2/product/crop/crop_response.rb +40 -0
- data/lib/mindee/v2/product/crop/crop_result.rb +34 -0
- data/lib/mindee/v2/product/crop/params/crop_parameters.rb +47 -0
- data/lib/mindee/v2/product/extraction/extraction.rb +21 -0
- data/lib/mindee/v2/product/extraction/extraction_inference.rb +40 -0
- data/lib/mindee/v2/product/extraction/extraction_response.rb +32 -0
- data/lib/mindee/v2/product/extraction/extraction_result.rb +44 -0
- data/lib/mindee/v2/product/extraction/params/data_schema.rb +51 -0
- data/lib/mindee/v2/product/extraction/params/data_schema_field.rb +69 -0
- data/lib/mindee/v2/product/extraction/params/data_schema_replace.rb +39 -0
- data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +125 -0
- data/lib/mindee/v2/product/ocr/ocr.rb +20 -0
- data/lib/mindee/v2/product/ocr/ocr_inference.rb +34 -0
- data/lib/mindee/v2/product/ocr/ocr_page.rb +33 -0
- data/lib/mindee/v2/product/ocr/ocr_response.rb +32 -0
- data/lib/mindee/v2/product/ocr/ocr_result.rb +34 -0
- data/lib/mindee/v2/product/ocr/ocr_word.rb +29 -0
- data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +47 -0
- data/lib/mindee/v2/product/split/params/split_parameters.rb +48 -0
- data/lib/mindee/v2/product/split/split.rb +19 -0
- data/lib/mindee/v2/product/split/split_inference.rb +34 -0
- data/lib/mindee/v2/product/split/split_range.rb +38 -0
- data/lib/mindee/v2/product/split/split_response.rb +40 -0
- data/lib/mindee/v2/product/split/split_result.rb +34 -0
- data/lib/mindee/v2/product.rb +7 -0
- data/lib/mindee/v2.rb +7 -0
- data/lib/mindee/version.rb +26 -0
- data/lib/mindee.rb +135 -0
- data/mindee-lite.gemspec +36 -0
- data/mindee.gemspec +44 -0
- data/sig/custom/marcel.rbs +3 -0
- data/sig/custom/mini_magick.rbs +31 -0
- data/sig/custom/net_http.rbs +43 -0
- data/sig/custom/origami.rbs +59 -0
- data/sig/mindee/dependency.rbs +13 -0
- data/sig/mindee/error/mindee_error.rbs +13 -0
- data/sig/mindee/error/mindee_http_error.rbs +17 -0
- data/sig/mindee/error/mindee_http_error_v2.rbs +15 -0
- data/sig/mindee/error/mindee_http_unknown_error_v2.rbs +9 -0
- data/sig/mindee/error/mindee_input_error.rbs +18 -0
- data/sig/mindee/geometry/min_max.rbs +11 -0
- data/sig/mindee/geometry/point.rbs +14 -0
- data/sig/mindee/geometry/polygon.rbs +12 -0
- data/sig/mindee/geometry/quadrilateral.rbs +15 -0
- data/sig/mindee/geometry/utils.rbs +13 -0
- data/sig/mindee/http/http_error_handler.rbs +15 -0
- data/sig/mindee/http/response_validation.rbs +11 -0
- data/sig/mindee/image/extracted_image.rbs +21 -0
- data/sig/mindee/image/image_compressor.rbs +8 -0
- data/sig/mindee/image/image_extractor.rbs +13 -0
- data/sig/mindee/image/image_utils.rbs +19 -0
- data/sig/mindee/input/base_parameters.rbs +35 -0
- data/sig/mindee/input/local_response.rbs +14 -0
- data/sig/mindee/input/polling_options.rbs +12 -0
- data/sig/mindee/input/sources/base64_input_source.rbs +11 -0
- data/sig/mindee/input/sources/bytes_input_source.rbs +10 -0
- data/sig/mindee/input/sources/file_input_source.rbs +10 -0
- data/sig/mindee/input/sources/local_input_source.rbs +30 -0
- data/sig/mindee/input/sources/path_input_source.rbs +10 -0
- data/sig/mindee/input/sources/url_input_source.rbs +20 -0
- data/sig/mindee/logging/logger.rbs +11 -0
- data/sig/mindee/page_options.rbs +11 -0
- data/sig/mindee/pdf/extracted_pdf.rbs +17 -0
- data/sig/mindee/pdf/pdf_compressor.rbs +15 -0
- data/sig/mindee/pdf/pdf_extractor.rbs +19 -0
- data/sig/mindee/pdf/pdf_processor.rbs +12 -0
- data/sig/mindee/pdf/pdf_tools.rbs +31 -0
- data/sig/mindee/v1/client.rbs +84 -0
- data/sig/mindee/v1/extraction/multi_receipts_extractor.rbs +8 -0
- data/sig/mindee/v1/http/endpoint.rbs +41 -0
- data/sig/mindee/v1/http/workflow_endpoint.rbs +22 -0
- data/sig/mindee/v1/parsing/common/api_request.rbs +22 -0
- data/sig/mindee/v1/parsing/common/api_response.rbs +31 -0
- data/sig/mindee/v1/parsing/common/document.rbs +32 -0
- data/sig/mindee/v1/parsing/common/execution.rbs +26 -0
- data/sig/mindee/v1/parsing/common/execution_file.rbs +16 -0
- data/sig/mindee/v1/parsing/common/execution_priority.rbs +16 -0
- data/sig/mindee/v1/parsing/common/extras/cropper_extra.rbs +18 -0
- data/sig/mindee/v1/parsing/common/extras/extras.rbs +24 -0
- data/sig/mindee/v1/parsing/common/extras/full_text_ocr_extra.rbs +22 -0
- data/sig/mindee/v1/parsing/common/extras/rag_extra.rbs +19 -0
- data/sig/mindee/v1/parsing/common/inference.rbs +31 -0
- data/sig/mindee/v1/parsing/common/job.rbs +24 -0
- data/sig/mindee/v1/parsing/common/ocr/mvision_v1.rbs +20 -0
- data/sig/mindee/v1/parsing/common/ocr/ocr.rbs +56 -0
- data/sig/mindee/v1/parsing/common/orientation.rbs +15 -0
- data/sig/mindee/v1/parsing/common/page.rbs +19 -0
- data/sig/mindee/v1/parsing/common/prediction.rbs +14 -0
- data/sig/mindee/v1/parsing/common/product.rbs +16 -0
- data/sig/mindee/v1/parsing/common/workflow_response.rbs +22 -0
- data/sig/mindee/v1/parsing/standard/abstract_field.rbs +30 -0
- data/sig/mindee/v1/parsing/standard/address_field.rbs +28 -0
- data/sig/mindee/v1/parsing/standard/amount_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/base_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/boolean_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/classification_field.rbs +12 -0
- data/sig/mindee/v1/parsing/standard/company_registration_field.rbs +20 -0
- data/sig/mindee/v1/parsing/standard/date_field.rbs +20 -0
- data/sig/mindee/v1/parsing/standard/feature_field.rbs +12 -0
- data/sig/mindee/v1/parsing/standard/locale_field.rbs +24 -0
- data/sig/mindee/v1/parsing/standard/payment_details_field.rbs +19 -0
- data/sig/mindee/v1/parsing/standard/position_field.rbs +26 -0
- data/sig/mindee/v1/parsing/standard/string_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/tax_field.rbs +33 -0
- data/sig/mindee/v1/parsing/universal/universal_list_field.rbs +21 -0
- data/sig/mindee/v1/parsing/universal/universal_object_field.rbs +38 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1.rbs +13 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rbs +16 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/cropper/cropper_v1.rbs +13 -0
- data/sig/mindee/v1/product/cropper/cropper_v1_document.rbs +14 -0
- data/sig/mindee/v1/product/cropper/cropper_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1.rbs +13 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_document.rbs +49 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_line_item.rbs +35 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_line_items.rbs +15 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +25 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rbs +20 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rbs +27 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rbs +17 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1.rbs +15 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1_document.rbs +26 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1_page.rbs +20 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2_page.rbs +21 -0
- data/sig/mindee/v1/product/international_id/international_id_v2.rbs +13 -0
- data/sig/mindee/v1/product/international_id/international_id_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/international_id/international_id_v2_page.rbs +17 -0
- data/sig/mindee/v1/product/invoice/invoice_v4.rbs +13 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_document.rbs +45 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_line_item.rbs +35 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_line_items.rbs +15 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_page.rbs +17 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rbs +13 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rbs +17 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +21 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +15 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +14 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +15 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/passport/passport_v1.rbs +13 -0
- data/sig/mindee/v1/product/passport/passport_v1_document.rbs +25 -0
- data/sig/mindee/v1/product/passport/passport_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/receipt/receipt_v5.rbs +13 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_document.rbs +33 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_line_item.rbs +27 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_line_items.rbs +15 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_page.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1.rbs +13 -0
- data/sig/mindee/v1/product/resume/resume_v1_certificate.rbs +27 -0
- data/sig/mindee/v1/product/resume/resume_v1_certificates.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_document.rbs +69 -0
- data/sig/mindee/v1/product/resume/resume_v1_education.rbs +33 -0
- data/sig/mindee/v1/product/resume/resume_v1_educations.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_language.rbs +23 -0
- data/sig/mindee/v1/product/resume/resume_v1_languages.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/resume/resume_v1_professional_experience.rbs +37 -0
- data/sig/mindee/v1/product/resume/resume_v1_professional_experiences.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_social_networks_url.rbs +23 -0
- data/sig/mindee/v1/product/resume/resume_v1_social_networks_urls.rbs +17 -0
- data/sig/mindee/v1/product/universal/universal.rbs +16 -0
- data/sig/mindee/v1/product/universal/universal_document.rbs +12 -0
- data/sig/mindee/v1/product/universal/universal_page.rbs +18 -0
- data/sig/mindee/v1/product/universal/universal_prediction.rbs +30 -0
- data/sig/mindee/v2/client.rbs +29 -0
- data/sig/mindee/v2/file_operation/crop.rbs +10 -0
- data/sig/mindee/v2/file_operation/crop_files.rbs +9 -0
- data/sig/mindee/v2/file_operation/split.rbs +11 -0
- data/sig/mindee/v2/file_operation/split_files.rbs +9 -0
- data/sig/mindee/v2/http/api_v2_settings.rbs +27 -0
- data/sig/mindee/v2/http/mindee_api_v2.rbs +52 -0
- data/sig/mindee/v2/parsing/base_inference.rbs +18 -0
- data/sig/mindee/v2/parsing/base_response.rbs +11 -0
- data/sig/mindee/v2/parsing/common_response.rbs +12 -0
- data/sig/mindee/v2/parsing/error_item.rbs +13 -0
- data/sig/mindee/v2/parsing/error_response.rbs +20 -0
- data/sig/mindee/v2/parsing/field/base_field.rbs +17 -0
- data/sig/mindee/v2/parsing/field/field_confidence.rbs +30 -0
- data/sig/mindee/v2/parsing/field/field_location.rbs +16 -0
- data/sig/mindee/v2/parsing/field/inference_fields.rbs +20 -0
- data/sig/mindee/v2/parsing/field/list_field.rbs +23 -0
- data/sig/mindee/v2/parsing/field/object_field.rbs +27 -0
- data/sig/mindee/v2/parsing/field/simple_field.rbs +16 -0
- data/sig/mindee/v2/parsing/inference_active_options.rbs +26 -0
- data/sig/mindee/v2/parsing/inference_file.rbs +17 -0
- data/sig/mindee/v2/parsing/inference_job.rbs +13 -0
- data/sig/mindee/v2/parsing/inference_model.rbs +12 -0
- data/sig/mindee/v2/parsing/job.rbs +24 -0
- data/sig/mindee/v2/parsing/job_response.rbs +14 -0
- data/sig/mindee/v2/parsing/job_webhook.rbs +19 -0
- data/sig/mindee/v2/parsing/rag_metadata.rbs +13 -0
- data/sig/mindee/v2/parsing/raw_text.rbs +12 -0
- data/sig/mindee/v2/parsing/raw_text_page.rbs +11 -0
- data/sig/mindee/v2/parsing/search/pagination_metadata.rbs +20 -0
- data/sig/mindee/v2/parsing/search/search_model.rbs +19 -0
- data/sig/mindee/v2/parsing/search/search_response.rbs +17 -0
- data/sig/mindee/v2/parsing/search_models.rbs +14 -0
- data/sig/mindee/v2/product/base_product.rbs +19 -0
- data/sig/mindee/v2/product/classification/classification.rbs +10 -0
- data/sig/mindee/v2/product/classification/classification_classifier.rbs +15 -0
- data/sig/mindee/v2/product/classification/classification_inference.rbs +15 -0
- data/sig/mindee/v2/product/classification/classification_response.rbs +23 -0
- data/sig/mindee/v2/product/classification/classification_result.rbs +15 -0
- data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +23 -0
- data/sig/mindee/v2/product/crop/crop.rbs +10 -0
- data/sig/mindee/v2/product/crop/crop_inference.rbs +14 -0
- data/sig/mindee/v2/product/crop/crop_item.rbs +18 -0
- data/sig/mindee/v2/product/crop/crop_response.rbs +25 -0
- data/sig/mindee/v2/product/crop/crop_result.rbs +14 -0
- data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +23 -0
- data/sig/mindee/v2/product/extraction/extraction.rbs +15 -0
- data/sig/mindee/v2/product/extraction/extraction_inference.rbs +19 -0
- data/sig/mindee/v2/product/extraction/extraction_response.rbs +24 -0
- data/sig/mindee/v2/product/extraction/extraction_result.rbs +18 -0
- data/sig/mindee/v2/product/extraction/params/data_schema.rbs +21 -0
- data/sig/mindee/v2/product/extraction/params/data_schema_field.rbs +29 -0
- data/sig/mindee/v2/product/extraction/params/data_schema_replace.rbs +21 -0
- data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +38 -0
- data/sig/mindee/v2/product/ocr/ocr.rbs +10 -0
- data/sig/mindee/v2/product/ocr/ocr_inference.rbs +14 -0
- data/sig/mindee/v2/product/ocr/ocr_page.rbs +15 -0
- data/sig/mindee/v2/product/ocr/ocr_response.rbs +23 -0
- data/sig/mindee/v2/product/ocr/ocr_result.rbs +14 -0
- data/sig/mindee/v2/product/ocr/ocr_word.rbs +15 -0
- data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +24 -0
- data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +23 -0
- data/sig/mindee/v2/product/split/split.rbs +10 -0
- data/sig/mindee/v2/product/split/split_inference.rbs +14 -0
- data/sig/mindee/v2/product/split/split_range.rbs +18 -0
- data/sig/mindee/v2/product/split/split_response.rbs +25 -0
- data/sig/mindee/v2/product/split/split_result.rbs +14 -0
- data/sig/mindee/version.rbs +6 -0
- data/sig/mindee.rbs +62 -0
- metadata +600 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Install the Ruby client library by running:
|
|
3
|
+
# gem install mindee
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
require 'mindee'
|
|
7
|
+
|
|
8
|
+
# Init a new client
|
|
9
|
+
mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
|
|
10
|
+
|
|
11
|
+
# Load a file from disk
|
|
12
|
+
input_source = mindee_client.source_from_path('/path/to/the/file.ext')
|
|
13
|
+
|
|
14
|
+
# Parse the file
|
|
15
|
+
result = mindee_client.parse(
|
|
16
|
+
input_source,
|
|
17
|
+
Mindee::V1::Product::Invoice::InvoiceV4
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
# Print a full summary of the parsed data in RST format
|
|
21
|
+
puts result.document
|
|
22
|
+
|
|
23
|
+
# Print the document-level parsed data
|
|
24
|
+
# puts result.document.inference.prediction
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Install the Ruby client library by running:
|
|
3
|
+
# gem install mindee
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
require 'mindee'
|
|
7
|
+
|
|
8
|
+
# Init a new client
|
|
9
|
+
mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
|
|
10
|
+
|
|
11
|
+
# Load a file from disk
|
|
12
|
+
input_source = mindee_client.source_from_path('/path/to/the/file.ext')
|
|
13
|
+
|
|
14
|
+
# Parse the file
|
|
15
|
+
result = mindee_client.parse(
|
|
16
|
+
input_source,
|
|
17
|
+
Mindee::V1::Product::MultiReceiptsDetector::MultiReceiptsDetectorV1
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
# Print a full summary of the parsed data in RST format
|
|
21
|
+
puts result.document
|
|
22
|
+
|
|
23
|
+
# Print the document-level parsed data
|
|
24
|
+
# puts result.document.inference.prediction
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Install the Ruby client library by running:
|
|
3
|
+
# gem install mindee
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
require 'mindee'
|
|
7
|
+
|
|
8
|
+
# Init a new client
|
|
9
|
+
mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
|
|
10
|
+
|
|
11
|
+
# Load a file from disk
|
|
12
|
+
input_source = mindee_client.source_from_path('/path/to/the/file.ext')
|
|
13
|
+
|
|
14
|
+
# Parse the file
|
|
15
|
+
result = mindee_client.parse(
|
|
16
|
+
input_source,
|
|
17
|
+
Mindee::V1::Product::Passport::PassportV1
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
# Print a full summary of the parsed data in RST format
|
|
21
|
+
puts result.document
|
|
22
|
+
|
|
23
|
+
# Print the document-level parsed data
|
|
24
|
+
# puts result.document.inference.prediction
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Install the Ruby client library by running:
|
|
3
|
+
# gem install mindee
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
require 'mindee'
|
|
7
|
+
|
|
8
|
+
# Init a new client
|
|
9
|
+
mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
|
|
10
|
+
|
|
11
|
+
# Load a file from disk
|
|
12
|
+
input_source = mindee_client.source_from_path('/path/to/the/file.ext')
|
|
13
|
+
|
|
14
|
+
# Parse the file
|
|
15
|
+
result = mindee_client.parse(
|
|
16
|
+
input_source,
|
|
17
|
+
Mindee::V1::Product::Resume::ResumeV1
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
# Print a full summary of the parsed data in RST format
|
|
21
|
+
puts result.document
|
|
22
|
+
|
|
23
|
+
# Print the document-level parsed data
|
|
24
|
+
# puts result.document.inference.prediction
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee'
|
|
4
|
+
require 'mindee/v2/product'
|
|
5
|
+
|
|
6
|
+
input_path = '/path/to/the/file.ext'
|
|
7
|
+
api_key = 'MY_API_KEY'
|
|
8
|
+
model_id = 'MY_MODEL_ID'
|
|
9
|
+
|
|
10
|
+
# Init a new client
|
|
11
|
+
mindee_client = Mindee::V2::Client.new(api_key: api_key)
|
|
12
|
+
|
|
13
|
+
# Set inference parameters
|
|
14
|
+
classification_params = {
|
|
15
|
+
# ID of the model, required.
|
|
16
|
+
model_id: model_id,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
# Load a file from disk
|
|
20
|
+
input_source = Mindee::Input::Source::PathInputSource.new(input_path)
|
|
21
|
+
|
|
22
|
+
# Send for processing
|
|
23
|
+
response = mindee_client.enqueue_and_get_result(
|
|
24
|
+
Mindee::V2::Product::Classification::Classification,
|
|
25
|
+
input_source,
|
|
26
|
+
classification_params
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
# Access the classification result
|
|
30
|
+
puts response.inference.result.classification
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee'
|
|
4
|
+
require 'mindee/v2/product'
|
|
5
|
+
|
|
6
|
+
input_path = '/path/to/the/file.ext'
|
|
7
|
+
api_key = 'MY_API_KEY'
|
|
8
|
+
model_id = 'MY_MODEL_ID'
|
|
9
|
+
|
|
10
|
+
# Init a new client
|
|
11
|
+
mindee_client = Mindee::V2::Client.new(api_key: api_key)
|
|
12
|
+
|
|
13
|
+
# Set inference parameters
|
|
14
|
+
crop_params = {
|
|
15
|
+
# ID of the model, required.
|
|
16
|
+
model_id: model_id,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
# Load a file from disk
|
|
20
|
+
input_source = Mindee::Input::Source::PathInputSource.new(input_path)
|
|
21
|
+
|
|
22
|
+
# Send for processing
|
|
23
|
+
response = mindee_client.enqueue_and_get_result(
|
|
24
|
+
Mindee::V2::Product::Crop::Crop,
|
|
25
|
+
input_source,
|
|
26
|
+
crop_params
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
# Access the result crops
|
|
30
|
+
puts response.inference.result.crops
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee'
|
|
4
|
+
require 'mindee/v2/product'
|
|
5
|
+
|
|
6
|
+
input_path = '/path/to/the/file.ext'
|
|
7
|
+
api_key = 'MY_API_KEY'
|
|
8
|
+
model_id = 'MY_MODEL_ID'
|
|
9
|
+
|
|
10
|
+
# Init a new client
|
|
11
|
+
mindee_client = Mindee::V2::Client.new(api_key: api_key)
|
|
12
|
+
|
|
13
|
+
# Set inference parameters
|
|
14
|
+
extraction_params = {
|
|
15
|
+
# ID of the model, required.
|
|
16
|
+
model_id: model_id,
|
|
17
|
+
|
|
18
|
+
# Options: set to `true` or `false` to override defaults
|
|
19
|
+
|
|
20
|
+
# Enhance extraction accuracy with Retrieval-Augmented Generation.
|
|
21
|
+
rag: nil,
|
|
22
|
+
# Extract the full text content from the document as strings.
|
|
23
|
+
raw_text: nil,
|
|
24
|
+
# Calculate bounding box polygons for all fields.
|
|
25
|
+
polygon: nil,
|
|
26
|
+
# Boost the precision and accuracy of all extractions.
|
|
27
|
+
# Calculate confidence scores for all fields.
|
|
28
|
+
confidence: nil
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
# Load a file from disk
|
|
32
|
+
input_source = Mindee::Input::Source::PathInputSource.new(input_path)
|
|
33
|
+
|
|
34
|
+
# Send for processing
|
|
35
|
+
response = mindee_client.enqueue_and_get_result(
|
|
36
|
+
Mindee::V2::Product::Extraction::Extraction,
|
|
37
|
+
input_source,
|
|
38
|
+
extraction_params
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# Print a brief summary of the parsed data
|
|
42
|
+
puts response.inference
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee'
|
|
4
|
+
require 'mindee/v2/product'
|
|
5
|
+
|
|
6
|
+
input_path = '/path/to/the/file.ext'
|
|
7
|
+
api_key = 'MY_API_KEY'
|
|
8
|
+
model_id = 'MY_MODEL_ID'
|
|
9
|
+
|
|
10
|
+
# Init a new client
|
|
11
|
+
mindee_client = Mindee::V2::Client.new(api_key: api_key)
|
|
12
|
+
|
|
13
|
+
extraction_params = {
|
|
14
|
+
# ID of the model, required.
|
|
15
|
+
model_id: model_id,
|
|
16
|
+
# Add any number of webhook IDs here.
|
|
17
|
+
webhook_ids: ['MY_WEBHOOK_ID'],
|
|
18
|
+
|
|
19
|
+
# Options: set to `true` or `false` to override defaults
|
|
20
|
+
|
|
21
|
+
# Enhance extraction accuracy with Retrieval-Augmented Generation.
|
|
22
|
+
rag: nil,
|
|
23
|
+
# Extract the full text content from the document as strings.
|
|
24
|
+
raw_text: nil,
|
|
25
|
+
# Calculate bounding box polygons for all fields.
|
|
26
|
+
polygon: nil,
|
|
27
|
+
# Boost the precision and accuracy of all extractions.
|
|
28
|
+
# Calculate confidence scores for all fields.
|
|
29
|
+
confidence: nil
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
# Load a file from disk
|
|
33
|
+
input_source = Mindee::Input::Source::PathInputSource.new(input_path)
|
|
34
|
+
|
|
35
|
+
# Send for processing
|
|
36
|
+
response = mindee_client.enqueue(
|
|
37
|
+
Mindee::V2::Product::Extraction::Extraction,
|
|
38
|
+
input_source,
|
|
39
|
+
extraction_params
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
# Print the job ID
|
|
43
|
+
job_id = response.job.id
|
|
44
|
+
|
|
45
|
+
puts job_id
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee'
|
|
4
|
+
require 'mindee/v2/product'
|
|
5
|
+
|
|
6
|
+
input_path = '/path/to/the/file.ext'
|
|
7
|
+
api_key = 'MY_API_KEY'
|
|
8
|
+
model_id = 'MY_MODEL_ID'
|
|
9
|
+
|
|
10
|
+
# Init a new client
|
|
11
|
+
mindee_client = Mindee::V2::Client.new(api_key: api_key)
|
|
12
|
+
|
|
13
|
+
# Set inference parameters
|
|
14
|
+
ocr_params = {
|
|
15
|
+
# ID of the model, required.
|
|
16
|
+
model_id: model_id,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
# Load a file from disk
|
|
20
|
+
input_source = Mindee::Input::Source::PathInputSource.new(input_path)
|
|
21
|
+
|
|
22
|
+
# Send for processing
|
|
23
|
+
response = mindee_client.enqueue_and_get_result(
|
|
24
|
+
Mindee::V2::Product::OCR::OCR,
|
|
25
|
+
input_source,
|
|
26
|
+
ocr_params
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
# Access the result OCR pages
|
|
30
|
+
puts response.inference.result.pages
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee'
|
|
4
|
+
require 'mindee/v2/product'
|
|
5
|
+
|
|
6
|
+
input_path = '/path/to/the/file.ext'
|
|
7
|
+
api_key = 'MY_API_KEY'
|
|
8
|
+
model_id = 'MY_MODEL_ID'
|
|
9
|
+
|
|
10
|
+
# Init a new client
|
|
11
|
+
mindee_client = Mindee::V2::Client.new(api_key: api_key)
|
|
12
|
+
|
|
13
|
+
# Set inference parameters
|
|
14
|
+
split_params = {
|
|
15
|
+
# ID of the model, required.
|
|
16
|
+
model_id: model_id,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
# Load a file from disk
|
|
20
|
+
input_source = Mindee::Input::Source::PathInputSource.new(input_path)
|
|
21
|
+
|
|
22
|
+
# Send for processing
|
|
23
|
+
response = mindee_client.enqueue_and_get_result(
|
|
24
|
+
Mindee::V2::Product::Split::Split,
|
|
25
|
+
input_source,
|
|
26
|
+
split_params
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
# Access the result splits
|
|
30
|
+
puts response.inference.result.splits
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Install the Ruby client library by running:
|
|
3
|
+
# gem install mindee
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
require 'mindee'
|
|
7
|
+
|
|
8
|
+
workflow_id = 'workflow-id'
|
|
9
|
+
|
|
10
|
+
# Init a new client
|
|
11
|
+
mindee_client = Mindee::V1::Client.new
|
|
12
|
+
|
|
13
|
+
# Load a file from disk
|
|
14
|
+
input_source = mindee_client.source_from_path('path/to/my/file.ext')
|
|
15
|
+
|
|
16
|
+
# Send the file to the workflow
|
|
17
|
+
result = mindee_client.execute_workflow(
|
|
18
|
+
input_source,
|
|
19
|
+
workflow_id,
|
|
20
|
+
# options: { # Optionally, you can provide the following parameters:
|
|
21
|
+
# document_alias: 'my-document-alias', # Potential alias for the document
|
|
22
|
+
# priority: Mindee::V1::Parsing::Common::ExecutionPriority::LOW, # Priority of the execution
|
|
23
|
+
# rag: true # Whether to enable Retrieval-Augmented Generation
|
|
24
|
+
# }
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
# Print the execution's ID to make sure it worked
|
|
28
|
+
puts result.execution.id
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Install the Ruby client library by running:
|
|
3
|
+
# gem install mindee
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
require 'mindee'
|
|
7
|
+
|
|
8
|
+
workflow_id = 'workflow-id'
|
|
9
|
+
|
|
10
|
+
# Init a new client
|
|
11
|
+
mindee_client = Mindee::V1::Client.new
|
|
12
|
+
|
|
13
|
+
# Load a file from disk
|
|
14
|
+
input_source = mindee_client.source_from_path('path/to/my/file.ext')
|
|
15
|
+
|
|
16
|
+
# Initialize a custom endpoint for this product
|
|
17
|
+
custom_endpoint = mindee_client.create_endpoint(
|
|
18
|
+
account_name: 'my-account',
|
|
19
|
+
endpoint_name: 'my-endpoint',
|
|
20
|
+
version: 'my-version'
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
# Parse the file
|
|
24
|
+
result = mindee_client.parse(
|
|
25
|
+
input_source,
|
|
26
|
+
Mindee::V1::Product::Universal::Universal,
|
|
27
|
+
endpoint: custom_endpoint,
|
|
28
|
+
options: {
|
|
29
|
+
rag: true,
|
|
30
|
+
workflow_id: workflow_id
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Print a full summary of the parsed data in RST format
|
|
35
|
+
puts result.document
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee'
|
|
4
|
+
|
|
5
|
+
def invoice_splitter_auto_extraction(file_path)
|
|
6
|
+
mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
|
|
7
|
+
input_source = mindee_client.source_from_path(file_path)
|
|
8
|
+
|
|
9
|
+
if input_source.pdf? && input_source.page_count > 1
|
|
10
|
+
parse_multi_page(mindee_client, input_source)
|
|
11
|
+
else
|
|
12
|
+
parse_single_page(mindee_client, input_source)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def parse_single_page(mindee_client, input_source)
|
|
17
|
+
invoice_result = mindee_client.parse(
|
|
18
|
+
input_source,
|
|
19
|
+
Mindee::V1::Product::Invoice::InvoiceV4
|
|
20
|
+
)
|
|
21
|
+
puts invoice_result.document
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def parse_multi_page(mindee_client, input_source)
|
|
25
|
+
pdf_extractor = Mindee::PDF::PDFExtractor.new(input_source)
|
|
26
|
+
invoice_splitter_response = mindee_client.parse(
|
|
27
|
+
input_source,
|
|
28
|
+
Mindee::V1::Product::InvoiceSplitter::InvoiceSplitterV1,
|
|
29
|
+
options: { close_file: false }
|
|
30
|
+
)
|
|
31
|
+
page_groups = invoice_splitter_response.document.inference.prediction.invoice_page_groups
|
|
32
|
+
extracted_pdfs = pdf_extractor.extract_invoices(page_groups, strict: false)
|
|
33
|
+
|
|
34
|
+
extracted_pdfs.each do |extracted_pdf|
|
|
35
|
+
# Optional: Save the files locally
|
|
36
|
+
# extracted_pdf.write_to_file("output/path")
|
|
37
|
+
|
|
38
|
+
invoice_result = mindee_client.parse(
|
|
39
|
+
extracted_pdf.as_input_source,
|
|
40
|
+
Mindee::V1::Product::Invoice::InvoiceV4,
|
|
41
|
+
options: { close_file: false }
|
|
42
|
+
)
|
|
43
|
+
puts invoice_result.document
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
my_file_path = '/path/to/the/file.ext'
|
|
48
|
+
invoice_splitter_auto_extraction(my_file_path)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee'
|
|
4
|
+
|
|
5
|
+
mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
|
|
6
|
+
def multi_receipts_detection(file_path, mindee_client)
|
|
7
|
+
input_source = mindee_client.source_from_path(file_path)
|
|
8
|
+
|
|
9
|
+
result_multi_receipts = mindee_client.parse(
|
|
10
|
+
input_source,
|
|
11
|
+
Mindee::V1::Product::MultiReceiptsDetector::MultiReceiptsDetectorV1,
|
|
12
|
+
options: { close_file: false }
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
images = Mindee::V1::Extraction.extract_receipts(input_source, result_multi_receipts.document.inference)
|
|
16
|
+
images.each do |sub_image|
|
|
17
|
+
# Optional: Save the files locally
|
|
18
|
+
# sub_image.write_to_file("/path/to/my/extracted/file/folder")
|
|
19
|
+
|
|
20
|
+
result_receipt = mindee_client.parse(
|
|
21
|
+
sub_image.as_source,
|
|
22
|
+
Mindee::V1::Product::Receipt::ReceiptV5,
|
|
23
|
+
options: { close_file: false }
|
|
24
|
+
)
|
|
25
|
+
puts result_receipt.document
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
my_file_path = '/path/to/the/file.ext'
|
|
30
|
+
multi_receipts_detection(my_file_path, mindee_client)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mindee
|
|
4
|
+
# Centralized check for optional heavy dependencies
|
|
5
|
+
module Dependency
|
|
6
|
+
def self.check_all_dependencies
|
|
7
|
+
require 'origami'
|
|
8
|
+
require 'mini_magick'
|
|
9
|
+
require 'pdf-reader'
|
|
10
|
+
true
|
|
11
|
+
rescue LoadError
|
|
12
|
+
false
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
@all_deps_available = check_all_dependencies
|
|
16
|
+
|
|
17
|
+
def self.all_deps_available?
|
|
18
|
+
check_all_dependencies
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def self.require_all_deps!
|
|
22
|
+
raise LoadError, MINDEE_DEPENDENCIES_LOAD_ERROR unless all_deps_available?
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
MINDEE_DEPENDENCIES_LOAD_ERROR = 'Attempted to load Mindee PDF/Image tools without required dependencies. ' \
|
|
26
|
+
"If you need to process local files, please replace the 'mindee-lite' gem " \
|
|
27
|
+
"with the standard 'mindee' gem in your Gemfile."
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mindee
|
|
4
|
+
module Error
|
|
5
|
+
# Base class for all custom mindee errors.
|
|
6
|
+
class MindeeError < StandardError; end
|
|
7
|
+
|
|
8
|
+
# Errors relating to library issues.
|
|
9
|
+
class MindeeAPIError < MindeeError; end
|
|
10
|
+
|
|
11
|
+
# Errors relating to misuse of the library.
|
|
12
|
+
class MindeeConfigurationError < MindeeError; end
|
|
13
|
+
|
|
14
|
+
# Errors relating to geometric manipulation issues.
|
|
15
|
+
class MindeeGeometryError < MindeeError; end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'mindee_error'
|
|
4
|
+
|
|
5
|
+
module Mindee
|
|
6
|
+
module Error
|
|
7
|
+
# API HttpError
|
|
8
|
+
class MindeeHTTPError < MindeeError
|
|
9
|
+
# @return [String]
|
|
10
|
+
attr_reader :status_code
|
|
11
|
+
# @return [Integer]
|
|
12
|
+
attr_reader :api_code
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_reader :api_details
|
|
15
|
+
# @return [String]
|
|
16
|
+
attr_reader :api_message
|
|
17
|
+
|
|
18
|
+
# @param http_error [Hash]
|
|
19
|
+
# @param url [String]
|
|
20
|
+
# @param code [Integer]
|
|
21
|
+
def initialize(http_error, url, code)
|
|
22
|
+
@status_code = code
|
|
23
|
+
@api_code = http_error['code']
|
|
24
|
+
@api_details = http_error['details']
|
|
25
|
+
@api_message = http_error['message']
|
|
26
|
+
super("#{url} #{@status_code} HTTP error: #{@api_details} - #{@api_message}")
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Base class for all client-side errors.
|
|
31
|
+
class MindeeHTTPClientError < MindeeHTTPError; end
|
|
32
|
+
|
|
33
|
+
# Base class for all server-side errors.
|
|
34
|
+
class MindeeHTTPServerError < MindeeHTTPError; end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'mindee_error'
|
|
4
|
+
require_relative '../v2/parsing/error_item'
|
|
5
|
+
|
|
6
|
+
module Mindee
|
|
7
|
+
module Error
|
|
8
|
+
# API V2 HttpError
|
|
9
|
+
class MindeeHTTPErrorV2 < MindeeError
|
|
10
|
+
# @return [Integer] The HTTP status code returned by the server.
|
|
11
|
+
attr_reader :status
|
|
12
|
+
# @return [String] A human-readable explanation specific to the occurrence of the problem.
|
|
13
|
+
attr_reader :detail
|
|
14
|
+
# @return [String] A short, human-readable summary of the problem.
|
|
15
|
+
attr_reader :title
|
|
16
|
+
# @return [String] A machine-readable code specific to the occurrence of the problem.
|
|
17
|
+
attr_reader :code
|
|
18
|
+
# @return [Array<ErrorItem>] A list of explicit error details.
|
|
19
|
+
attr_reader :errors
|
|
20
|
+
|
|
21
|
+
# @param http_error [Hash, Mindee::V2::Parsing::ErrorResponse]
|
|
22
|
+
def initialize(http_error)
|
|
23
|
+
if http_error.is_a?(V2::Parsing::ErrorResponse)
|
|
24
|
+
http_error = { 'detail' => http_error.detail,
|
|
25
|
+
'status' => http_error.status,
|
|
26
|
+
'title' => http_error.title,
|
|
27
|
+
'code' => http_error.code,
|
|
28
|
+
'errors' => http_error.errors }
|
|
29
|
+
end
|
|
30
|
+
@status = http_error['status']
|
|
31
|
+
@detail = http_error['detail']
|
|
32
|
+
@title = http_error['title']
|
|
33
|
+
@code = http_error['code']
|
|
34
|
+
@errors = if http_error.key?('errors')
|
|
35
|
+
http_error['errors'].map do |error|
|
|
36
|
+
Mindee::V2::Parsing::ErrorItem.new(error)
|
|
37
|
+
end
|
|
38
|
+
else
|
|
39
|
+
[]
|
|
40
|
+
end
|
|
41
|
+
super("HTTP #{@status} - #{@title} :: #{@code} - #{@detail}")
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'mindee_error'
|
|
4
|
+
|
|
5
|
+
module Mindee
|
|
6
|
+
module Error
|
|
7
|
+
# Unknown HTTP error for the V2 API.
|
|
8
|
+
class MindeeHTTPUnknownErrorV2 < MindeeHTTPErrorV2
|
|
9
|
+
def initialize(http_error)
|
|
10
|
+
super({ 'detail' => "Couldn't deserialize server error. Found: #{http_error}",
|
|
11
|
+
'status' => -1,
|
|
12
|
+
'title' => 'Unknown Error',
|
|
13
|
+
'code' => '000-000',
|
|
14
|
+
'errors' => nil })
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mindee
|
|
4
|
+
module Error
|
|
5
|
+
# Base class for error relating to input documents.
|
|
6
|
+
class MindeeInputError < MindeeError; end
|
|
7
|
+
|
|
8
|
+
# Errors relating to sources (documents) handling.
|
|
9
|
+
class MindeeSourceError < MindeeInputError; end
|
|
10
|
+
|
|
11
|
+
# Errors relating to mime type issues.
|
|
12
|
+
class MindeeMimeTypeError < MindeeSourceError
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_reader :invalid_mimetype
|
|
15
|
+
|
|
16
|
+
# @param mime_type [String]
|
|
17
|
+
def initialize(mime_type)
|
|
18
|
+
@invalid_mimetype = mime_type
|
|
19
|
+
super("'#{@invalid_mimetype}' mime type not allowed, must be one of " \
|
|
20
|
+
"#{Mindee::Input::Source::ALLOWED_MIME_TYPES.join(', ')}")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Errors relating to the handling of images.
|
|
25
|
+
class MindeeImageError < MindeeInputError; end
|
|
26
|
+
|
|
27
|
+
# Errors relating to the handling of PDF documents.
|
|
28
|
+
class MindeePDFError < MindeeInputError; end
|
|
29
|
+
end
|
|
30
|
+
end
|
data/lib/mindee/error.rb
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mindee
|
|
4
|
+
# Various helper functions & classes for geometry.
|
|
5
|
+
module Geometry
|
|
6
|
+
# A set of minimum and maximum values.
|
|
7
|
+
class MinMax
|
|
8
|
+
# Minimum
|
|
9
|
+
# @return [Float]
|
|
10
|
+
attr_reader :min
|
|
11
|
+
# Maximum
|
|
12
|
+
# @return [Float]
|
|
13
|
+
attr_reader :max
|
|
14
|
+
|
|
15
|
+
# @param min [Float]
|
|
16
|
+
# @param max [Float]
|
|
17
|
+
def initialize(min, max)
|
|
18
|
+
@min = min
|
|
19
|
+
@max = max
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|