numind 0.2.2__tar.gz → 0.3.1__tar.gz
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.
- {numind-0.2.2 → numind-0.3.1}/.github/workflows/lint.yml +1 -1
- {numind-0.2.2 → numind-0.3.1}/.github/workflows/publish-pypi.yml +2 -2
- {numind-0.2.2 → numind-0.3.1}/.github/workflows/sdk-auto-update.yml +3 -3
- {numind-0.2.2 → numind-0.3.1}/.github/workflows/tests.yml +1 -1
- {numind-0.2.2 → numind-0.3.1}/PKG-INFO +98 -40
- {numind-0.2.2 → numind-0.3.1}/README.md +94 -38
- numind-0.3.1/docs/Content.md +30 -0
- {numind-0.2.2 → numind-0.3.1}/docs/ContentExtractionApi.md +57 -26
- {numind-0.2.2 → numind-0.3.1}/docs/ContentExtractionProjectManagementApi.md +213 -49
- {numind-0.2.2 → numind-0.3.1}/docs/ContentExtractionResponse.md +4 -1
- {numind-0.2.2 → numind-0.3.1}/docs/ContentProjectResponse.md +3 -1
- {numind-0.2.2 → numind-0.3.1}/docs/ContentProjectSettingsResponse.md +15 -5
- {numind-0.2.2 → numind-0.3.1}/docs/CreateContentProjectRequest.md +3 -1
- {numind-0.2.2 → numind-0.3.1}/docs/CreateOrUpdateStructuredExampleRequest.md +14 -4
- {numind-0.2.2 → numind-0.3.1}/docs/CreateStructuredProjectRequest.md +12 -4
- {numind-0.2.2 → numind-0.3.1}/docs/DefaultApi.md +7 -17
- {numind-0.2.2 → numind-0.3.1}/docs/DocumentInfo.md +1 -0
- {numind-0.2.2 → numind-0.3.1}/docs/DocumentResponse.md +0 -1
- {numind-0.2.2 → numind-0.3.1}/docs/DocumentsApi.md +58 -44
- {numind-0.2.2 → numind-0.3.1}/docs/FileResponse.md +0 -1
- {numind-0.2.2 → numind-0.3.1}/docs/FilesApi.md +31 -28
- {numind-0.2.2 → numind-0.3.1}/docs/ImageInfo.md +1 -0
- numind-0.3.1/docs/ImportProjectResponse.md +32 -0
- {numind-0.2.2 → numind-0.3.1}/docs/InferenceApi.md +104 -57
- {numind-0.2.2 → numind-0.3.1}/docs/InferenceValidationError.md +3 -1
- {numind-0.2.2 → numind-0.3.1}/docs/InformationResponse.md +3 -1
- {numind-0.2.2 → numind-0.3.1}/docs/JobStatusResponse.md +1 -0
- {numind-0.2.2 → numind-0.3.1}/docs/JobsApi.md +123 -25
- numind-0.3.1/docs/PaginatedResponseT.md +32 -0
- numind-0.3.1/docs/ProjectImportExportApi.md +171 -0
- numind-0.3.1/docs/Structured.md +30 -0
- {numind-0.2.2 → numind-0.3.1}/docs/StructuredDataExtractionApi.md +58 -29
- {numind-0.2.2 → numind-0.3.1}/docs/StructuredExampleResponse.md +3 -1
- {numind-0.2.2 → numind-0.3.1}/docs/StructuredExtractionExamplesApi.md +94 -40
- {numind-0.2.2 → numind-0.3.1}/docs/StructuredExtractionProjectManagementApi.md +376 -111
- {numind-0.2.2 → numind-0.3.1}/docs/StructuredExtractionResponse.md +5 -1
- {numind-0.2.2 → numind-0.3.1}/docs/StructuredInferenceExample.md +3 -1
- {numind-0.2.2 → numind-0.3.1}/docs/StructuredProjectResponse.md +3 -1
- {numind-0.2.2 → numind-0.3.1}/docs/StructuredProjectSettingsResponse.md +16 -4
- {numind-0.2.2 → numind-0.3.1}/docs/TemplateGenerationApi.md +32 -19
- {numind-0.2.2 → numind-0.3.1}/docs/UpdateContentProjectRequest.md +3 -1
- {numind-0.2.2 → numind-0.3.1}/docs/UpdateContentProjectSettingsRequest.md +16 -4
- {numind-0.2.2 → numind-0.3.1}/docs/UpdateStructuredProjectRequest.md +12 -4
- {numind-0.2.2 → numind-0.3.1}/docs/UpdateStructuredProjectSettingsRequest.md +16 -4
- {numind-0.2.2 → numind-0.3.1}/pyproject.toml +3 -3
- {numind-0.2.2 → numind-0.3.1}/sdk_generation/gen_sdk.sh +35 -16
- {numind-0.2.2 → numind-0.3.1}/sdk_generation/pyproject_base.toml +7 -10
- {numind-0.2.2 → numind-0.3.1}/sdk_generation/remove_unused_models_from_openapi_spec_file.py +1 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/exceptions.py +1 -1
- numind-0.3.1/src/numind/models/__init__.py +68 -0
- numind-0.3.1/src/numind/models/content.py +102 -0
- numind-0.3.1/src/numind/models/content_extraction_response.py +135 -0
- numind-0.3.1/src/numind/models/content_project_response.py +126 -0
- numind-0.3.1/src/numind/models/content_project_settings_response.py +114 -0
- numind-0.3.1/src/numind/models/convert_request.py +85 -0
- numind-0.3.1/src/numind/models/create_content_project_request.py +87 -0
- numind-0.3.1/src/numind/models/create_or_update_structured_example_request.py +87 -0
- numind-0.3.1/src/numind/models/create_structured_project_request.py +99 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/models/document_info.py +1 -1
- numind-0.3.1/src/numind/models/document_response.py +112 -0
- numind-0.3.1/src/numind/models/error.py +86 -0
- numind-0.3.1/src/numind/models/file_response.py +106 -0
- numind-0.3.1/src/numind/models/health_response.py +99 -0
- numind-0.3.1/src/numind/models/image_info.py +129 -0
- numind-0.3.1/src/numind/models/import_project_response.py +157 -0
- numind-0.3.1/src/numind/models/inference_status.py +85 -0
- numind-0.3.1/src/numind/models/inference_validation_error.py +89 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/models/information_response.py +1 -1
- numind-0.3.1/src/numind/models/invalid_information.py +101 -0
- numind-0.3.1/src/numind/models/job_id_response.py +82 -0
- numind-0.3.1/src/numind/models/job_status_response.py +127 -0
- numind-0.3.1/src/numind/models/paginated_response_t.py +111 -0
- numind-0.3.1/src/numind/models/service_status.py +90 -0
- numind-0.3.1/src/numind/models/structured.py +102 -0
- numind-0.3.1/src/numind/models/structured_example_response.py +128 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/models/structured_extraction_response.py +13 -1
- numind-0.3.1/src/numind/models/structured_inference_example.py +106 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/models/structured_project_response.py +1 -1
- numind-0.3.1/src/numind/models/structured_project_settings_response.py +137 -0
- numind-0.3.1/src/numind/models/template_request.py +82 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/models/template_response.py +1 -1
- numind-0.3.1/src/numind/models/text_info.py +123 -0
- numind-0.3.1/src/numind/models/text_request.py +82 -0
- numind-0.3.1/src/numind/models/update_content_project_request.py +89 -0
- numind-0.3.1/src/numind/models/update_content_project_settings_request.py +123 -0
- numind-0.3.1/src/numind/models/update_structured_project_request.py +105 -0
- numind-0.3.1/src/numind/models/update_structured_project_settings_request.py +158 -0
- numind-0.3.1/src/numind/models/valid_information.py +94 -0
- numind-0.3.1/src/numind/models/version_response.py +97 -0
- numind-0.3.1/src/numind/nuextract_utils/__init__.py +11 -0
- numind-0.3.1/src/numind/nuextract_utils/template_conversion/__init__.py +21 -0
- numind-0.3.1/src/numind/nuextract_utils/template_conversion/constants.py +72 -0
- numind-0.3.1/src/numind/nuextract_utils/template_conversion/json_schema.py +1360 -0
- numind-0.3.1/src/numind/nuextract_utils/template_conversion/pydantic.py +156 -0
- numind-0.3.1/src/numind/nuextract_utils/template_conversion/utils.py +13 -0
- numind-0.3.1/src/numind/nuextract_utils/template_conversion/validation.py +139 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/numind.py +20 -10
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/__init__.py +15 -11
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/__init__.py +1 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/content_extraction_api.py +128 -34
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/content_extraction_project_management_api.py +291 -10
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/default_api.py +1 -1
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/documents_api.py +52 -19
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/files_api.py +1 -1
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/inference_api.py +183 -59
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/jobs_api.py +285 -13
- numind-0.3.1/src/numind/openapi_client/api/project_import_export_api.py +635 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/structured_data_extraction_api.py +83 -20
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/structured_extraction_examples_api.py +7 -9
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/structured_extraction_project_management_api.py +297 -10
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api/template_generation_api.py +7 -7
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/api_client.py +14 -19
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/configuration.py +2 -2
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/rest.py +1 -1
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/__init__.py +15 -11
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/__init__.py +3 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/content_extraction_api.py +128 -34
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/content_extraction_project_management_api.py +291 -10
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/default_api.py +1 -1
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/documents_api.py +52 -19
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/files_api.py +1 -1
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/inference_api.py +183 -59
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/jobs_api.py +285 -13
- numind-0.3.1/src/numind/openapi_client_async/api/project_import_export_api.py +635 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/structured_data_extraction_api.py +83 -20
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/structured_extraction_examples_api.py +7 -9
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/structured_extraction_project_management_api.py +297 -10
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api/template_generation_api.py +7 -7
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/api_client.py +14 -19
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/configuration.py +3 -2
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/rest.py +3 -1
- numind-0.3.1/tests/json_schema_test_cases/1.json +190 -0
- numind-0.3.1/tests/openapi_client/test_content.py +81 -0
- numind-0.3.1/tests/openapi_client/test_content_extraction_api.py +34 -0
- numind-0.3.1/tests/openapi_client/test_content_extraction_project_management_api.py +48 -0
- numind-0.3.1/tests/openapi_client/test_content_extraction_response.py +67 -0
- numind-0.3.1/tests/openapi_client/test_content_project_response.py +76 -0
- numind-0.3.1/tests/openapi_client/test_content_project_settings_response.py +63 -0
- numind-0.3.1/tests/openapi_client/test_convert_request.py +53 -0
- numind-0.3.1/tests/openapi_client/test_create_content_project_request.py +55 -0
- numind-0.3.1/tests/openapi_client/test_create_or_update_structured_example_request.py +57 -0
- numind-0.3.1/tests/openapi_client/test_create_structured_project_request.py +61 -0
- numind-0.3.1/tests/openapi_client/test_default_api.py +43 -0
- numind-0.3.1/tests/openapi_client/test_document_info.py +67 -0
- numind-0.3.1/tests/openapi_client/test_document_response.py +58 -0
- numind-0.3.1/tests/openapi_client/test_documents_api.py +40 -0
- numind-0.3.1/tests/openapi_client/test_error.py +55 -0
- numind-0.3.1/tests/openapi_client/test_file_response.py +59 -0
- numind-0.3.1/tests/openapi_client/test_files_api.py +40 -0
- numind-0.3.1/tests/openapi_client/test_health_response.py +57 -0
- numind-0.3.1/tests/openapi_client/test_image_info.py +65 -0
- numind-0.3.1/tests/openapi_client/test_import_project_response.py +95 -0
- numind-0.3.1/tests/openapi_client/test_inference_api.py +47 -0
- numind-0.3.1/tests/openapi_client/test_inference_status.py +55 -0
- numind-0.3.1/tests/openapi_client/test_inference_validation_error.py +55 -0
- numind-0.3.1/tests/openapi_client/test_information_response.py +57 -0
- numind-0.3.1/tests/openapi_client/test_invalid_information.py +57 -0
- numind-0.3.1/tests/openapi_client/test_job_id_response.py +53 -0
- numind-0.3.1/tests/openapi_client/test_job_status_response.py +69 -0
- numind-0.3.1/tests/openapi_client/test_jobs_api.py +40 -0
- numind-0.3.1/tests/openapi_client/test_paginated_response_t.py +67 -0
- numind-0.3.1/tests/openapi_client/test_project_import_export_api.py +34 -0
- numind-0.3.1/tests/openapi_client/test_service_status.py +56 -0
- numind-0.3.1/tests/openapi_client/test_structured.py +95 -0
- numind-0.3.1/tests/openapi_client/test_structured_data_extraction_api.py +36 -0
- numind-0.3.1/tests/openapi_client/test_structured_example_response.py +65 -0
- numind-0.3.1/tests/openapi_client/test_structured_extraction_examples_api.py +51 -0
- numind-0.3.1/tests/openapi_client/test_structured_extraction_project_management_api.py +71 -0
- numind-0.3.1/tests/openapi_client/test_structured_extraction_response.py +79 -0
- numind-0.3.1/tests/openapi_client/test_structured_inference_example.py +58 -0
- numind-0.3.1/tests/openapi_client/test_structured_project_response.py +90 -0
- numind-0.3.1/tests/openapi_client/test_structured_project_settings_response.py +69 -0
- numind-0.3.1/tests/openapi_client/test_template_generation_api.py +34 -0
- numind-0.3.1/tests/openapi_client/test_template_request.py +53 -0
- numind-0.3.1/tests/openapi_client/test_template_response.py +68 -0
- numind-0.3.1/tests/openapi_client/test_text_info.py +63 -0
- numind-0.3.1/tests/openapi_client/test_text_request.py +53 -0
- numind-0.3.1/tests/openapi_client/test_update_content_project_request.py +53 -0
- numind-0.3.1/tests/openapi_client/test_update_content_project_settings_request.py +58 -0
- numind-0.3.1/tests/openapi_client/test_update_structured_project_request.py +57 -0
- numind-0.3.1/tests/openapi_client/test_update_structured_project_settings_request.py +62 -0
- numind-0.3.1/tests/openapi_client/test_valid_information.py +55 -0
- numind-0.3.1/tests/openapi_client/test_version_response.py +59 -0
- numind-0.3.1/tests/openapi_client_async/test_content.py +81 -0
- numind-0.3.1/tests/openapi_client_async/test_content_extraction_api.py +34 -0
- numind-0.3.1/tests/openapi_client_async/test_content_extraction_project_management_api.py +50 -0
- numind-0.3.1/tests/openapi_client_async/test_content_extraction_response.py +67 -0
- numind-0.3.1/tests/openapi_client_async/test_content_project_response.py +76 -0
- numind-0.3.1/tests/openapi_client_async/test_content_project_settings_response.py +63 -0
- numind-0.3.1/tests/openapi_client_async/test_convert_request.py +53 -0
- numind-0.3.1/tests/openapi_client_async/test_create_content_project_request.py +55 -0
- numind-0.3.1/tests/openapi_client_async/test_create_or_update_structured_example_request.py +57 -0
- numind-0.3.1/tests/openapi_client_async/test_create_structured_project_request.py +61 -0
- numind-0.3.1/tests/openapi_client_async/test_default_api.py +43 -0
- numind-0.3.1/tests/openapi_client_async/test_document_info.py +67 -0
- numind-0.3.1/tests/openapi_client_async/test_document_response.py +58 -0
- numind-0.3.1/tests/openapi_client_async/test_documents_api.py +40 -0
- numind-0.3.1/tests/openapi_client_async/test_error.py +55 -0
- numind-0.3.1/tests/openapi_client_async/test_file_response.py +59 -0
- numind-0.3.1/tests/openapi_client_async/test_files_api.py +40 -0
- numind-0.3.1/tests/openapi_client_async/test_health_response.py +57 -0
- numind-0.3.1/tests/openapi_client_async/test_image_info.py +65 -0
- numind-0.3.1/tests/openapi_client_async/test_import_project_response.py +95 -0
- numind-0.3.1/tests/openapi_client_async/test_inference_api.py +49 -0
- numind-0.3.1/tests/openapi_client_async/test_inference_status.py +55 -0
- numind-0.3.1/tests/openapi_client_async/test_inference_validation_error.py +55 -0
- numind-0.3.1/tests/openapi_client_async/test_information_response.py +57 -0
- numind-0.3.1/tests/openapi_client_async/test_invalid_information.py +57 -0
- numind-0.3.1/tests/openapi_client_async/test_job_id_response.py +53 -0
- numind-0.3.1/tests/openapi_client_async/test_job_status_response.py +69 -0
- numind-0.3.1/tests/openapi_client_async/test_jobs_api.py +40 -0
- numind-0.3.1/tests/openapi_client_async/test_paginated_response_t.py +67 -0
- numind-0.3.1/tests/openapi_client_async/test_project_import_export_api.py +36 -0
- numind-0.3.1/tests/openapi_client_async/test_service_status.py +56 -0
- numind-0.3.1/tests/openapi_client_async/test_structured.py +95 -0
- numind-0.3.1/tests/openapi_client_async/test_structured_data_extraction_api.py +40 -0
- numind-0.3.1/tests/openapi_client_async/test_structured_example_response.py +65 -0
- numind-0.3.1/tests/openapi_client_async/test_structured_extraction_examples_api.py +55 -0
- numind-0.3.1/tests/openapi_client_async/test_structured_extraction_project_management_api.py +85 -0
- numind-0.3.1/tests/openapi_client_async/test_structured_extraction_response.py +79 -0
- numind-0.3.1/tests/openapi_client_async/test_structured_inference_example.py +58 -0
- numind-0.3.1/tests/openapi_client_async/test_structured_project_response.py +90 -0
- numind-0.3.1/tests/openapi_client_async/test_structured_project_settings_response.py +69 -0
- numind-0.3.1/tests/openapi_client_async/test_template_generation_api.py +36 -0
- numind-0.3.1/tests/openapi_client_async/test_template_request.py +53 -0
- numind-0.3.1/tests/openapi_client_async/test_template_response.py +68 -0
- numind-0.3.1/tests/openapi_client_async/test_text_info.py +63 -0
- numind-0.3.1/tests/openapi_client_async/test_text_request.py +53 -0
- numind-0.3.1/tests/openapi_client_async/test_update_content_project_request.py +53 -0
- numind-0.3.1/tests/openapi_client_async/test_update_content_project_settings_request.py +58 -0
- numind-0.3.1/tests/openapi_client_async/test_update_structured_project_request.py +57 -0
- numind-0.3.1/tests/openapi_client_async/test_update_structured_project_settings_request.py +62 -0
- numind-0.3.1/tests/openapi_client_async/test_valid_information.py +55 -0
- numind-0.3.1/tests/openapi_client_async/test_version_response.py +59 -0
- numind-0.3.1/tests/test_conversion_json_schema.py +1215 -0
- numind-0.3.1/tests/test_conversion_pydantic.py +193 -0
- numind-0.3.1/tests/test_json_schema_descriptions.py +117 -0
- {numind-0.2.2 → numind-0.3.1}/tests/test_project.py +12 -4
- numind-0.2.2/docs/JobResponse.md +0 -41
- numind-0.2.2/docs/PaginatedResponseJobResponse.md +0 -32
- numind-0.2.2/docs/PaginatedResponseStructuredExampleResponse.md +0 -32
- numind-0.2.2/src/numind/models/__init__.py +0 -69
- numind-0.2.2/src/numind/models/content_extraction_response.py +0 -130
- numind-0.2.2/src/numind/models/content_project_response.py +0 -126
- numind-0.2.2/src/numind/models/content_project_settings_response.py +0 -103
- numind-0.2.2/src/numind/models/convert_request.py +0 -85
- numind-0.2.2/src/numind/models/create_content_project_request.py +0 -87
- numind-0.2.2/src/numind/models/create_or_update_structured_example_request.py +0 -87
- numind-0.2.2/src/numind/models/create_structured_project_request.py +0 -99
- numind-0.2.2/src/numind/models/document_response.py +0 -117
- numind-0.2.2/src/numind/models/error.py +0 -86
- numind-0.2.2/src/numind/models/file_response.py +0 -111
- numind-0.2.2/src/numind/models/health_response.py +0 -99
- numind-0.2.2/src/numind/models/image_info.py +0 -124
- numind-0.2.2/src/numind/models/inference_status.py +0 -85
- numind-0.2.2/src/numind/models/inference_validation_error.py +0 -89
- numind-0.2.2/src/numind/models/invalid_information.py +0 -101
- numind-0.2.2/src/numind/models/job_id_response.py +0 -82
- numind-0.2.2/src/numind/models/job_response.py +0 -140
- numind-0.2.2/src/numind/models/job_status_response.py +0 -122
- numind-0.2.2/src/numind/models/paginated_response_job_response.py +0 -109
- numind-0.2.2/src/numind/models/paginated_response_structured_example_response.py +0 -111
- numind-0.2.2/src/numind/models/service_status.py +0 -90
- numind-0.2.2/src/numind/models/structured_example_response.py +0 -128
- numind-0.2.2/src/numind/models/structured_inference_example.py +0 -106
- numind-0.2.2/src/numind/models/structured_project_settings_response.py +0 -126
- numind-0.2.2/src/numind/models/template_request.py +0 -82
- numind-0.2.2/src/numind/models/text_info.py +0 -123
- numind-0.2.2/src/numind/models/text_request.py +0 -82
- numind-0.2.2/src/numind/models/update_content_project_request.py +0 -89
- numind-0.2.2/src/numind/models/update_content_project_settings_request.py +0 -109
- numind-0.2.2/src/numind/models/update_structured_project_request.py +0 -105
- numind-0.2.2/src/numind/models/update_structured_project_settings_request.py +0 -144
- numind-0.2.2/src/numind/models/valid_information.py +0 -94
- numind-0.2.2/src/numind/models/version_response.py +0 -97
- numind-0.2.2/tests/openapi_client/test_content_extraction_api.py +0 -34
- numind-0.2.2/tests/openapi_client/test_content_extraction_project_management_api.py +0 -45
- numind-0.2.2/tests/openapi_client/test_content_extraction_response.py +0 -65
- numind-0.2.2/tests/openapi_client/test_content_project_response.py +0 -72
- numind-0.2.2/tests/openapi_client/test_content_project_settings_response.py +0 -59
- numind-0.2.2/tests/openapi_client/test_convert_request.py +0 -53
- numind-0.2.2/tests/openapi_client/test_create_content_project_request.py +0 -55
- numind-0.2.2/tests/openapi_client/test_create_or_update_structured_example_request.py +0 -57
- numind-0.2.2/tests/openapi_client/test_create_structured_project_request.py +0 -61
- numind-0.2.2/tests/openapi_client/test_default_api.py +0 -43
- numind-0.2.2/tests/openapi_client/test_document_info.py +0 -65
- numind-0.2.2/tests/openapi_client/test_document_response.py +0 -60
- numind-0.2.2/tests/openapi_client/test_documents_api.py +0 -40
- numind-0.2.2/tests/openapi_client/test_error.py +0 -55
- numind-0.2.2/tests/openapi_client/test_file_response.py +0 -61
- numind-0.2.2/tests/openapi_client/test_files_api.py +0 -40
- numind-0.2.2/tests/openapi_client/test_health_response.py +0 -57
- numind-0.2.2/tests/openapi_client/test_image_info.py +0 -63
- numind-0.2.2/tests/openapi_client/test_inference_api.py +0 -47
- numind-0.2.2/tests/openapi_client/test_inference_status.py +0 -55
- numind-0.2.2/tests/openapi_client/test_inference_validation_error.py +0 -55
- numind-0.2.2/tests/openapi_client/test_information_response.py +0 -57
- numind-0.2.2/tests/openapi_client/test_invalid_information.py +0 -57
- numind-0.2.2/tests/openapi_client/test_job_id_response.py +0 -53
- numind-0.2.2/tests/openapi_client/test_job_response.py +0 -72
- numind-0.2.2/tests/openapi_client/test_job_status_response.py +0 -67
- numind-0.2.2/tests/openapi_client/test_jobs_api.py +0 -37
- numind-0.2.2/tests/openapi_client/test_paginated_response_job_response.py +0 -73
- numind-0.2.2/tests/openapi_client/test_paginated_response_structured_example_response.py +0 -71
- numind-0.2.2/tests/openapi_client/test_service_status.py +0 -56
- numind-0.2.2/tests/openapi_client/test_structured_data_extraction_api.py +0 -36
- numind-0.2.2/tests/openapi_client/test_structured_example_response.py +0 -65
- numind-0.2.2/tests/openapi_client/test_structured_extraction_examples_api.py +0 -51
- numind-0.2.2/tests/openapi_client/test_structured_extraction_project_management_api.py +0 -68
- numind-0.2.2/tests/openapi_client/test_structured_extraction_response.py +0 -76
- numind-0.2.2/tests/openapi_client/test_structured_inference_example.py +0 -58
- numind-0.2.2/tests/openapi_client/test_structured_project_response.py +0 -86
- numind-0.2.2/tests/openapi_client/test_structured_project_settings_response.py +0 -65
- numind-0.2.2/tests/openapi_client/test_template_generation_api.py +0 -34
- numind-0.2.2/tests/openapi_client/test_template_request.py +0 -53
- numind-0.2.2/tests/openapi_client/test_template_response.py +0 -68
- numind-0.2.2/tests/openapi_client/test_text_info.py +0 -63
- numind-0.2.2/tests/openapi_client/test_text_request.py +0 -53
- numind-0.2.2/tests/openapi_client/test_update_content_project_request.py +0 -53
- numind-0.2.2/tests/openapi_client/test_update_content_project_settings_request.py +0 -56
- numind-0.2.2/tests/openapi_client/test_update_structured_project_request.py +0 -57
- numind-0.2.2/tests/openapi_client/test_update_structured_project_settings_request.py +0 -60
- numind-0.2.2/tests/openapi_client/test_valid_information.py +0 -55
- numind-0.2.2/tests/openapi_client/test_version_response.py +0 -59
- numind-0.2.2/tests/openapi_client_async/test_content_extraction_api.py +0 -34
- numind-0.2.2/tests/openapi_client_async/test_content_extraction_project_management_api.py +0 -47
- numind-0.2.2/tests/openapi_client_async/test_content_extraction_response.py +0 -65
- numind-0.2.2/tests/openapi_client_async/test_content_project_response.py +0 -72
- numind-0.2.2/tests/openapi_client_async/test_content_project_settings_response.py +0 -59
- numind-0.2.2/tests/openapi_client_async/test_convert_request.py +0 -53
- numind-0.2.2/tests/openapi_client_async/test_create_content_project_request.py +0 -55
- numind-0.2.2/tests/openapi_client_async/test_create_or_update_structured_example_request.py +0 -57
- numind-0.2.2/tests/openapi_client_async/test_create_structured_project_request.py +0 -61
- numind-0.2.2/tests/openapi_client_async/test_default_api.py +0 -43
- numind-0.2.2/tests/openapi_client_async/test_document_info.py +0 -65
- numind-0.2.2/tests/openapi_client_async/test_document_response.py +0 -60
- numind-0.2.2/tests/openapi_client_async/test_documents_api.py +0 -40
- numind-0.2.2/tests/openapi_client_async/test_error.py +0 -55
- numind-0.2.2/tests/openapi_client_async/test_file_response.py +0 -61
- numind-0.2.2/tests/openapi_client_async/test_files_api.py +0 -40
- numind-0.2.2/tests/openapi_client_async/test_health_response.py +0 -57
- numind-0.2.2/tests/openapi_client_async/test_image_info.py +0 -63
- numind-0.2.2/tests/openapi_client_async/test_inference_api.py +0 -49
- numind-0.2.2/tests/openapi_client_async/test_inference_status.py +0 -55
- numind-0.2.2/tests/openapi_client_async/test_inference_validation_error.py +0 -55
- numind-0.2.2/tests/openapi_client_async/test_information_response.py +0 -57
- numind-0.2.2/tests/openapi_client_async/test_invalid_information.py +0 -57
- numind-0.2.2/tests/openapi_client_async/test_job_id_response.py +0 -53
- numind-0.2.2/tests/openapi_client_async/test_job_response.py +0 -72
- numind-0.2.2/tests/openapi_client_async/test_job_status_response.py +0 -67
- numind-0.2.2/tests/openapi_client_async/test_jobs_api.py +0 -37
- numind-0.2.2/tests/openapi_client_async/test_paginated_response_job_response.py +0 -73
- numind-0.2.2/tests/openapi_client_async/test_paginated_response_structured_example_response.py +0 -71
- numind-0.2.2/tests/openapi_client_async/test_service_status.py +0 -56
- numind-0.2.2/tests/openapi_client_async/test_structured_data_extraction_api.py +0 -40
- numind-0.2.2/tests/openapi_client_async/test_structured_example_response.py +0 -65
- numind-0.2.2/tests/openapi_client_async/test_structured_extraction_examples_api.py +0 -55
- numind-0.2.2/tests/openapi_client_async/test_structured_extraction_project_management_api.py +0 -80
- numind-0.2.2/tests/openapi_client_async/test_structured_extraction_response.py +0 -76
- numind-0.2.2/tests/openapi_client_async/test_structured_inference_example.py +0 -58
- numind-0.2.2/tests/openapi_client_async/test_structured_project_response.py +0 -86
- numind-0.2.2/tests/openapi_client_async/test_structured_project_settings_response.py +0 -65
- numind-0.2.2/tests/openapi_client_async/test_template_generation_api.py +0 -36
- numind-0.2.2/tests/openapi_client_async/test_template_request.py +0 -53
- numind-0.2.2/tests/openapi_client_async/test_template_response.py +0 -68
- numind-0.2.2/tests/openapi_client_async/test_text_info.py +0 -63
- numind-0.2.2/tests/openapi_client_async/test_text_request.py +0 -53
- numind-0.2.2/tests/openapi_client_async/test_update_content_project_request.py +0 -53
- numind-0.2.2/tests/openapi_client_async/test_update_content_project_settings_request.py +0 -56
- numind-0.2.2/tests/openapi_client_async/test_update_structured_project_request.py +0 -57
- numind-0.2.2/tests/openapi_client_async/test_update_structured_project_settings_request.py +0 -60
- numind-0.2.2/tests/openapi_client_async/test_valid_information.py +0 -55
- numind-0.2.2/tests/openapi_client_async/test_version_response.py +0 -59
- {numind-0.2.2 → numind-0.3.1}/.github/codecov.yml +0 -0
- {numind-0.2.2 → numind-0.3.1}/.github/dependabot.yml +0 -0
- {numind-0.2.2 → numind-0.3.1}/.github/workflows/update-api-build-version-repo-var.yml +0 -0
- {numind-0.2.2 → numind-0.3.1}/.gitignore +0 -0
- {numind-0.2.2 → numind-0.3.1}/LICENSE +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/ConvertRequest.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/Error.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/HealthResponse.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/InferenceStatus.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/InvalidInformation.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/JobIdResponse.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/ServiceStatus.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/TemplateRequest.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/TemplateResponse.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/TextInfo.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/TextRequest.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/ValidInformation.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/docs/VersionResponse.md +0 -0
- {numind-0.2.2 → numind-0.3.1}/sdk_generation/.openapi-generator-ignore +0 -0
- {numind-0.2.2 → numind-0.3.1}/sdk_generation/adapt_openapi_client_init.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/sdk_generation/adapt_pyproject.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/sdk_generation/collate_documentation_readme.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/sdk_generation/config.json +0 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/__init__.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/api_response.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/constants.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client/py.typed +0 -0
- {numind-0.2.2 → numind-0.3.1}/src/numind/openapi_client_async/py.typed +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/__init__.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/conftest.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/openapi_client/__init__.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/openapi_client_async/__init__.py +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/test_cases/vacation/examples.csv +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/test_cases/vacation/files/tahiti.docx +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/test_cases/vacation/files_examples/kyoto.docx +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/test_cases/vacation/schema.json +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/test_cases/vacation/texts.csv +0 -0
- {numind-0.2.2 → numind-0.3.1}/tests/test_numarkdown.py +0 -0
|
@@ -17,9 +17,9 @@ jobs:
|
|
|
17
17
|
name: Build distribution
|
|
18
18
|
runs-on: ubuntu-latest
|
|
19
19
|
steps:
|
|
20
|
-
- uses: actions/checkout@
|
|
20
|
+
- uses: actions/checkout@v7
|
|
21
21
|
- name: Set up Python
|
|
22
|
-
uses: actions/setup-python@
|
|
22
|
+
uses: actions/setup-python@v7
|
|
23
23
|
with:
|
|
24
24
|
python-version: "3.x"
|
|
25
25
|
- name: Install hatch
|
|
@@ -22,7 +22,7 @@ jobs:
|
|
|
22
22
|
steps:
|
|
23
23
|
# Step 1: Check out the repository's code
|
|
24
24
|
- name: Checkout repository
|
|
25
|
-
uses: actions/checkout@
|
|
25
|
+
uses: actions/checkout@v7
|
|
26
26
|
|
|
27
27
|
# Step 2: Fetch the latest buildVersion from the API
|
|
28
28
|
- name: Fetch latest API version
|
|
@@ -68,7 +68,7 @@ jobs:
|
|
|
68
68
|
# Step 5: Setup Python
|
|
69
69
|
- name: Set up Python
|
|
70
70
|
if: steps.check_pr.outputs.pr_exists == 'false'
|
|
71
|
-
uses: actions/setup-python@
|
|
71
|
+
uses: actions/setup-python@v7
|
|
72
72
|
with:
|
|
73
73
|
python-version: "3.x"
|
|
74
74
|
|
|
@@ -83,7 +83,7 @@ jobs:
|
|
|
83
83
|
run: |
|
|
84
84
|
set -e # Exit immediately if a command exits with a non-zero status.
|
|
85
85
|
echo "Generating new SDK for version ${{ steps.fetch_version.outputs.version }}..."
|
|
86
|
-
|
|
86
|
+
bash sdk_generation/gen_sdk.sh
|
|
87
87
|
|
|
88
88
|
# Step 8: Create a Pull Request if there are any changes
|
|
89
89
|
- name: Create Pull Request
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: numind
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: SDK to interact with the NuMind models API.
|
|
5
5
|
Project-URL: Homepage, https://github.com/numindai/nuextract-platform-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/numindai/nuextract-platform-sdk.git
|
|
@@ -45,6 +45,8 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
45
45
|
Requires-Python: >=3.9
|
|
46
46
|
Requires-Dist: aiohttp-retry>=2.8.3
|
|
47
47
|
Requires-Dist: aiohttp>=3.8.4
|
|
48
|
+
Requires-Dist: jsonschema
|
|
49
|
+
Requires-Dist: orjson
|
|
48
50
|
Requires-Dist: pydantic>=2.11
|
|
49
51
|
Requires-Dist: python-dateutil>=2.8.2
|
|
50
52
|
Requires-Dist: typing-extensions>=4.7.1
|
|
@@ -99,6 +101,7 @@ from numind import NuMindAsync
|
|
|
99
101
|
client = NuMindAsync(api_key="API_KEY")
|
|
100
102
|
requests = [{}]
|
|
101
103
|
|
|
104
|
+
|
|
102
105
|
async def main():
|
|
103
106
|
return [
|
|
104
107
|
await client.extract_structured_data(project_id, **request_kwargs)
|
|
@@ -120,14 +123,14 @@ template = {
|
|
|
120
123
|
"destination": {
|
|
121
124
|
"name": "verbatim-string",
|
|
122
125
|
"zip_code": "string",
|
|
123
|
-
"country": "string"
|
|
126
|
+
"country": "string",
|
|
124
127
|
},
|
|
125
128
|
"accommodation": "verbatim-string",
|
|
126
129
|
"activities": ["verbatim-string"],
|
|
127
130
|
"duration": {
|
|
128
131
|
"time_unit": ["day", "week", "month", "year"],
|
|
129
|
-
"time_quantity": "integer"
|
|
130
|
-
}
|
|
132
|
+
"time_quantity": "integer",
|
|
133
|
+
},
|
|
131
134
|
}
|
|
132
135
|
input_text = """My dream vacation would be a month-long escape to the stunning islands of Tahiti.
|
|
133
136
|
I’d stay in an overwater bungalow in Bora Bora, waking up to crystal-clear turquoise waters and breathtaking sunrises.
|
|
@@ -166,7 +169,7 @@ print(output)
|
|
|
166
169
|
|
|
167
170
|
### Create a good template
|
|
168
171
|
|
|
169
|
-
NuExtract uses JSON
|
|
172
|
+
NuExtract uses JSON extraction templates which specify the information to retrieve and their types, which are:
|
|
170
173
|
|
|
171
174
|
* **string**: a text, whose value can be abstract, i.e. totally free and can be deduced from calculations, reasoning, external knowledge;
|
|
172
175
|
* **verbatim-string**: a purely extractive text whose value must be present in the document. Some flexibility might be allowed on the formatting, e.g. new lines and escaped characters (e.g. `\n`) in a documents might be represented with a space;
|
|
@@ -182,7 +185,33 @@ Additionally, the value of a field can be:
|
|
|
182
185
|
* an **enum**, i.e. a list of elements to choose from of the form `["choice1", "choice2", ...]`. For values of this type, just set the value of the item to choose, e.g. "choice1", and do not set the value as an array containing the item such as `["choice1"]`;
|
|
183
186
|
* a **multi-enum**, i.e. a list from which multiple elements can be picked, of the form `[["choice1", "choice2", ...]]` (double square brackets).
|
|
184
187
|
|
|
185
|
-
|
|
188
|
+
### Converting JSON schema / Pydantic models to NuExtract template
|
|
189
|
+
|
|
190
|
+
The SDK offers a method to convert JSON schemas to NuExtract templates:
|
|
191
|
+
|
|
192
|
+
```Python
|
|
193
|
+
from typing import Literal
|
|
194
|
+
|
|
195
|
+
from pydantic import Field, BaseModel
|
|
196
|
+
from numind.nuextract_utils import convert_json_schema_to_nuextract_template
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
class HotelBooking(BaseModel):
|
|
200
|
+
city: str
|
|
201
|
+
check_in_date: str = Field(description="date")
|
|
202
|
+
check_out_date: str = Field(description="date")
|
|
203
|
+
number_of_guests: int
|
|
204
|
+
room_type: Literal["single", "double", "suite"]
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
template, dropped_branches, descriptions = convert_json_schema_to_nuextract_template(
|
|
208
|
+
HotelBooking.model_json_schema()
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
# {'check_in_date': 'date', 'check_out_date': 'date', 'city': 'string', 'number_of_guests': 'integer', 'room_type': ['single', 'double', 'suite']}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Inferring a template
|
|
186
215
|
|
|
187
216
|
The "infer_template" method allows to quickly create a template that you can start to work with from a text description.
|
|
188
217
|
|
|
@@ -270,41 +299,52 @@ markdown = client.extract_content(input_file)
|
|
|
270
299
|
|
|
271
300
|
### Extracting Information from Documents
|
|
272
301
|
|
|
273
|
-
Once your project is ready,
|
|
274
|
-
|
|
275
|
-
Each project has its own extraction endpoint:
|
|
302
|
+
Once your structured extraction project is ready, submit a document to the endpoint:
|
|
276
303
|
|
|
277
|
-
`https://nuextract.ai/api/
|
|
304
|
+
`https://nuextract.ai/api/structured-extraction/{structuredProjectId}/jobs`
|
|
278
305
|
|
|
279
|
-
|
|
306
|
+
To use it, you need:
|
|
280
307
|
|
|
281
308
|
- To create an API key in the [Account section](https://nuextract.ai/app/user?content=api)
|
|
282
|
-
- To replace `{
|
|
309
|
+
- To replace `{structuredProjectId}` by the project ID found in the API tab of the structured extraction project
|
|
283
310
|
|
|
284
|
-
|
|
311
|
+
This endpoint creates an asynchronous extraction job. Use the returned `jobId` to retrieve the result from:
|
|
312
|
+
|
|
313
|
+
`https://nuextract.ai/api/structured-extraction/jobs/{structuredExtractionJobId}`
|
|
314
|
+
|
|
315
|
+
You can test your extraction endpoint in your terminal using this command-line example with curl (make sure that you replace values of `STRUCTURED_PROJECT_ID` and `NUEXTRACT_API_KEY`):
|
|
285
316
|
|
|
286
317
|
```bash
|
|
287
318
|
NUEXTRACT_API_KEY=\"_your_api_key_here_\"; \\
|
|
288
|
-
|
|
289
|
-
curl \"https://nuextract.ai/api/
|
|
319
|
+
STRUCTURED_PROJECT_ID=\"a24fd84a-44ab-4fd4-95a9-bebd46e4768b\"; \\
|
|
320
|
+
JOB_ID=$(curl \"https://nuextract.ai/api/structured-extraction/${STRUCTURED_PROJECT_ID}/jobs\" \\
|
|
290
321
|
-X POST \\
|
|
291
322
|
-H \"Authorization: Bearer ${NUEXTRACT_API_KEY}\" \\
|
|
292
|
-
-
|
|
293
|
-
|
|
323
|
+
-F \"file=@${FILE_NAME}\" | jq -r '.jobId')
|
|
324
|
+
|
|
325
|
+
curl \"https://nuextract.ai/api/structured-extraction/jobs/${JOB_ID}\" \\
|
|
326
|
+
-H \"Authorization: Bearer ${NUEXTRACT_API_KEY}\"
|
|
294
327
|
```
|
|
295
328
|
|
|
296
329
|
You can also use the [Python SDK](https://github.com/numindai/nuextract-platform-sdk#documentation), by replacing the
|
|
297
|
-
`project_id`, `api_key` and
|
|
330
|
+
`project_id`, `api_key` and request values in the following code:
|
|
298
331
|
|
|
299
332
|
```python
|
|
300
|
-
|
|
301
|
-
from
|
|
333
|
+
import asyncio
|
|
334
|
+
from numind import NuMindAsync
|
|
302
335
|
|
|
303
|
-
client =
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
336
|
+
client = NuMindAsync(api_key=api_key)
|
|
337
|
+
requests = [{}]
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
async def main():
|
|
341
|
+
return [
|
|
342
|
+
await client.extract_structured_data(project_id, **request_kwargs)
|
|
343
|
+
for request_kwargs in requests
|
|
344
|
+
]
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
responses = asyncio.run(main())
|
|
308
348
|
```
|
|
309
349
|
|
|
310
350
|
### Using the Platform via API
|
|
@@ -315,26 +355,38 @@ Everything you can do on the web platform can be done via API -
|
|
|
315
355
|
|
|
316
356
|
#### Main resources
|
|
317
357
|
|
|
318
|
-
- **Project** - user project, identified by `
|
|
358
|
+
- **Structured Extraction Project** - user project for structured extraction, identified by `structuredProjectId`
|
|
359
|
+
- **Content Extraction Project** - user project for content extraction, identified by `contentProjectId`
|
|
319
360
|
- **File** - uploaded file, identified by `fileId`, stored up to two weeks if not tied to an **Example**
|
|
320
|
-
- **Document** - internal representation of a document, identified by `documentId`, created from a File
|
|
321
|
-
- **Example** - document-extraction pair given to teach NuExtract, identified by `
|
|
361
|
+
- **Document** - internal representation of a document, identified by `documentId`, created from a File, stored up to two weeks if not tied to an Example
|
|
362
|
+
- **Example** - document-extraction pair given to teach NuExtract, identified by `structuredExampleId`, created from a Document
|
|
363
|
+
- **Job** - asynchronous extraction task, identified by `structuredExtractionJobId`
|
|
322
364
|
|
|
323
365
|
#### Most common API operations
|
|
324
366
|
|
|
325
|
-
|
|
326
|
-
|
|
367
|
+
##### Structured extraction
|
|
368
|
+
|
|
369
|
+
- Creating a **Structured Extraction Project** via `POST /api/structured-extraction`
|
|
370
|
+
- Changing the template of a **Structured Extraction Project** via `PATCH /api/structured-extraction/{structuredProjectId}`
|
|
371
|
+
- Changing settings of a **Structured Extraction Project** via `PATCH /api/structured-extraction/{structuredProjectId}/settings`
|
|
372
|
+
- Uploading a file to a **File** via `POST /api/files` (up to 2 weeks storage)
|
|
373
|
+
- Starting a structured extraction **Job** via `POST /api/structured-extraction/{structuredProjectId}/jobs`
|
|
374
|
+
- Reading a structured extraction **Job** result via `GET /api/structured-extraction/jobs/{structuredExtractionJobId}`
|
|
375
|
+
- Adding an **Example** to a **Structured Extraction Project** via `POST /api/structured-extraction/{structuredProjectId}/examples`
|
|
376
|
+
|
|
377
|
+
##### Content extraction
|
|
378
|
+
|
|
379
|
+
- Creating a **Content Extraction Project** via `POST /api/content-extraction`
|
|
380
|
+
- Changing settings of a **Content Extraction Project** via `PATCH /api/content-extraction/{contentProjectId}/settings`
|
|
327
381
|
- Uploading a file to a **File** via `POST /api/files` (up to 2 weeks storage)
|
|
328
|
-
-
|
|
329
|
-
-
|
|
330
|
-
- Changing Project settings via `POST /api/projects/{projectId}/settings`
|
|
331
|
-
- Locking a **Project** via `POST /api/projects/{projectId}/lock`
|
|
382
|
+
- Starting a content extraction **Job** via `POST /api/content-extraction/jobs`
|
|
383
|
+
- Reading a content extraction **Job** result via `GET /api/content-extraction/jobs/{contentExtractionJobId}`
|
|
332
384
|
|
|
333
385
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
334
386
|
|
|
335
387
|
- API version:
|
|
336
388
|
- Package version: 1.0.0
|
|
337
|
-
- Generator version: 7.
|
|
389
|
+
- Generator version: 7.22.0
|
|
338
390
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
|
339
391
|
|
|
340
392
|
### Documentation for API Endpoints
|
|
@@ -345,6 +397,7 @@ Class | Method | HTTP request | Description
|
|
|
345
397
|
------------ | ------------- | ------------- | -------------
|
|
346
398
|
*ContentExtractionApi* | [**get_api_content_extraction_jobs_contentextractionjobid**](docs/ContentExtractionApi.md#get_api_content_extraction_jobs_contentextractionjobid) | **GET** /api/content-extraction/jobs/{contentExtractionJobId} |
|
|
347
399
|
*ContentExtractionApi* | [**post_api_content_extraction_jobs**](docs/ContentExtractionApi.md#post_api_content_extraction_jobs) | **POST** /api/content-extraction/jobs |
|
|
400
|
+
*ContentExtractionProjectManagementApi* | [**delete_api_content_extraction_contentprojectid**](docs/ContentExtractionProjectManagementApi.md#delete_api_content_extraction_contentprojectid) | **DELETE** /api/content-extraction/{contentProjectId} |
|
|
348
401
|
*ContentExtractionProjectManagementApi* | [**get_api_content_extraction**](docs/ContentExtractionProjectManagementApi.md#get_api_content_extraction) | **GET** /api/content-extraction |
|
|
349
402
|
*ContentExtractionProjectManagementApi* | [**patch_api_content_extraction_contentprojectid**](docs/ContentExtractionProjectManagementApi.md#patch_api_content_extraction_contentprojectid) | **PATCH** /api/content-extraction/{contentProjectId} |
|
|
350
403
|
*ContentExtractionProjectManagementApi* | [**patch_api_content_extraction_contentprojectid_settings**](docs/ContentExtractionProjectManagementApi.md#patch_api_content_extraction_contentprojectid_settings) | **PATCH** /api/content-extraction/{contentProjectId}/settings |
|
|
@@ -356,7 +409,7 @@ Class | Method | HTTP request | Description
|
|
|
356
409
|
*DefaultApi* | [**get_api_ping**](docs/DefaultApi.md#get_api_ping) | **GET** /api/ping |
|
|
357
410
|
*DefaultApi* | [**get_api_version**](docs/DefaultApi.md#get_api_version) | **GET** /api/version |
|
|
358
411
|
*DocumentsApi* | [**get_api_documents_documentid**](docs/DocumentsApi.md#get_api_documents_documentid) | **GET** /api/documents/{documentId} |
|
|
359
|
-
*DocumentsApi* | [**
|
|
412
|
+
*DocumentsApi* | [**get_api_documents_documentid_parts_partindex_image**](docs/DocumentsApi.md#get_api_documents_documentid_parts_partindex_image) | **GET** /api/documents/{documentId}/parts/{partIndex}/image |
|
|
360
413
|
*DocumentsApi* | [**post_api_documents_documentid_new_owner**](docs/DocumentsApi.md#post_api_documents_documentid_new_owner) | **POST** /api/documents/{documentId}/new-owner |
|
|
361
414
|
*DocumentsApi* | [**post_api_documents_text**](docs/DocumentsApi.md#post_api_documents_text) | **POST** /api/documents/text |
|
|
362
415
|
*FilesApi* | [**get_api_files_fileid**](docs/FilesApi.md#get_api_files_fileid) | **GET** /api/files/{fileId} |
|
|
@@ -371,6 +424,9 @@ Class | Method | HTTP request | Description
|
|
|
371
424
|
*JobsApi* | [**get_api_jobs**](docs/JobsApi.md#get_api_jobs) | **GET** /api/jobs |
|
|
372
425
|
*JobsApi* | [**get_api_jobs_jobid_status**](docs/JobsApi.md#get_api_jobs_jobid_status) | **GET** /api/jobs/{jobId}/status |
|
|
373
426
|
*JobsApi* | [**get_api_jobs_jobid_stream**](docs/JobsApi.md#get_api_jobs_jobid_stream) | **GET** /api/jobs/{jobId}/stream |
|
|
427
|
+
*JobsApi* | [**post_api_jobs_jobid_cancel**](docs/JobsApi.md#post_api_jobs_jobid_cancel) | **POST** /api/jobs/{jobId}/cancel |
|
|
428
|
+
*ProjectImportExportApi* | [**get_api_extraction_projectkind_projectid_export**](docs/ProjectImportExportApi.md#get_api_extraction_projectkind_projectid_export) | **GET** /api/extraction/{projectKind}/{projectId}/export |
|
|
429
|
+
*ProjectImportExportApi* | [**post_api_extraction_import**](docs/ProjectImportExportApi.md#post_api_extraction_import) | **POST** /api/extraction/import |
|
|
374
430
|
*StructuredDataExtractionApi* | [**get_api_structured_extraction_jobs_structuredextractionjobid**](docs/StructuredDataExtractionApi.md#get_api_structured_extraction_jobs_structuredextractionjobid) | **GET** /api/structured-extraction/jobs/{structuredExtractionJobId} |
|
|
375
431
|
*StructuredDataExtractionApi* | [**post_api_structured_extraction_structuredprojectid_jobs**](docs/StructuredDataExtractionApi.md#post_api_structured_extraction_structuredprojectid_jobs) | **POST** /api/structured-extraction/{structuredProjectId}/jobs |
|
|
376
432
|
*StructuredExtractionExamplesApi* | [**delete_api_structured_extraction_structuredprojectid_examples_structuredexampleid**](docs/StructuredExtractionExamplesApi.md#delete_api_structured_extraction_structuredprojectid_examples_structuredexampleid) | **DELETE** /api/structured-extraction/{structuredProjectId}/examples/{structuredExampleId} |
|
|
@@ -381,6 +437,7 @@ Class | Method | HTTP request | Description
|
|
|
381
437
|
*StructuredExtractionProjectManagementApi* | [**delete_api_structured_extraction_structuredprojectid**](docs/StructuredExtractionProjectManagementApi.md#delete_api_structured_extraction_structuredprojectid) | **DELETE** /api/structured-extraction/{structuredProjectId} |
|
|
382
438
|
*StructuredExtractionProjectManagementApi* | [**get_api_structured_extraction**](docs/StructuredExtractionProjectManagementApi.md#get_api_structured_extraction) | **GET** /api/structured-extraction |
|
|
383
439
|
*StructuredExtractionProjectManagementApi* | [**get_api_structured_extraction_structuredprojectid**](docs/StructuredExtractionProjectManagementApi.md#get_api_structured_extraction_structuredprojectid) | **GET** /api/structured-extraction/{structuredProjectId} |
|
|
440
|
+
*StructuredExtractionProjectManagementApi* | [**get_api_structured_extraction_structuredprojectid_thumbnail**](docs/StructuredExtractionProjectManagementApi.md#get_api_structured_extraction_structuredprojectid_thumbnail) | **GET** /api/structured-extraction/{structuredProjectId}/thumbnail |
|
|
384
441
|
*StructuredExtractionProjectManagementApi* | [**patch_api_structured_extraction_structuredprojectid**](docs/StructuredExtractionProjectManagementApi.md#patch_api_structured_extraction_structuredprojectid) | **PATCH** /api/structured-extraction/{structuredProjectId} |
|
|
385
442
|
*StructuredExtractionProjectManagementApi* | [**patch_api_structured_extraction_structuredprojectid_settings**](docs/StructuredExtractionProjectManagementApi.md#patch_api_structured_extraction_structuredprojectid_settings) | **PATCH** /api/structured-extraction/{structuredProjectId}/settings |
|
|
386
443
|
*StructuredExtractionProjectManagementApi* | [**post_api_structured_extraction**](docs/StructuredExtractionProjectManagementApi.md#post_api_structured_extraction) | **POST** /api/structured-extraction |
|
|
@@ -396,6 +453,7 @@ Class | Method | HTTP request | Description
|
|
|
396
453
|
|
|
397
454
|
### Documentation For Models
|
|
398
455
|
|
|
456
|
+
- [Content](docs/Content.md)
|
|
399
457
|
- [ContentExtractionResponse](docs/ContentExtractionResponse.md)
|
|
400
458
|
- [ContentProjectResponse](docs/ContentProjectResponse.md)
|
|
401
459
|
- [ContentProjectSettingsResponse](docs/ContentProjectSettingsResponse.md)
|
|
@@ -409,16 +467,16 @@ Class | Method | HTTP request | Description
|
|
|
409
467
|
- [FileResponse](docs/FileResponse.md)
|
|
410
468
|
- [HealthResponse](docs/HealthResponse.md)
|
|
411
469
|
- [ImageInfo](docs/ImageInfo.md)
|
|
470
|
+
- [ImportProjectResponse](docs/ImportProjectResponse.md)
|
|
412
471
|
- [InferenceStatus](docs/InferenceStatus.md)
|
|
413
472
|
- [InferenceValidationError](docs/InferenceValidationError.md)
|
|
414
473
|
- [InformationResponse](docs/InformationResponse.md)
|
|
415
474
|
- [InvalidInformation](docs/InvalidInformation.md)
|
|
416
475
|
- [JobIdResponse](docs/JobIdResponse.md)
|
|
417
|
-
- [JobResponse](docs/JobResponse.md)
|
|
418
476
|
- [JobStatusResponse](docs/JobStatusResponse.md)
|
|
419
|
-
- [
|
|
420
|
-
- [PaginatedResponseStructuredExampleResponse](docs/PaginatedResponseStructuredExampleResponse.md)
|
|
477
|
+
- [PaginatedResponseT](docs/PaginatedResponseT.md)
|
|
421
478
|
- [ServiceStatus](docs/ServiceStatus.md)
|
|
479
|
+
- [Structured](docs/Structured.md)
|
|
422
480
|
- [StructuredExampleResponse](docs/StructuredExampleResponse.md)
|
|
423
481
|
- [StructuredExtractionResponse](docs/StructuredExtractionResponse.md)
|
|
424
482
|
- [StructuredInferenceExample](docs/StructuredInferenceExample.md)
|
|
@@ -36,6 +36,7 @@ from numind import NuMindAsync
|
|
|
36
36
|
client = NuMindAsync(api_key="API_KEY")
|
|
37
37
|
requests = [{}]
|
|
38
38
|
|
|
39
|
+
|
|
39
40
|
async def main():
|
|
40
41
|
return [
|
|
41
42
|
await client.extract_structured_data(project_id, **request_kwargs)
|
|
@@ -57,14 +58,14 @@ template = {
|
|
|
57
58
|
"destination": {
|
|
58
59
|
"name": "verbatim-string",
|
|
59
60
|
"zip_code": "string",
|
|
60
|
-
"country": "string"
|
|
61
|
+
"country": "string",
|
|
61
62
|
},
|
|
62
63
|
"accommodation": "verbatim-string",
|
|
63
64
|
"activities": ["verbatim-string"],
|
|
64
65
|
"duration": {
|
|
65
66
|
"time_unit": ["day", "week", "month", "year"],
|
|
66
|
-
"time_quantity": "integer"
|
|
67
|
-
}
|
|
67
|
+
"time_quantity": "integer",
|
|
68
|
+
},
|
|
68
69
|
}
|
|
69
70
|
input_text = """My dream vacation would be a month-long escape to the stunning islands of Tahiti.
|
|
70
71
|
I’d stay in an overwater bungalow in Bora Bora, waking up to crystal-clear turquoise waters and breathtaking sunrises.
|
|
@@ -103,7 +104,7 @@ print(output)
|
|
|
103
104
|
|
|
104
105
|
### Create a good template
|
|
105
106
|
|
|
106
|
-
NuExtract uses JSON
|
|
107
|
+
NuExtract uses JSON extraction templates which specify the information to retrieve and their types, which are:
|
|
107
108
|
|
|
108
109
|
* **string**: a text, whose value can be abstract, i.e. totally free and can be deduced from calculations, reasoning, external knowledge;
|
|
109
110
|
* **verbatim-string**: a purely extractive text whose value must be present in the document. Some flexibility might be allowed on the formatting, e.g. new lines and escaped characters (e.g. `\n`) in a documents might be represented with a space;
|
|
@@ -119,7 +120,33 @@ Additionally, the value of a field can be:
|
|
|
119
120
|
* an **enum**, i.e. a list of elements to choose from of the form `["choice1", "choice2", ...]`. For values of this type, just set the value of the item to choose, e.g. "choice1", and do not set the value as an array containing the item such as `["choice1"]`;
|
|
120
121
|
* a **multi-enum**, i.e. a list from which multiple elements can be picked, of the form `[["choice1", "choice2", ...]]` (double square brackets).
|
|
121
122
|
|
|
122
|
-
|
|
123
|
+
### Converting JSON schema / Pydantic models to NuExtract template
|
|
124
|
+
|
|
125
|
+
The SDK offers a method to convert JSON schemas to NuExtract templates:
|
|
126
|
+
|
|
127
|
+
```Python
|
|
128
|
+
from typing import Literal
|
|
129
|
+
|
|
130
|
+
from pydantic import Field, BaseModel
|
|
131
|
+
from numind.nuextract_utils import convert_json_schema_to_nuextract_template
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
class HotelBooking(BaseModel):
|
|
135
|
+
city: str
|
|
136
|
+
check_in_date: str = Field(description="date")
|
|
137
|
+
check_out_date: str = Field(description="date")
|
|
138
|
+
number_of_guests: int
|
|
139
|
+
room_type: Literal["single", "double", "suite"]
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
template, dropped_branches, descriptions = convert_json_schema_to_nuextract_template(
|
|
143
|
+
HotelBooking.model_json_schema()
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
# {'check_in_date': 'date', 'check_out_date': 'date', 'city': 'string', 'number_of_guests': 'integer', 'room_type': ['single', 'double', 'suite']}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Inferring a template
|
|
123
150
|
|
|
124
151
|
The "infer_template" method allows to quickly create a template that you can start to work with from a text description.
|
|
125
152
|
|
|
@@ -207,41 +234,52 @@ markdown = client.extract_content(input_file)
|
|
|
207
234
|
|
|
208
235
|
### Extracting Information from Documents
|
|
209
236
|
|
|
210
|
-
Once your project is ready,
|
|
211
|
-
|
|
212
|
-
Each project has its own extraction endpoint:
|
|
237
|
+
Once your structured extraction project is ready, submit a document to the endpoint:
|
|
213
238
|
|
|
214
|
-
`https://nuextract.ai/api/
|
|
239
|
+
`https://nuextract.ai/api/structured-extraction/{structuredProjectId}/jobs`
|
|
215
240
|
|
|
216
|
-
|
|
241
|
+
To use it, you need:
|
|
217
242
|
|
|
218
243
|
- To create an API key in the [Account section](https://nuextract.ai/app/user?content=api)
|
|
219
|
-
- To replace `{
|
|
244
|
+
- To replace `{structuredProjectId}` by the project ID found in the API tab of the structured extraction project
|
|
220
245
|
|
|
221
|
-
|
|
246
|
+
This endpoint creates an asynchronous extraction job. Use the returned `jobId` to retrieve the result from:
|
|
247
|
+
|
|
248
|
+
`https://nuextract.ai/api/structured-extraction/jobs/{structuredExtractionJobId}`
|
|
249
|
+
|
|
250
|
+
You can test your extraction endpoint in your terminal using this command-line example with curl (make sure that you replace values of `STRUCTURED_PROJECT_ID` and `NUEXTRACT_API_KEY`):
|
|
222
251
|
|
|
223
252
|
```bash
|
|
224
253
|
NUEXTRACT_API_KEY=\"_your_api_key_here_\"; \\
|
|
225
|
-
|
|
226
|
-
curl \"https://nuextract.ai/api/
|
|
254
|
+
STRUCTURED_PROJECT_ID=\"a24fd84a-44ab-4fd4-95a9-bebd46e4768b\"; \\
|
|
255
|
+
JOB_ID=$(curl \"https://nuextract.ai/api/structured-extraction/${STRUCTURED_PROJECT_ID}/jobs\" \\
|
|
227
256
|
-X POST \\
|
|
228
257
|
-H \"Authorization: Bearer ${NUEXTRACT_API_KEY}\" \\
|
|
229
|
-
-
|
|
230
|
-
|
|
258
|
+
-F \"file=@${FILE_NAME}\" | jq -r '.jobId')
|
|
259
|
+
|
|
260
|
+
curl \"https://nuextract.ai/api/structured-extraction/jobs/${JOB_ID}\" \\
|
|
261
|
+
-H \"Authorization: Bearer ${NUEXTRACT_API_KEY}\"
|
|
231
262
|
```
|
|
232
263
|
|
|
233
264
|
You can also use the [Python SDK](https://github.com/numindai/nuextract-platform-sdk#documentation), by replacing the
|
|
234
|
-
`project_id`, `api_key` and
|
|
265
|
+
`project_id`, `api_key` and request values in the following code:
|
|
235
266
|
|
|
236
267
|
```python
|
|
237
|
-
|
|
238
|
-
from
|
|
268
|
+
import asyncio
|
|
269
|
+
from numind import NuMindAsync
|
|
239
270
|
|
|
240
|
-
client =
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
271
|
+
client = NuMindAsync(api_key=api_key)
|
|
272
|
+
requests = [{}]
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
async def main():
|
|
276
|
+
return [
|
|
277
|
+
await client.extract_structured_data(project_id, **request_kwargs)
|
|
278
|
+
for request_kwargs in requests
|
|
279
|
+
]
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
responses = asyncio.run(main())
|
|
245
283
|
```
|
|
246
284
|
|
|
247
285
|
### Using the Platform via API
|
|
@@ -252,26 +290,38 @@ Everything you can do on the web platform can be done via API -
|
|
|
252
290
|
|
|
253
291
|
#### Main resources
|
|
254
292
|
|
|
255
|
-
- **Project** - user project, identified by `
|
|
293
|
+
- **Structured Extraction Project** - user project for structured extraction, identified by `structuredProjectId`
|
|
294
|
+
- **Content Extraction Project** - user project for content extraction, identified by `contentProjectId`
|
|
256
295
|
- **File** - uploaded file, identified by `fileId`, stored up to two weeks if not tied to an **Example**
|
|
257
|
-
- **Document** - internal representation of a document, identified by `documentId`, created from a File
|
|
258
|
-
- **Example** - document-extraction pair given to teach NuExtract, identified by `
|
|
296
|
+
- **Document** - internal representation of a document, identified by `documentId`, created from a File, stored up to two weeks if not tied to an Example
|
|
297
|
+
- **Example** - document-extraction pair given to teach NuExtract, identified by `structuredExampleId`, created from a Document
|
|
298
|
+
- **Job** - asynchronous extraction task, identified by `structuredExtractionJobId`
|
|
259
299
|
|
|
260
300
|
#### Most common API operations
|
|
261
301
|
|
|
262
|
-
|
|
263
|
-
|
|
302
|
+
##### Structured extraction
|
|
303
|
+
|
|
304
|
+
- Creating a **Structured Extraction Project** via `POST /api/structured-extraction`
|
|
305
|
+
- Changing the template of a **Structured Extraction Project** via `PATCH /api/structured-extraction/{structuredProjectId}`
|
|
306
|
+
- Changing settings of a **Structured Extraction Project** via `PATCH /api/structured-extraction/{structuredProjectId}/settings`
|
|
307
|
+
- Uploading a file to a **File** via `POST /api/files` (up to 2 weeks storage)
|
|
308
|
+
- Starting a structured extraction **Job** via `POST /api/structured-extraction/{structuredProjectId}/jobs`
|
|
309
|
+
- Reading a structured extraction **Job** result via `GET /api/structured-extraction/jobs/{structuredExtractionJobId}`
|
|
310
|
+
- Adding an **Example** to a **Structured Extraction Project** via `POST /api/structured-extraction/{structuredProjectId}/examples`
|
|
311
|
+
|
|
312
|
+
##### Content extraction
|
|
313
|
+
|
|
314
|
+
- Creating a **Content Extraction Project** via `POST /api/content-extraction`
|
|
315
|
+
- Changing settings of a **Content Extraction Project** via `PATCH /api/content-extraction/{contentProjectId}/settings`
|
|
264
316
|
- Uploading a file to a **File** via `POST /api/files` (up to 2 weeks storage)
|
|
265
|
-
-
|
|
266
|
-
-
|
|
267
|
-
- Changing Project settings via `POST /api/projects/{projectId}/settings`
|
|
268
|
-
- Locking a **Project** via `POST /api/projects/{projectId}/lock`
|
|
317
|
+
- Starting a content extraction **Job** via `POST /api/content-extraction/jobs`
|
|
318
|
+
- Reading a content extraction **Job** result via `GET /api/content-extraction/jobs/{contentExtractionJobId}`
|
|
269
319
|
|
|
270
320
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
271
321
|
|
|
272
322
|
- API version:
|
|
273
323
|
- Package version: 1.0.0
|
|
274
|
-
- Generator version: 7.
|
|
324
|
+
- Generator version: 7.22.0
|
|
275
325
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
|
276
326
|
|
|
277
327
|
### Documentation for API Endpoints
|
|
@@ -282,6 +332,7 @@ Class | Method | HTTP request | Description
|
|
|
282
332
|
------------ | ------------- | ------------- | -------------
|
|
283
333
|
*ContentExtractionApi* | [**get_api_content_extraction_jobs_contentextractionjobid**](docs/ContentExtractionApi.md#get_api_content_extraction_jobs_contentextractionjobid) | **GET** /api/content-extraction/jobs/{contentExtractionJobId} |
|
|
284
334
|
*ContentExtractionApi* | [**post_api_content_extraction_jobs**](docs/ContentExtractionApi.md#post_api_content_extraction_jobs) | **POST** /api/content-extraction/jobs |
|
|
335
|
+
*ContentExtractionProjectManagementApi* | [**delete_api_content_extraction_contentprojectid**](docs/ContentExtractionProjectManagementApi.md#delete_api_content_extraction_contentprojectid) | **DELETE** /api/content-extraction/{contentProjectId} |
|
|
285
336
|
*ContentExtractionProjectManagementApi* | [**get_api_content_extraction**](docs/ContentExtractionProjectManagementApi.md#get_api_content_extraction) | **GET** /api/content-extraction |
|
|
286
337
|
*ContentExtractionProjectManagementApi* | [**patch_api_content_extraction_contentprojectid**](docs/ContentExtractionProjectManagementApi.md#patch_api_content_extraction_contentprojectid) | **PATCH** /api/content-extraction/{contentProjectId} |
|
|
287
338
|
*ContentExtractionProjectManagementApi* | [**patch_api_content_extraction_contentprojectid_settings**](docs/ContentExtractionProjectManagementApi.md#patch_api_content_extraction_contentprojectid_settings) | **PATCH** /api/content-extraction/{contentProjectId}/settings |
|
|
@@ -293,7 +344,7 @@ Class | Method | HTTP request | Description
|
|
|
293
344
|
*DefaultApi* | [**get_api_ping**](docs/DefaultApi.md#get_api_ping) | **GET** /api/ping |
|
|
294
345
|
*DefaultApi* | [**get_api_version**](docs/DefaultApi.md#get_api_version) | **GET** /api/version |
|
|
295
346
|
*DocumentsApi* | [**get_api_documents_documentid**](docs/DocumentsApi.md#get_api_documents_documentid) | **GET** /api/documents/{documentId} |
|
|
296
|
-
*DocumentsApi* | [**
|
|
347
|
+
*DocumentsApi* | [**get_api_documents_documentid_parts_partindex_image**](docs/DocumentsApi.md#get_api_documents_documentid_parts_partindex_image) | **GET** /api/documents/{documentId}/parts/{partIndex}/image |
|
|
297
348
|
*DocumentsApi* | [**post_api_documents_documentid_new_owner**](docs/DocumentsApi.md#post_api_documents_documentid_new_owner) | **POST** /api/documents/{documentId}/new-owner |
|
|
298
349
|
*DocumentsApi* | [**post_api_documents_text**](docs/DocumentsApi.md#post_api_documents_text) | **POST** /api/documents/text |
|
|
299
350
|
*FilesApi* | [**get_api_files_fileid**](docs/FilesApi.md#get_api_files_fileid) | **GET** /api/files/{fileId} |
|
|
@@ -308,6 +359,9 @@ Class | Method | HTTP request | Description
|
|
|
308
359
|
*JobsApi* | [**get_api_jobs**](docs/JobsApi.md#get_api_jobs) | **GET** /api/jobs |
|
|
309
360
|
*JobsApi* | [**get_api_jobs_jobid_status**](docs/JobsApi.md#get_api_jobs_jobid_status) | **GET** /api/jobs/{jobId}/status |
|
|
310
361
|
*JobsApi* | [**get_api_jobs_jobid_stream**](docs/JobsApi.md#get_api_jobs_jobid_stream) | **GET** /api/jobs/{jobId}/stream |
|
|
362
|
+
*JobsApi* | [**post_api_jobs_jobid_cancel**](docs/JobsApi.md#post_api_jobs_jobid_cancel) | **POST** /api/jobs/{jobId}/cancel |
|
|
363
|
+
*ProjectImportExportApi* | [**get_api_extraction_projectkind_projectid_export**](docs/ProjectImportExportApi.md#get_api_extraction_projectkind_projectid_export) | **GET** /api/extraction/{projectKind}/{projectId}/export |
|
|
364
|
+
*ProjectImportExportApi* | [**post_api_extraction_import**](docs/ProjectImportExportApi.md#post_api_extraction_import) | **POST** /api/extraction/import |
|
|
311
365
|
*StructuredDataExtractionApi* | [**get_api_structured_extraction_jobs_structuredextractionjobid**](docs/StructuredDataExtractionApi.md#get_api_structured_extraction_jobs_structuredextractionjobid) | **GET** /api/structured-extraction/jobs/{structuredExtractionJobId} |
|
|
312
366
|
*StructuredDataExtractionApi* | [**post_api_structured_extraction_structuredprojectid_jobs**](docs/StructuredDataExtractionApi.md#post_api_structured_extraction_structuredprojectid_jobs) | **POST** /api/structured-extraction/{structuredProjectId}/jobs |
|
|
313
367
|
*StructuredExtractionExamplesApi* | [**delete_api_structured_extraction_structuredprojectid_examples_structuredexampleid**](docs/StructuredExtractionExamplesApi.md#delete_api_structured_extraction_structuredprojectid_examples_structuredexampleid) | **DELETE** /api/structured-extraction/{structuredProjectId}/examples/{structuredExampleId} |
|
|
@@ -318,6 +372,7 @@ Class | Method | HTTP request | Description
|
|
|
318
372
|
*StructuredExtractionProjectManagementApi* | [**delete_api_structured_extraction_structuredprojectid**](docs/StructuredExtractionProjectManagementApi.md#delete_api_structured_extraction_structuredprojectid) | **DELETE** /api/structured-extraction/{structuredProjectId} |
|
|
319
373
|
*StructuredExtractionProjectManagementApi* | [**get_api_structured_extraction**](docs/StructuredExtractionProjectManagementApi.md#get_api_structured_extraction) | **GET** /api/structured-extraction |
|
|
320
374
|
*StructuredExtractionProjectManagementApi* | [**get_api_structured_extraction_structuredprojectid**](docs/StructuredExtractionProjectManagementApi.md#get_api_structured_extraction_structuredprojectid) | **GET** /api/structured-extraction/{structuredProjectId} |
|
|
375
|
+
*StructuredExtractionProjectManagementApi* | [**get_api_structured_extraction_structuredprojectid_thumbnail**](docs/StructuredExtractionProjectManagementApi.md#get_api_structured_extraction_structuredprojectid_thumbnail) | **GET** /api/structured-extraction/{structuredProjectId}/thumbnail |
|
|
321
376
|
*StructuredExtractionProjectManagementApi* | [**patch_api_structured_extraction_structuredprojectid**](docs/StructuredExtractionProjectManagementApi.md#patch_api_structured_extraction_structuredprojectid) | **PATCH** /api/structured-extraction/{structuredProjectId} |
|
|
322
377
|
*StructuredExtractionProjectManagementApi* | [**patch_api_structured_extraction_structuredprojectid_settings**](docs/StructuredExtractionProjectManagementApi.md#patch_api_structured_extraction_structuredprojectid_settings) | **PATCH** /api/structured-extraction/{structuredProjectId}/settings |
|
|
323
378
|
*StructuredExtractionProjectManagementApi* | [**post_api_structured_extraction**](docs/StructuredExtractionProjectManagementApi.md#post_api_structured_extraction) | **POST** /api/structured-extraction |
|
|
@@ -333,6 +388,7 @@ Class | Method | HTTP request | Description
|
|
|
333
388
|
|
|
334
389
|
### Documentation For Models
|
|
335
390
|
|
|
391
|
+
- [Content](docs/Content.md)
|
|
336
392
|
- [ContentExtractionResponse](docs/ContentExtractionResponse.md)
|
|
337
393
|
- [ContentProjectResponse](docs/ContentProjectResponse.md)
|
|
338
394
|
- [ContentProjectSettingsResponse](docs/ContentProjectSettingsResponse.md)
|
|
@@ -346,16 +402,16 @@ Class | Method | HTTP request | Description
|
|
|
346
402
|
- [FileResponse](docs/FileResponse.md)
|
|
347
403
|
- [HealthResponse](docs/HealthResponse.md)
|
|
348
404
|
- [ImageInfo](docs/ImageInfo.md)
|
|
405
|
+
- [ImportProjectResponse](docs/ImportProjectResponse.md)
|
|
349
406
|
- [InferenceStatus](docs/InferenceStatus.md)
|
|
350
407
|
- [InferenceValidationError](docs/InferenceValidationError.md)
|
|
351
408
|
- [InformationResponse](docs/InformationResponse.md)
|
|
352
409
|
- [InvalidInformation](docs/InvalidInformation.md)
|
|
353
410
|
- [JobIdResponse](docs/JobIdResponse.md)
|
|
354
|
-
- [JobResponse](docs/JobResponse.md)
|
|
355
411
|
- [JobStatusResponse](docs/JobStatusResponse.md)
|
|
356
|
-
- [
|
|
357
|
-
- [PaginatedResponseStructuredExampleResponse](docs/PaginatedResponseStructuredExampleResponse.md)
|
|
412
|
+
- [PaginatedResponseT](docs/PaginatedResponseT.md)
|
|
358
413
|
- [ServiceStatus](docs/ServiceStatus.md)
|
|
414
|
+
- [Structured](docs/Structured.md)
|
|
359
415
|
- [StructuredExampleResponse](docs/StructuredExampleResponse.md)
|
|
360
416
|
- [StructuredExtractionResponse](docs/StructuredExtractionResponse.md)
|
|
361
417
|
- [StructuredInferenceExample](docs/StructuredInferenceExample.md)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Content
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## Properties
|
|
5
|
+
|
|
6
|
+
Name | Type | Description | Notes
|
|
7
|
+
------------ | ------------- | ------------- | -------------
|
|
8
|
+
**project** | [**ContentProjectResponse**](ContentProjectResponse.md) | |
|
|
9
|
+
**type** | **str** | |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```python
|
|
14
|
+
from numind.models.content import Content
|
|
15
|
+
|
|
16
|
+
# TODO update the JSON string below
|
|
17
|
+
json = "{}"
|
|
18
|
+
# create an instance of Content from a JSON string
|
|
19
|
+
content_instance = Content.from_json(json)
|
|
20
|
+
# print the JSON string representation of the object
|
|
21
|
+
print(Content.to_json())
|
|
22
|
+
|
|
23
|
+
# convert the object into a dict
|
|
24
|
+
content_dict = content_instance.to_dict()
|
|
25
|
+
# create an instance of Content from a dict
|
|
26
|
+
content_from_dict = Content.from_dict(content_dict)
|
|
27
|
+
```
|
|
28
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
29
|
+
|
|
30
|
+
|