From 0d0543e9721a3bf2e043d78859185831b6001c20 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 12:42:36 -0700 Subject: [PATCH 01/36] WIP --- site/guide/validation/map-and-assess-evidence.qmd | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/site/guide/validation/map-and-assess-evidence.qmd b/site/guide/validation/map-and-assess-evidence.qmd index 964b05fc7..a44c06d3a 100644 --- a/site/guide/validation/map-and-assess-evidence.qmd +++ b/site/guide/validation/map-and-assess-evidence.qmd @@ -31,6 +31,13 @@ Assess Evidence Both features are designed to accelerate validation without replacing your judgment. You always review and approve suggestions before they become part of the report. +::: {.callout} +## Automatic mapping and assessment currently draws only from Development type documents. + +To manually add and assess evidence for other document types, refer to [Assess compliance](/guide/validation/assess-compliance.qmd). + +::: + ## Map evidence to guidelines :::: {.column-margin} From ea641827764ef0bf3b52c7a45f6bbe0508af3241 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 13:14:16 -0700 Subject: [PATCH 02/36] Edit: Map and assess evidence --- .../validation/map-and-assess-evidence.qmd | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/site/guide/validation/map-and-assess-evidence.qmd b/site/guide/validation/map-and-assess-evidence.qmd index a44c06d3a..c853403e5 100644 --- a/site/guide/validation/map-and-assess-evidence.qmd +++ b/site/guide/validation/map-and-assess-evidence.qmd @@ -32,7 +32,7 @@ Assess Evidence Both features are designed to accelerate validation without replacing your judgment. You always review and approve suggestions before they become part of the report. ::: {.callout} -## Automatic mapping and assessment currently draws only from Development type documents. +## Currently, automatic mapping and assessment retrieve only content from Development type documents.[^4] To manually add and assess evidence for other document types, refer to [Assess compliance](/guide/validation/assess-compliance.qmd). @@ -48,11 +48,11 @@ Map Evidence uses AI to suggest relevant evidence for each validation guideline, 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a record or find your record by applying a filter or searching for it.[^4] +2. Select a record or find your record by applying a filter or searching for it.[^5] -3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^5] +3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^6] -4. Click on a Validation type file.[^6] +4. Click on a Validation type file.[^7] 5. Navigate to a section and expand the **Evidence** panel. @@ -124,11 +124,11 @@ Assess Evidence analyzes the linked evidence and generates a structured complian 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a record or find your record by applying a filter or searching for it.[^7] +2. Select a record or find your record by applying a filter or searching for it.[^8] -3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^8] +3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^9] -4. Click on a Validation type file.[^9] +4. Click on a Validation type file.[^10] 5. Navigate to a section that has linked evidence. @@ -195,14 +195,16 @@ After running Assess Evidence, you can review and approve assessments at three l [^3]: [Manage permissions](/guide/configuration/manage-permissions.qmd) -[^4]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) +[^4]: [Manage document types](/guide/templates/manage-document-types.qmd) -[^5]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) +[^5]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) -[^6]: [Preparing validation reports](preparing-validation-reports.qmd#validation-overview) +[^6]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) -[^7]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) +[^7]: [Preparing validation reports](preparing-validation-reports.qmd#validation-overview) -[^8]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) +[^8]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) -[^9]: [Preparing validation reports](preparing-validation-reports.qmd#validation-overview) \ No newline at end of file +[^9]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) + +[^10]: [Preparing validation reports](preparing-validation-reports.qmd#validation-overview) \ No newline at end of file From a9154a0d6aa515fc27691a8f387f00580c5a0edc Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 14:21:19 -0700 Subject: [PATCH 03/36] WIP: Assess compliance --- site/guide/validation/assess-compliance.qmd | 75 ++++++++++++++++----- 1 file changed, 57 insertions(+), 18 deletions(-) diff --git a/site/guide/validation/assess-compliance.qmd b/site/guide/validation/assess-compliance.qmd index e87cb793d..f789dc5b0 100644 --- a/site/guide/validation/assess-compliance.qmd +++ b/site/guide/validation/assess-compliance.qmd @@ -14,9 +14,8 @@ Use the {{< var validmind.platform >}} to assess compliance of your records with Compliance assessments provide an unbiased starting point that enables more efficient discussions between validators and developers and involves the following steps: 1. [Link evidence to reports](#link-evidence-to-reports) -2. [Link artifacts to reports](#link-artifacts-to-reports) -3. [Autogenerate validation issues](#autogenerate-validation-issues) -4. [Provide compliance assessments](#provide-compliance-assessments) +2. [Provide compliance assessments](#provide-compliance-assessments) +3. [Link artifacts to reports](#link-artifacts-to-reports) ::: {.callout title="Compliance assessments cannot be performed within static PDF documents."} You can only assess compliance within PDFs converted to editable documents,[^1] validation reports generated by the {{< var validmind.developer >}}, or validation reports created in the {{< var validmind.platform >}}. @@ -41,9 +40,7 @@ Use {{< var vm.product >}}'s AI-assisted tools to automate mapping and assessing ::: -### Link developer evidence - -To link evidence logged by developers^[[{{< var validmind.developer >}}](/developer/validmind-library.qmd)] to your validation report: +Include sections from other documents and logged test results as evidence to validation report: 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. @@ -55,33 +52,70 @@ To link evidence logged by developers^[[{{< var validmind.developer >}}](/develo Expand any subsection of the validation report you would like to work with. -5. In any section of the report where the button is available, click **{{< fa link >}} Link Developer Evidence**. +5. In any section of the report where linking evidence is available, click **Evidence** to expand the evidence panel. + +6. Click **{{< fa link >}} Link Evidence** and select the [evidence type]{.smallcaps}: + + ::: {.panel-tabset} + + #### Developer Evidence + + Select evidence logged on Development, Monitoring, or custom document types attached to the record: + + 1. Select **Developer Evidence** as the [evidence type]{.smallcaps}. + 2. In the left sidebar, click on the document you want to include evidence from. + 3. In the right panel, check off the content blocks you want to include as evidence:[^10] + - Expand a section by clicking **{{< fa chevron-down >}}** to review any sub-sections. + - If you are not sure if a block is relevant, click on a block to preview the contents. + - To include all blocks in a section, check off the section header. + 4. When you are ready to insert the evidence, click **Update Linked Evidence**. + + #### Validator Evidence -6. On the **Link Developer Evidence to Validation Document** page that opens, select the evidence that is related to your assessment. + Select evidence logged on the same Validation report:[^11] - - Available evidence is associated with the relevant documentation section. - - If you are not sure if something is relevant, you can expand the section by clicking **{{< fa chevron-down >}}** for more details. + 1. Select **Validator Evidence** as the [evidence type]{.smallcaps}. + 2. Check off the test results you want to include as evidence. + If you are not sure if a test result is relevant, click on a test result to preview the contents. + 3. When you are ready to insert the evidence, click **Update Linked Evidence**. -7. Click **Update Linked Evidence**. + ::: - - Confirm that the newly linked-to evidence shown under Developer Evidence is accurate and is connected to the correct documentation section. +7. Confirm that the newly linked evidence appears in the Evidence panel: + + ::: {.panel-tabset} + + #### Developer Evidence + + - Verify that the evidence shown under the **Developer Evidence** tab is accurate and is connected to the correct document section from the right document. - Evidence that needs your attention gets flagged with [{{< fa triangle-exclamation >}} Requires Attention]{.bubble .yellow-bg}. These sections get flagged automatically whenever a test result is above or below a certain threshold. -### Link validator evidence + #### Validator Evidence -{{< include _link-validator-evidence.qmd >}} + - Verify that the evidence shown under the **Validator Evidence** tab is accurate and is connected to the correct test result. + - Evidence that needs your attention gets flagged with [{{< fa triangle-exclamation >}} Requires Attention]{.bubble .yellow-bg}. These sections get flagged automatically whenever a test result is above or below a certain threshold. + + ::: + +## Provide compliance assessments + +{{< include _provide-compliance-assessments.qmd >}} ## Link artifacts to reports -{{< include _link-artifacts-to-reports.qmd >}} +::: {.panel-tabset} -## Autogenerate validation issues +### Autogenerate validation issues {{< include _autogenerate-validation-issues.qmd >}} -## Provide compliance assessments +### Manually link artifacts + +{{< include _link-artifacts-to-reports.qmd >}} + +::: + -{{< include _provide-compliance-assessments.qmd >}} @@ -103,3 +137,8 @@ To link evidence logged by developers^[[{{< var validmind.developer >}}](/develo [^8]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) [^9]: [Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview) + +[^10]: Only sections with content are available for selection as evidence — empty sections will have their checkboxes disabled and grayed out. + +[^11]: To link validator evidence to a report, you must first log tests on your report with the {{< var validmind.developer >}}: **[{{< var validmind.developer >}}](/developer/validmind-library.qmd)** + From 1c78c3bfbbaf0a9a697a4185cbc9e65b8edc7190 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 16:38:34 -0700 Subject: [PATCH 04/36] save --- .../validator/quickstart-validator.qmd | 2 +- .../documentation/content-editing-toolbar.png | Bin 15243 -> 38416 bytes .../work-with-content-blocks.qmd | 65 +++++++++--------- site/guide/validation/assess-compliance.qmd | 62 +++++++++++------ .../4-finalize_validation_reporting.ipynb | 2 +- .../4-finalize_validation_reporting.ipynb | 2 +- .../finalizing-validation-reports.qmd | 4 +- 7 files changed, 80 insertions(+), 57 deletions(-) diff --git a/site/get-started/validator/quickstart-validator.qmd b/site/get-started/validator/quickstart-validator.qmd index 8ca60db6f..10f5e02f8 100644 --- a/site/get-started/validator/quickstart-validator.qmd +++ b/site/get-started/validator/quickstart-validator.qmd @@ -173,7 +173,7 @@ Now that you've grasped the basics of using {{< var vm.product >}} for model val [^3]: [Working with document templates](/guide/templates/working-with-document-templates.qmd) -[^4]: [Assess compliance](/guide/validation/assess-compliance.qmd#provide-compliance-assessments) +[^4]: [Assess compliance](/guide/validation/assess-compliance.qmd#assign-compliance-assessments) [^5]: [Assess compliance](/guide/validation/assess-compliance.qmd#link-validator-evidence) diff --git a/site/guide/documentation/content-editing-toolbar.png b/site/guide/documentation/content-editing-toolbar.png index 846109487e8ca768436ee04bba3f63dda8c6cec5..68cf696412347aba2b33998b14e0a8e7ffb7142c 100644 GIT binary patch literal 38416 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 diff --git a/site/guide/documentation/work-with-content-blocks.qmd b/site/guide/documentation/work-with-content-blocks.qmd index 6776962b1..5d5e23d7b 100644 --- a/site/guide/documentation/work-with-content-blocks.qmd +++ b/site/guide/documentation/work-with-content-blocks.qmd @@ -45,9 +45,10 @@ The content editing toolbar is a rich text editor that enables you to: - Format your text, including adding hyperlinks and code blocks - Reference related record and artifact field values with variables[^2] - Insert LaTex formulas[^3] +- Reference other sections of the document[^4] - Attach images via upload or URL -You can also use the toolbar to suggest changes, save named versions of content, and leave comments.[^4] +You can also use the toolbar to suggest changes, save named versions of content, and leave comments.[^5] ::: {.callout title="Stuck on where to start?"} Use {{< var vm.product >}} to assist you with generating content via AI!^[[Generate content drafts with AI](#generate-content)] @@ -58,9 +59,9 @@ Use {{< var vm.product >}} to assist you with generating content via AI!^[[Gener ## Prerequisites - [x] {{< var link.login >}} -- [x] There are records registered in the inventory.[^5] -- [x] Documents exist and are completed or are in progress for your record.[^6] -- [x] You are a [{{< fa code >}} Developer]{.bubble} or [{{< fa circle-check >}} Validator]{.bubble}, or assigned another role with sufficient permissions to perform the tasks in this guide.[^7] +- [x] There are records registered in the inventory.[^6] +- [x] Documents exist and are completed or are in progress for your record.[^7] +- [x] You are a [{{< fa code >}} Developer]{.bubble} or [{{< fa circle-check >}} Validator]{.bubble}, or assigned another role with sufficient permissions to perform the tasks in this guide.[^8] ::: @@ -79,26 +80,26 @@ Use {{< var vm.product >}} to assist you with generating content via AI!^[[Gener #### [from library]{.smallcaps} Text Block - : Inserts a text block from a template in your block library:[^8] + : Inserts a text block from a template in your block library:[^9] a. Select the reusable blocks you want to add. b. Click **Insert # Text Block(s) to Document**. - Test-Driven[^9] + Test-Driven[^10] : Adds a new section with logged test results. - Metric Over Time[^10] + Metric Over Time[^11] : Adds a new section with logged metric over time results. ::: -7. After adding the block to your document, click on the text to make changes or add comments.[^11] +7. After adding the block to your document, click on the text to make changes or add comments.[^12] ### Reference field values While editing a simple text block within documents, you can reference values in the form of variables from: ::: {.callout} -- To reference field values in the form of variables, your organization must not have tracked changes enabled by default.[^12] +- To reference field values in the form of variables, your organization must not have tracked changes enabled by default.[^13] - Note that while you are able to select fields with empty values within available record or artifact type fields, no value will be displayed in the content block until the field is populated. ::: @@ -118,8 +119,8 @@ While editing a simple text block within documents, you can insert math equation While editing a simple text block within documents, you can have {{< var vm.product >}} assist you with generating content drafts. ::: {.callout title="How can generate content drafts with AI?"} -- To use the generate content drafts with AI feature, your organization must not have tracked changes enabled by default.[^13] -- Generating content drafts works best after you've logged tests with the {{< var validmind.developer >}},[^14] as existing test descriptions and results provide more context for the {{< var vm.product >}} AI Content Builder to draw upon. +- To use the generate content drafts with AI feature, your organization must not have tracked changes enabled by default.[^14] +- Generating content drafts works best after you've logged tests with the {{< var validmind.developer >}},[^15] as existing test descriptions and results provide more context for the {{< var vm.product >}} AI Content Builder to draw upon. ::: @@ -128,7 +129,7 @@ To generate content drafts: {{< include content_blocks/_generate-with-ai.qmd >}} -When generating content drafts with AI, accepted versions and edits are retained in your {{< fa wifi >}} Activity[^15] just like other updates to your documents. +When generating content drafts with AI, accepted versions and edits are retained in your {{< fa wifi >}} Activity[^16] just like other updates to your documents.
@@ -176,7 +177,7 @@ While editing a simple text block within documents, you can directly reference o ::: -Hyperlinks will also take you to the referenced section in PDF document exports.[^16] +Hyperlinks will also take you to the referenced section in PDF document exports.[^17] ## Remove content blocks @@ -186,11 +187,11 @@ Test-driven or metric over time blocks can be re-added later on but **text block 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a record or find your record by applying a filter or searching for it.[^17] +2. Select a record or find your record by applying a filter or searching for it.[^18] -3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^18] +3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^19] -4. Click on the document file you want to remove a block from.[^19] +4. Click on the document file you want to remove a block from.[^20] 5. Click on a section header to expand that section and remove content. @@ -209,34 +210,36 @@ Test-driven or metric over time blocks can be re-added later on but **text block [^3]: [Insert mathematical formulas](#insert-mathematical-formulas) -[^4]: [Collaborate with others](collaborate-with-others.qmd) +[^4]: [Reference document sections](#reference-document-sections) -[^5]: [Register records in the inventory](/guide/inventory/register-records-in-inventory.qmd) +[^5]: [Collaborate with others](collaborate-with-others.qmd) -[^6]: [Working with documents](/guide/templates/working-with-documents.qmd) +[^6]: [Register records in the inventory](/guide/inventory/register-records-in-inventory.qmd) -[^7]: [Manage permissions](/guide/configuration/manage-permissions.qmd) +[^7]: [Working with documents](/guide/templates/working-with-documents.qmd) -[^8]: [Manage text block library](/guide/templates/manage-text-block-library.qmd) +[^8]: [Manage permissions](/guide/configuration/manage-permissions.qmd) -[^9]: [Work with test results](/guide/documentation/work-with-test-results.qmd) +[^9]: [Manage text block library](/guide/templates/manage-text-block-library.qmd) -[^10]: [Work with metrics over time](/guide/monitoring/work-with-metrics-over-time.qmd) +[^10]: [Work with test results](/guide/documentation/work-with-test-results.qmd) -[^11]: [Collaborate with others](/guide/documentation/collaborate-with-others.qmd) +[^11]: [Work with metrics over time](/guide/monitoring/work-with-metrics-over-time.qmd) -[^12]: [Managing your organization](/guide/configuration/managing-your-organization.qmd#manage-document-defaults) +[^12]: [Collaborate with others](/guide/documentation/collaborate-with-others.qmd) [^13]: [Managing your organization](/guide/configuration/managing-your-organization.qmd#manage-document-defaults) -[^14]: [Run tests and test suites](/developer/how-to/testing-overview.qmd) +[^14]: [Managing your organization](/guide/configuration/managing-your-organization.qmd#manage-document-defaults) -[^15]: [View model activity](/guide/inventory/view-record-activity.qmd) +[^15]: [Run tests and test suites](/developer/how-to/testing-overview.qmd) -[^16]: [Export documents](/guide/reporting/export-documents.qmd) +[^16]: [View model activity](/guide/inventory/view-record-activity.qmd) -[^17]: [Working with the model inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-models) +[^17]: [Export documents](/guide/reporting/export-documents.qmd) -[^18]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) +[^18]: [Working with the model inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-models) -[^19]: [Working with documents](/guide/templates/working-with-documents.qmd) \ No newline at end of file +[^19]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) + +[^20]: [Working with documents](/guide/templates/working-with-documents.qmd) \ No newline at end of file diff --git a/site/guide/validation/assess-compliance.qmd b/site/guide/validation/assess-compliance.qmd index f789dc5b0..e4fca9555 100644 --- a/site/guide/validation/assess-compliance.qmd +++ b/site/guide/validation/assess-compliance.qmd @@ -14,8 +14,8 @@ Use the {{< var validmind.platform >}} to assess compliance of your records with Compliance assessments provide an unbiased starting point that enables more efficient discussions between validators and developers and involves the following steps: 1. [Link evidence to reports](#link-evidence-to-reports) -2. [Provide compliance assessments](#provide-compliance-assessments) -3. [Link artifacts to reports](#link-artifacts-to-reports) +2. [Link artifacts to reports](#link-artifacts-to-reports) +3. [Assign compliance assessments](#assign-compliance-assessments) ::: {.callout title="Compliance assessments cannot be performed within static PDF documents."} You can only assess compliance within PDFs converted to editable documents,[^1] validation reports generated by the {{< var validmind.developer >}}, or validation reports created in the {{< var validmind.platform >}}. @@ -35,13 +35,6 @@ You can only assess compliance within PDFs converted to editable documents,[^1] ## Link evidence to reports -::: {.callout title="Stuck on where to start?"} -Use {{< var vm.product >}}'s AI-assisted tools to automate mapping and assessing evidence.[^6] - -::: - -Include sections from other documents and logged test results as evidence to validation report: - 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. 2. Select a record or find your record by applying a filter or searching for it.[^7] @@ -52,9 +45,23 @@ Include sections from other documents and logged test results as evidence to val Expand any subsection of the validation report you would like to work with. -5. In any section of the report where linking evidence is available, click **Evidence** to expand the evidence panel. +5. Link evidence to reports in two steps: + + i. [Map evidence](#map-evidence) + ii. [Assess evidence](#assess-evidence) + +::: {.callout title="Stuck on where to start?"} +Use {{< var vm.product >}}'s AI-assisted tools to automate mapping and assessing evidence.[^6] + +::: -6. Click **{{< fa link >}} Link Evidence** and select the [evidence type]{.smallcaps}: +### 1. Map evidence + +Include sections from other documents and logged test results as evidence to validation report: + +a. In any section of the report where linking evidence is available, click **Evidence** to expand the evidence panel. + +b. Click **{{< fa link >}} Link Evidence** and select the [evidence type]{.smallcaps}: ::: {.panel-tabset} @@ -62,26 +69,26 @@ Include sections from other documents and logged test results as evidence to val Select evidence logged on Development, Monitoring, or custom document types attached to the record: - 1. Select **Developer Evidence** as the [evidence type]{.smallcaps}. - 2. In the left sidebar, click on the document you want to include evidence from. - 3. In the right panel, check off the content blocks you want to include as evidence:[^10] + i. Select **Developer Evidence** as the [evidence type]{.smallcaps}. + ii. In the left sidebar, click on the document you want to include evidence from. + iii. In the right panel, check off the content blocks you want to include as evidence:[^10] - Expand a section by clicking **{{< fa chevron-down >}}** to review any sub-sections. - If you are not sure if a block is relevant, click on a block to preview the contents. - To include all blocks in a section, check off the section header. - 4. When you are ready to insert the evidence, click **Update Linked Evidence**. + iv. When you are ready to insert the evidence, click **Update Linked Evidence**. #### Validator Evidence Select evidence logged on the same Validation report:[^11] - 1. Select **Validator Evidence** as the [evidence type]{.smallcaps}. - 2. Check off the test results you want to include as evidence. + i. Select **Validator Evidence** as the [evidence type]{.smallcaps}. + ii. Check off the test results you want to include as evidence. If you are not sure if a test result is relevant, click on a test result to preview the contents. - 3. When you are ready to insert the evidence, click **Update Linked Evidence**. + iii. When you are ready to insert the evidence, click **Update Linked Evidence**. ::: -7. Confirm that the newly linked evidence appears in the Evidence panel: +c. Confirm that the newly linked evidence appears in the Evidence panel: ::: {.panel-tabset} @@ -97,9 +104,15 @@ Include sections from other documents and logged test results as evidence to val ::: -## Provide compliance assessments +### 2. Assess evidence -{{< include _provide-compliance-assessments.qmd >}} +Once you have linked evidence to a section of your report, assess the linked evidence for compliance:[^12] + +a. In any section of the report where evidence has been linked, click **Evidence Assessment** to expand the evidence assessment panel. + +b. Click **Add your assessment** to use the content editing toolbar[^13] to enter in your assessment notes. + +c. (Optional) When you are finished editing your assessment notes, hover over the content block and click **{{< fa unlock >}} Lock Assessment** to prevent additional changes. ## Link artifacts to reports @@ -115,6 +128,9 @@ Include sections from other documents and logged test results as evidence to val ::: +## Assign compliance assessments + +{{< include _provide-compliance-assessments.qmd >}} @@ -142,3 +158,7 @@ Include sections from other documents and logged test results as evidence to val [^11]: To link validator evidence to a report, you must first log tests on your report with the {{< var validmind.developer >}}: **[{{< var validmind.developer >}}](/developer/validmind-library.qmd)** +[^12]: [1. Map evidence](#map-evidence) + +[^13]: [Work with content blocks](/guide/documentation/work-with-content-blocks.qmd#content-editing-toolbar) + diff --git a/site/notebooks/EXECUTED/model_validation/4-finalize_validation_reporting.ipynb b/site/notebooks/EXECUTED/model_validation/4-finalize_validation_reporting.ipynb index 854ccde76..7c4f49e81 100644 --- a/site/notebooks/EXECUTED/model_validation/4-finalize_validation_reporting.ipynb +++ b/site/notebooks/EXECUTED/model_validation/4-finalize_validation_reporting.ipynb @@ -1147,7 +1147,7 @@ "\n", "- **Adding risk assessment notes:** Click under **Risk Assessment Notes** in any validation report section to access the text editor and content editing toolbar, including an option to generate a draft with AI. Once generated, edit your ValidMind-generated test descriptions to adhere to your organization's requirements. (Learn more: [Work with content blocks](https://docs.validmind.ai/guide/model-documentation/work-with-content-blocks.html#content-editing-toolbar))\n", "\n", - "- **Assessing compliance:** Under the Guideline for any validation report section, click **ASSESSMENT** and select the compliance status from the drop-down menu. (Learn more: [Provide compliance assessments](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#provide-compliance-assessments))\n", + "- **Assessing compliance:** Under the Guideline for any validation report section, click **ASSESSMENT** and select the compliance status from the drop-down menu. (Learn more: [Assign compliance assessments](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#assign-compliance-assessments))\n", "\n", "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including model developers. Propose suggested changes in the model documentation, work with versioned history, and use comments to discuss specific portions of the model documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/model-documentation/collaborate-with-others.html))\n", "\n", diff --git a/site/notebooks/tutorials/model_validation/4-finalize_validation_reporting.ipynb b/site/notebooks/tutorials/model_validation/4-finalize_validation_reporting.ipynb index 854ccde76..7c4f49e81 100644 --- a/site/notebooks/tutorials/model_validation/4-finalize_validation_reporting.ipynb +++ b/site/notebooks/tutorials/model_validation/4-finalize_validation_reporting.ipynb @@ -1147,7 +1147,7 @@ "\n", "- **Adding risk assessment notes:** Click under **Risk Assessment Notes** in any validation report section to access the text editor and content editing toolbar, including an option to generate a draft with AI. Once generated, edit your ValidMind-generated test descriptions to adhere to your organization's requirements. (Learn more: [Work with content blocks](https://docs.validmind.ai/guide/model-documentation/work-with-content-blocks.html#content-editing-toolbar))\n", "\n", - "- **Assessing compliance:** Under the Guideline for any validation report section, click **ASSESSMENT** and select the compliance status from the drop-down menu. (Learn more: [Provide compliance assessments](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#provide-compliance-assessments))\n", + "- **Assessing compliance:** Under the Guideline for any validation report section, click **ASSESSMENT** and select the compliance status from the drop-down menu. (Learn more: [Assign compliance assessments](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#assign-compliance-assessments))\n", "\n", "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including model developers. Propose suggested changes in the model documentation, work with versioned history, and use comments to discuss specific portions of the model documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/model-documentation/collaborate-with-others.html))\n", "\n", diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index 76b9ff22f..252b7a5e8 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -205,7 +205,7 @@ Assess model compliance ::: ::: {.tc} -[Learn more ...](/guide/validation/assess-compliance.qmd#provide-compliance-assessments){.button target="_blank"} +[Learn more ...](/guide/validation/assess-compliance.qmd#assign-compliance-assessments){.button target="_blank"} ::: @@ -230,7 +230,7 @@ Assess model compliance ![Sample compliance assessment](class-imbalance-assessment.png){width=90% fig-alt="A screenshot showing a sample compliance assessment" .screenshot} -### Provide compliance assessments +### Assign compliance assessments {{< include /guide/validation/_provide-compliance-assessments.qmd >}} From da48e092d39715272c95941f8a81428300fb344d Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 16:45:38 -0700 Subject: [PATCH 05/36] Assess compliance: Link evidence to reports --- .../validation/_link-validator-evidence.qmd | 68 ------------------- site/guide/validation/assess-compliance.qmd | 41 +++++------ .../running-data-quality-tests.qmd | 33 ++++++++- 3 files changed, 54 insertions(+), 88 deletions(-) delete mode 100644 site/guide/validation/_link-validator-evidence.qmd diff --git a/site/guide/validation/_link-validator-evidence.qmd b/site/guide/validation/_link-validator-evidence.qmd deleted file mode 100644 index fb243d9ae..000000000 --- a/site/guide/validation/_link-validator-evidence.qmd +++ /dev/null @@ -1,68 +0,0 @@ - - -:::: {.content-visible unless-format="revealjs"} -::: {.callout} -To link validator evidence to a report, you must first log tests as a validator with the {{< var validmind.developer >}}.^[[{{< var validmind.developer >}}](/developer/validmind-library.qmd)] -::: - -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. - -1. Select a record or find your record by applying a filter or searching for it.^[[Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records)] - -1. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.^[[Work with document versions](/guide/documentation/work-with-document-versions.qmd)] - -1. Click on a Validation type file.^[[Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview)] - - You can now expand any subsection of the validation report you would like to work with. - -1. In any section of the report where the button is available, click **{{< fa link >}} Link Evidence to Report**. - -1. On the **Link Validator Evidence to Validation Document** page that opens, select the evidence that is related to your assessment. - - If you are not sure if something is relevant, you can expand the section by clicking **{{< fa chevron-down >}}** for more details. - -1. Click **Update Linked Evidence**. - - - Confirm that the newly linked-to evidence shown under Developer Evidence is accurate. - - Evidence that needs your attention gets flagged with [{{< fa triangle-exclamation >}} Requires Attention]{.bubble .yellow-bg}. These sections get flagged automatically whenever a test result is above or below a certain threshold. - -:::: - - -:::: {.content-hidden unless-format="revealjs"} -With some test results logged, let's head to the record we connected to at the beginning of this notebook and insert our test results into the validation report as evidence. - -While the example below focuses on a specific test result, you can follow the same general procedure for your other results: - -::: {.panel-tabset} - -### 1. Link data quality test results -a. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}}, go to the record you connected to earlier. - -a. In the left sidebar that appears for your record, click **Validation** under {{< fa file >}} Documents. - -a. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section. - -a. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**. - -a. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** - - ![The ClassImbalance tests selected](/notebooks/tutorials/model_validation/selecting-class-imbalance-results.png){fig-alt="Screenshot showing the ClassImbalance tests selected" .screenshot} - -a. Click **Update Linked Evidence** to add the test results to the validation report. - - Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report. - -### 2. Review Class Imbalance test results - -- Once linked as evidence to section **2.2.1. Data Quality** note that the ValidMind Data Validation Class Imbalance test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset. -- Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test: - - ![ClassImbalance test generated description in the text editor](/notebooks/tutorials/model_validation/class-imbalance-results-detail.png){fig-alt="Screenshot showing the ClassImbalance test generated description in the text editor" .screenshot} - -::: - - -:::: \ No newline at end of file diff --git a/site/guide/validation/assess-compliance.qmd b/site/guide/validation/assess-compliance.qmd index e4fca9555..6e376c1d7 100644 --- a/site/guide/validation/assess-compliance.qmd +++ b/site/guide/validation/assess-compliance.qmd @@ -35,6 +35,13 @@ You can only assess compliance within PDFs converted to editable documents,[^1] ## Link evidence to reports +::: {.callout title="Stuck on where to start?"} +Use {{< var vm.product >}}'s AI-assisted tools to automate mapping and assessing evidence.[^6] + +::: + +Include sections from other documents and logged test results as evidence to validation report, then assess the linked evidence for compliance: + 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. 2. Select a record or find your record by applying a filter or searching for it.[^7] @@ -46,22 +53,15 @@ You can only assess compliance within PDFs converted to editable documents,[^1] Expand any subsection of the validation report you would like to work with. 5. Link evidence to reports in two steps: + a. [Map evidence](#map-evidence) + b. [Assess evidence](#assess-evidence) - i. [Map evidence](#map-evidence) - ii. [Assess evidence](#assess-evidence) - -::: {.callout title="Stuck on where to start?"} -Use {{< var vm.product >}}'s AI-assisted tools to automate mapping and assessing evidence.[^6] - -::: +### a. Map evidence + -### 1. Map evidence +1. In any section of the report where linking evidence is available, click **Evidence** to expand the evidence panel. -Include sections from other documents and logged test results as evidence to validation report: - -a. In any section of the report where linking evidence is available, click **Evidence** to expand the evidence panel. - -b. Click **{{< fa link >}} Link Evidence** and select the [evidence type]{.smallcaps}: +2. Click **{{< fa link >}} Link Evidence** and select the [evidence type]{.smallcaps}: ::: {.panel-tabset} @@ -88,7 +88,7 @@ b. Click **{{< fa link >}} Link Evidence** and select the [evidence type]{.small ::: -c. Confirm that the newly linked evidence appears in the Evidence panel: +3. Confirm that the newly linked evidence appears in the Evidence panel: ::: {.panel-tabset} @@ -104,18 +104,21 @@ c. Confirm that the newly linked evidence appears in the Evidence panel: ::: -### 2. Assess evidence +### b. Assess evidence + Once you have linked evidence to a section of your report, assess the linked evidence for compliance:[^12] -a. In any section of the report where evidence has been linked, click **Evidence Assessment** to expand the evidence assessment panel. +1. In any section of the report where evidence has been linked, click **Evidence Assessment** to expand the evidence assessment panel. -b. Click **Add your assessment** to use the content editing toolbar[^13] to enter in your assessment notes. +2. Click **Add your assessment** to use the content editing toolbar[^13] to enter in your assessment notes. -c. (Optional) When you are finished editing your assessment notes, hover over the content block and click **{{< fa unlock >}} Lock Assessment** to prevent additional changes. +3. (Optional) When you are finished editing your assessment notes, hover over the content block and click **{{< fa unlock >}} Lock Assessment** to prevent additional changes. ## Link artifacts to reports +After you have mapped and assessed available evidence, link artifacts to reports to provide additional context and support your assessment: + ::: {.panel-tabset} ### Autogenerate validation issues @@ -158,7 +161,7 @@ c. (Optional) When you are finished editing your assessment notes, hover over th [^11]: To link validator evidence to a report, you must first log tests on your report with the {{< var validmind.developer >}}: **[{{< var validmind.developer >}}](/developer/validmind-library.qmd)** -[^12]: [1. Map evidence](#map-evidence) +[^12]: [a. Map evidence](#map-evidence) [^13]: [Work with content blocks](/guide/documentation/work-with-content-blocks.qmd#content-editing-toolbar) diff --git a/site/training/validator-fundamentals/running-data-quality-tests.qmd b/site/training/validator-fundamentals/running-data-quality-tests.qmd index 7db2c2898..c22a49cf3 100644 --- a/site/training/validator-fundamentals/running-data-quality-tests.qmd +++ b/site/training/validator-fundamentals/running-data-quality-tests.qmd @@ -305,7 +305,38 @@ Add test results to reporting ::: {.column width="70%" .bl .pl4 .f4} #### Link validator evidence -{{< include /guide/validation/_link-validator-evidence.qmd >}} +With some test results logged, let's head to the record we connected to at the beginning of this notebook and insert our test results into the validation report as evidence. + +While the example below focuses on a specific test result, you can follow the same general procedure for your other results: + +::: {.panel-tabset} + +### 1. Link data quality test results +a. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}}, go to the record you connected to earlier. + +a. In the left sidebar that appears for your record, click **Validation** under {{< fa file >}} Documents. + +a. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section. + +a. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**. + +a. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** + + ![The ClassImbalance tests selected](/notebooks/tutorials/model_validation/selecting-class-imbalance-results.png){fig-alt="Screenshot showing the ClassImbalance tests selected" .screenshot} + +a. Click **Update Linked Evidence** to add the test results to the validation report. + + Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report. + +### 2. Review Class Imbalance test results + +- Once linked as evidence to section **2.2.1. Data Quality** note that the ValidMind Data Validation Class Imbalance test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset. +- Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test: + + ![ClassImbalance test generated description in the text editor](/notebooks/tutorials/model_validation/class-imbalance-results-detail.png){fig-alt="Screenshot showing the ClassImbalance test generated description in the text editor" .screenshot} + +::: + ::: From 3b177255fe8cfaffdee66a25063dc96c3fc73e19 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 17:27:42 -0700 Subject: [PATCH 06/36] Rename: Provide compliance assessments > Assign compliance assessments --- ...qmd => _assign-compliance-assessments.qmd} | 0 .../_autogenerate-validation-issues.qmd | 40 ----------- .../validation/_link-artifacts-to-reports.qmd | 21 +++--- site/guide/validation/assess-compliance.qmd | 68 ++++++++++++++++++- .../finalizing-validation-reports.qmd | 2 +- 5 files changed, 74 insertions(+), 57 deletions(-) rename site/guide/validation/{_provide-compliance-assessments.qmd => _assign-compliance-assessments.qmd} (100%) delete mode 100644 site/guide/validation/_autogenerate-validation-issues.qmd diff --git a/site/guide/validation/_provide-compliance-assessments.qmd b/site/guide/validation/_assign-compliance-assessments.qmd similarity index 100% rename from site/guide/validation/_provide-compliance-assessments.qmd rename to site/guide/validation/_assign-compliance-assessments.qmd diff --git a/site/guide/validation/_autogenerate-validation-issues.qmd b/site/guide/validation/_autogenerate-validation-issues.qmd deleted file mode 100644 index 013d19ecf..000000000 --- a/site/guide/validation/_autogenerate-validation-issues.qmd +++ /dev/null @@ -1,40 +0,0 @@ - - -After you complete your risk assessment notes for a validation guideline, you can use AI to automatically suggest validation issues based on the gaps identified in your assessment. - -::: {.callout title="This feature requires AI features to be enabled for your organization."} -Contact your administrator if you don't see the **Suggest Validation Issues** option. -::: - -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. - -1. Select a record or find your record by applying a filter or searching for it.^[[Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records)] - -1. In the left sidebar, click **Validation** to open the validation report. - -1. Expand any subsection of the validation report and complete your **Risk Assessment Notes** for a guideline. - -1. Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** next to the guideline you assessed. - - The AI analyzes your risk assessment notes along with the guideline context to identify any gaps that warrant validation issues. - -1. Review the suggested validation issues: - - Each suggestion includes: - - - A proposed title describing the issue - - A severity level based on the identified gap - - Recommended remediation actions - -1. For each suggested issue, choose one of the following actions: - - - Click **{{< fa check >}} Approve** to create the validation issue and link it to your report. - - Click **{{< fa xmark >}} Dismiss** to reject the suggestion if it doesn't apply. - -1. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status.^[[Add and manage artifacts](/guide/validation/add-manage-artifacts.qmd)] - -::: {.callout-important title="AI suggestions require review"} -Always review AI-generated validation issues before approving them. The suggestions are based on patterns in your risk assessment notes and may need adjustment to accurately reflect your findings. -::: diff --git a/site/guide/validation/_link-artifacts-to-reports.qmd b/site/guide/validation/_link-artifacts-to-reports.qmd index d4df47121..3d372571b 100644 --- a/site/guide/validation/_link-artifacts-to-reports.qmd +++ b/site/guide/validation/_link-artifacts-to-reports.qmd @@ -3,27 +3,22 @@ Refer to the LICENSE file in the root of this repository for details. SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> :::: {.content-visible unless-format="revealjs"} -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. +a. Under your evidence, click **Artifacts** to expand the artifacts panel. -1. Select a record or find your record by applying a filter or searching for it.^[[Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records)] - -1. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.^[[Work with document versions](/guide/documentation/work-with-document-versions.qmd)] - -1. Click on a Validation type file.^[[Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview)] - -1. Expand any subsection of the validation report you would like to work with. - -1. In any section of the report where the button is available, click **{{< fa link >}} Link Artifact to Report** and select the artifact type^[[Manage artifact types](/guide/validation/manage-artifact-types.qmd)] you want to add: +b. Click **{{< fa link >}} Link Artifact** and select the artifact type^[[Manage artifact types](/guide/validation/manage-artifact-types.qmd)] you want to add: - Validation Issue - Policy Exception - Limitation -1. On the **Link Artifact to Report** modal that opens, select from the list of available artifacts, or click **{{< fa plus >}} Update Linked Artifacts**.^[[Add and manage artifacts](/guide/validation/add-manage-artifacts.qmd#add-artifacts-on-validation-reports)] +c. On the **Link Artifact to Report** modal that opens: + + - Select from the list of available artifacts. + - Click **{{< fa plus >}} Add {Artifact Type}** where `{Artifact Type}` is the artifact type you want to add to create a new artifact,^[[Add and manage artifacts](/guide/validation/add-manage-artifacts.qmd#add-artifacts-on-validation-reports)] then select the new artifact from the list. -1. Click **Update Linked Artifacts**. +c. Click **Update Linked Artifacts**. - Confirm that newly linked artifact shown under Artifacts is accurate. + Confirm that the newly linked artifacts shown under Artifacts is accurate. :::: diff --git a/site/guide/validation/assess-compliance.qmd b/site/guide/validation/assess-compliance.qmd index 6e376c1d7..f696d3abb 100644 --- a/site/guide/validation/assess-compliance.qmd +++ b/site/guide/validation/assess-compliance.qmd @@ -119,11 +119,64 @@ Once you have linked evidence to a section of your report, assess the linked evi After you have mapped and assessed available evidence, link artifacts to reports to provide additional context and support your assessment: +1. In the left sidebar, click **{{< fa cubes >}} Inventory**. + +2. Select a record or find your record by applying a filter or searching for it.[^15] + +3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^16] + +4. Click on a Validation type file.[^17] + + Expand any subsection of the validation report you have attached evidence for to autogenerate validation issues or manually link artifacts to your report: + ::: {.panel-tabset} ### Autogenerate validation issues -{{< include _autogenerate-validation-issues.qmd >}} +::: {.callout-important title="AI suggestions require review!"} +Always review AI-generated validation issues before approving them. The suggestions are based on patterns in your risk assessment notes and may need adjustment to accurately reflect your findings. + +::: + +Use AI to automatically suggest validation issues based on the gaps identified in your assessment:[^14] + +a. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. + +b. Click **Suggest Validation Issues** to have {{< var vm.product >}} analyze your risk assessment notes along with the guideline context and identify any gaps that warrant validation issues. + +c. Review the suggested validation issues. Each suggestion includes: + + - A proposed title and description outlining the issue + - A preliminary severity level based on the identified gap + - A proposed remediation plan + + Click **See more {{< fa chevron-down >}}** on each suggested issue to expand for more details. + +d. Approve, reject, or regenerate the suggested validation issues: + + ::: {.panel-tabset} + + #### Approve/reject individual issues + + Under each individual issue: + + - Click **{{< fa check >}} Approve** to create the validation issue and link it to your report. + - Click **{{< fa xmark >}} Reject** to reject the suggestion if it doesn't apply. + + #### Approve/reject all issues + + Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select: + + - **{{< fa check >}} Approve All** to approve all suggested issues at once. + - **{{< fa xmark >}} Reject All** to reject all suggested issues at once. + + #### Regenerate new suggestions + + Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select **{{< fa sync >}} Regenerate Issues**. + + ::: + +e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status.[^18] ### Manually link artifacts @@ -133,8 +186,7 @@ After you have mapped and assessed available evidence, link artifacts to reports ## Assign compliance assessments -{{< include _provide-compliance-assessments.qmd >}} - +{{< include _assign-compliance-assessments.qmd >}} @@ -165,3 +217,13 @@ After you have mapped and assessed available evidence, link artifacts to reports [^13]: [Work with content blocks](/guide/documentation/work-with-content-blocks.qmd#content-editing-toolbar) +[^14]: This feature requires AI capabilities to be enabled for your organization — contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface. + +[^15]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) + +[^16]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) + +[^17]: [Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview) + +[^18]: [Add and manage artifacts](add-manage-artifacts.qmd) + diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index 252b7a5e8..8766e4c65 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -232,7 +232,7 @@ Assess model compliance ### Assign compliance assessments -{{< include /guide/validation/_provide-compliance-assessments.qmd >}} +{{< include /guide/validation/_assign-compliance-assessments.qmd >}} ::: From 4b2c4864a5432d09882647ae64511b695e9a7185 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 17:29:29 -0700 Subject: [PATCH 07/36] Edit: Link artifacts to reports --- site/guide/validation/_link-artifacts-to-reports.qmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/guide/validation/_link-artifacts-to-reports.qmd b/site/guide/validation/_link-artifacts-to-reports.qmd index 3d372571b..7a66dd75a 100644 --- a/site/guide/validation/_link-artifacts-to-reports.qmd +++ b/site/guide/validation/_link-artifacts-to-reports.qmd @@ -30,7 +30,7 @@ c. Click **Update Linked Artifacts**. 1. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section. -1. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report**. +1. Under the Model Performance Metrics section, locate Artifacts then click **{{< fa link >}} Link Artifact**. 1. Select **Validation Issue** as the [type of artifact](/guide/validation/manage-artifact-types.qmd){target="_blank"}. From fabbf4018883f3a7667d3420135ddfe0bda6134f Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 17:34:51 -0700 Subject: [PATCH 08/36] save --- site/guide/validation/_assign-compliance-assessments.qmd | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/site/guide/validation/_assign-compliance-assessments.qmd b/site/guide/validation/_assign-compliance-assessments.qmd index ad5456259..aa1ea9c0d 100644 --- a/site/guide/validation/_assign-compliance-assessments.qmd +++ b/site/guide/validation/_assign-compliance-assessments.qmd @@ -15,13 +15,11 @@ Your organization can customize these options to match its own assessment framew 1. Click on a Validation type file.^[[Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview)] - Expand any subsection of the validation report you would like to work with. + Expand any subsection of the validation report you have attached evidence and artifacts for. -1. In any section of the documentation where the **[assessment]{.smallcaps}** dropdown menu is available, select one of the available assessment options. +1. Under Guideline, click **Select a value for this guideline** to select one of the available Assessment options. - Confirm that the compliance summary shown for each subsection provides an accurate overview for current qualitative and quantitative risk assessments. - -1. Click under **Risk Assessment Notes** to add your risk assessment notes for that section using the content editing toolbar.^[[Work with content blocks](/guide/documentation/work-with-content-blocks.qmd#content-editing-toolbar)] + At the top of the page for that subsection, confirm that the compliance summary shown provides an accurate overview for current qualitative and quantitative risk assessments for that subsection. :::: From 88240cbfecce3c7878742d45fa6ef231bb835059 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Wed, 20 May 2026 17:39:37 -0700 Subject: [PATCH 09/36] save --- site/guide/validation/_assign-compliance-assessments.qmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/site/guide/validation/_assign-compliance-assessments.qmd b/site/guide/validation/_assign-compliance-assessments.qmd index aa1ea9c0d..fd1bf481c 100644 --- a/site/guide/validation/_assign-compliance-assessments.qmd +++ b/site/guide/validation/_assign-compliance-assessments.qmd @@ -17,18 +17,18 @@ Your organization can customize these options to match its own assessment framew Expand any subsection of the validation report you have attached evidence and artifacts for. -1. Under Guideline, click **Select a value for this guideline** to select one of the available Assessment options. +1. Under Guideline, click **Select a value for this guideline** to choose one of the available Assessment options. At the top of the page for that subsection, confirm that the compliance summary shown provides an accurate overview for current qualitative and quantitative risk assessments for that subsection. :::: :::: {.content-hidden unless-format="revealjs"} -1. In the same Class Imbalance Assessment sub-section above the Risk Assessment Notes, locate the Guideline with the **[assessment]{.smallcaps}** drop-down. +1. In the same Class Imbalance Assessment sub-section above the Risk Assessment Notes, locate the Guideline with the **Assessment** drop-down. -1. Select one of the available assessment options. +1. Click **Select a value for this guideline** to choose one of the available assessment options. -1. Confirm that the compliance summary shown for each subsection under 2. Validation provides an accurate overview for current qualitative and quantitative risk assessments: +1. At the top of the page, confirm that the compliance summary shown for each subsection under 2. Validation provides an accurate overview for current qualitative and quantitative risk assessments: ![Risk assessment compliance summary](/guide/validation/assess-compliance-summary.png){fig-alt="A screenshot of the risk assessment compliance summary" .screenshot group="compliance"} From 890e95163c4a4ae57be47981b6b08cf070f0377b Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 11:03:31 -0700 Subject: [PATCH 10/36] oops, edited the notebooks not in the source, reverting --- .../1-set_up_validmind.ipynb | 104 +- .../2-start_development_process.ipynb | 64 +- .../3-integrate_custom_tests.ipynb | 32 +- .../4-finalize_testing_documentation.ipynb | 69 +- .../add-content-block.gif | Bin .../high-pearson-correlation-block.png | Bin .../selecting-confusion-matrix-test.png | Bin ...electing-high-pearson-correlation-test.png | Bin .../2-start_validation_process.ipynb | 889 -------- .../3-developing_challenger_model.ipynb | 893 -------- .../4-finalize_validation_reporting.ipynb | 1233 ----------- .../1-set_up_validmind_for_validation.ipynb | 62 +- .../2-start_validation_process.ipynb | 901 ++++++++ .../3-developing_potential_challenger.ipynb | 888 ++++++++ .../4-finalize_validation_reporting.ipynb | 1235 +++++++++++ .../class-imbalance-results-detail.png | Bin .../compliance-summary.png | Bin .../inserted-class-imbalance-results.png | Bin .../inserted-minimum-f1-scores.png | Bin .../link-artifact.png | Bin .../link-validator-evidence.png | Bin .../lr_model_champion.pkl | Bin .../selecting-class-imbalance-results.png | Bin .../selecting-minimum-f1-scores.png | Bin .../configure_dataset_features.ipynb | 42 +- .../load_datasets_predictions.ipynb | 42 +- .../use_dataset_model_objects.ipynb | 36 +- .../metrics/log_metrics_over_time.ipynb | 62 +- .../how_to/metrics/run_unit_metrics.ipynb | 44 +- .../qualitative_text_generation.ipynb | 1909 +++++++++-------- .../assign_scores_complete_tutorial.ipynb | 38 +- .../custom_tests/implement_custom_tests.ipynb | 44 +- .../integrate_external_test_providers.ipynb | 40 +- .../explore_tests/explore_test_suites.ipynb | 95 +- .../tests/explore_tests/explore_tests.ipynb | 14 +- ....ipynb => 1-run_dataset-based_tests.ipynb} | 48 +- ...sts.ipynb => 2-run_comparison_tests.ipynb} | 172 +- .../customize_test_result_descriptions.ipynb | 43 +- .../enable_pii_detection.ipynb | 159 +- ...tests_that_require_multiple_datasets.ipynb | 42 +- .../understand_utilize_rawdata.ipynb | 5 +- ...t_multiple_results_for_the_same_test.ipynb | 44 +- .../run_documentation_sections.ipynb | 42 +- .../run_documentation_tests_with_config.ipynb | 62 +- ...ation.Rmd => quickstart_documentation.Rmd} | 54 +- ...n.ipynb => quickstart_documentation.ipynb} | 352 +-- ...lidation.Rmd => quickstart_validation.Rmd} | 77 +- ...tion.ipynb => quickstart_validation.ipynb} | 373 ++-- .../1-set_up_validmind.ipynb | 104 +- .../2-start_development_process.ipynb | 64 +- .../3-integrate_custom_tests.ipynb | 32 +- .../4-finalize_testing_documentation.ipynb | 69 +- .../add-content-block.gif | Bin .../high-pearson-correlation-block.png | Bin .../selecting-confusion-matrix-test.png | Bin ...electing-high-pearson-correlation-test.png | Bin .../2-start_validation_process.ipynb | 889 -------- .../3-developing_challenger_model.ipynb | 893 -------- .../4-finalize_validation_reporting.ipynb | 1233 ----------- .../1-set_up_validmind_for_validation.ipynb | 62 +- .../2-start_validation_process.ipynb | 901 ++++++++ .../3-developing_potential_challenger.ipynb | 888 ++++++++ .../4-finalize_validation_reporting.ipynb | 1235 +++++++++++ .../class-imbalance-results-detail.png | Bin .../compliance-summary.png | Bin .../inserted-class-imbalance-results.png | Bin .../inserted-minimum-f1-scores.png | Bin .../link-artifact.png | Bin .../link-validator-evidence.png | Bin .../lr_model_champion.pkl | Bin .../selecting-class-imbalance-results.png | Bin .../selecting-minimum-f1-scores.png | Bin .../agents/document_agentic_ai.ipynb | 69 +- .../quickstart_option_pricing_models.ipynb | 42 +- ...start_option_pricing_models_quantlib.ipynb | 42 +- .../customer_churn_full_suite.py | 2 +- .../quickstart_code_explainer_demo.ipynb | 32 +- .../application_scorecard_executive.ipynb | 42 +- .../application_scorecard_full_suite.ipynb | 57 +- .../application_scorecard_with_bias.ipynb | 57 +- .../application_scorecard_with_ml.ipynb | 59 +- ...document_excel_application_scorecard.ipynb | 63 +- .../foundation_models_integration_demo.ipynb | 32 +- ...foundation_models_summarization_demo.ipynb | 34 +- .../hugging_face_integration_demo.ipynb | 32 +- .../hugging_face_summarization_demo.ipynb | 34 +- .../nlp_and_llm/llm_summarization_demo.ipynb | 32 +- .../nlp_and_llm/prompt_validation_demo.ipynb | 42 +- .../nlp_and_llm/rag_benchmark_demo.ipynb | 32 +- .../nlp_and_llm/rag_documentation_demo.ipynb | 32 +- ...ication_scorecard_ongoing_monitoring.ipynb | 45 +- ...rt_customer_churn_ongoing_monitoring.ipynb | 53 +- .../quickstart_regression_full_suite.ipynb | 57 +- .../quickstart_time_series_full_suite.ipynb | 57 +- .../quickstart_time_series_high_code.ipynb | 57 +- .../validate_application_scorecard.ipynb | 77 +- .../xgb_model_champion.pkl | Bin 97 files changed, 9085 insertions(+), 8575 deletions(-) rename site/notebooks/EXECUTED/{model_development => development}/1-set_up_validmind.ipynb (80%) rename site/notebooks/EXECUTED/{model_development => development}/2-start_development_process.ipynb (91%) rename site/notebooks/{tutorials/model_development => EXECUTED/development}/3-integrate_custom_tests.ipynb (95%) rename site/notebooks/{tutorials/model_development => EXECUTED/development}/4-finalize_testing_documentation.ipynb (88%) rename site/notebooks/EXECUTED/{model_development => development}/add-content-block.gif (100%) rename site/notebooks/EXECUTED/{model_development => development}/high-pearson-correlation-block.png (100%) rename site/notebooks/EXECUTED/{model_development => development}/selecting-confusion-matrix-test.png (100%) rename site/notebooks/EXECUTED/{model_development => development}/selecting-high-pearson-correlation-test.png (100%) delete mode 100644 site/notebooks/EXECUTED/model_validation/2-start_validation_process.ipynb delete mode 100644 site/notebooks/EXECUTED/model_validation/3-developing_challenger_model.ipynb delete mode 100644 site/notebooks/EXECUTED/model_validation/4-finalize_validation_reporting.ipynb rename site/notebooks/EXECUTED/{model_validation => validation}/1-set_up_validmind_for_validation.ipynb (81%) create mode 100644 site/notebooks/EXECUTED/validation/2-start_validation_process.ipynb create mode 100644 site/notebooks/EXECUTED/validation/3-developing_potential_challenger.ipynb create mode 100644 site/notebooks/EXECUTED/validation/4-finalize_validation_reporting.ipynb rename site/notebooks/EXECUTED/{model_validation => validation}/class-imbalance-results-detail.png (100%) rename site/notebooks/EXECUTED/{model_validation => validation}/compliance-summary.png (100%) rename site/notebooks/EXECUTED/{model_validation => validation}/inserted-class-imbalance-results.png (100%) rename site/notebooks/EXECUTED/{model_validation => validation}/inserted-minimum-f1-scores.png (100%) rename site/notebooks/EXECUTED/{model_validation => validation}/link-artifact.png (100%) rename site/notebooks/EXECUTED/{model_validation => validation}/link-validator-evidence.png (100%) rename site/notebooks/EXECUTED/{model_validation => validation}/lr_model_champion.pkl (100%) rename site/notebooks/EXECUTED/{model_validation => validation}/selecting-class-imbalance-results.png (100%) rename site/notebooks/EXECUTED/{model_validation => validation}/selecting-minimum-f1-scores.png (100%) rename site/notebooks/how_to/tests/run_tests/{1_run_dataset_based_tests.ipynb => 1-run_dataset-based_tests.ipynb} (90%) rename site/notebooks/how_to/tests/run_tests/{2_run_comparison_tests.ipynb => 2-run_comparison_tests.ipynb} (87%) rename site/notebooks/quickstart/{quickstart_model_documentation.Rmd => quickstart_documentation.Rmd} (69%) rename site/notebooks/quickstart/{quickstart_model_documentation.ipynb => quickstart_documentation.ipynb} (78%) rename site/notebooks/quickstart/{quickstart_model_validation.Rmd => quickstart_validation.Rmd} (69%) rename site/notebooks/quickstart/{quickstart_model_validation.ipynb => quickstart_validation.ipynb} (80%) rename site/notebooks/tutorials/{model_development => development}/1-set_up_validmind.ipynb (80%) rename site/notebooks/tutorials/{model_development => development}/2-start_development_process.ipynb (91%) rename site/notebooks/{EXECUTED/model_development => tutorials/development}/3-integrate_custom_tests.ipynb (95%) rename site/notebooks/{EXECUTED/model_development => tutorials/development}/4-finalize_testing_documentation.ipynb (88%) rename site/notebooks/tutorials/{model_development => development}/add-content-block.gif (100%) rename site/notebooks/tutorials/{model_development => development}/high-pearson-correlation-block.png (100%) rename site/notebooks/tutorials/{model_development => development}/selecting-confusion-matrix-test.png (100%) rename site/notebooks/tutorials/{model_development => development}/selecting-high-pearson-correlation-test.png (100%) delete mode 100644 site/notebooks/tutorials/model_validation/2-start_validation_process.ipynb delete mode 100644 site/notebooks/tutorials/model_validation/3-developing_challenger_model.ipynb delete mode 100644 site/notebooks/tutorials/model_validation/4-finalize_validation_reporting.ipynb rename site/notebooks/tutorials/{model_validation => validation}/1-set_up_validmind_for_validation.ipynb (81%) create mode 100644 site/notebooks/tutorials/validation/2-start_validation_process.ipynb create mode 100644 site/notebooks/tutorials/validation/3-developing_potential_challenger.ipynb create mode 100644 site/notebooks/tutorials/validation/4-finalize_validation_reporting.ipynb rename site/notebooks/tutorials/{model_validation => validation}/class-imbalance-results-detail.png (100%) rename site/notebooks/tutorials/{model_validation => validation}/compliance-summary.png (100%) rename site/notebooks/tutorials/{model_validation => validation}/inserted-class-imbalance-results.png (100%) rename site/notebooks/tutorials/{model_validation => validation}/inserted-minimum-f1-scores.png (100%) rename site/notebooks/tutorials/{model_validation => validation}/link-artifact.png (100%) rename site/notebooks/tutorials/{model_validation => validation}/link-validator-evidence.png (100%) rename site/notebooks/tutorials/{model_validation => validation}/lr_model_champion.pkl (100%) rename site/notebooks/tutorials/{model_validation => validation}/selecting-class-imbalance-results.png (100%) rename site/notebooks/tutorials/{model_validation => validation}/selecting-minimum-f1-scores.png (100%) rename site/notebooks/use_cases/{model_validation => validation}/validate_application_scorecard.ipynb (93%) rename site/notebooks/use_cases/{model_validation => validation}/xgb_model_champion.pkl (100%) diff --git a/site/notebooks/EXECUTED/model_development/1-set_up_validmind.ipynb b/site/notebooks/EXECUTED/development/1-set_up_validmind.ipynb similarity index 80% rename from site/notebooks/EXECUTED/model_development/1-set_up_validmind.ipynb rename to site/notebooks/EXECUTED/development/1-set_up_validmind.ipynb index 4244924b9..0c8316c27 100644 --- a/site/notebooks/EXECUTED/model_development/1-set_up_validmind.ipynb +++ b/site/notebooks/EXECUTED/development/1-set_up_validmind.ipynb @@ -2,14 +2,14 @@ "cells": [ { "cell_type": "markdown", - "id": "06993494", + "id": "3bd9bc41", "metadata": {}, "source": [ - "# ValidMind for model development 1 — Set up the ValidMind Library\n", + "# ValidMind for development 1 — Set up the ValidMind Library\n", "\n", - "Learn how to use ValidMind for your end-to-end model documentation process based on common model development scenarios with our series of four introductory notebooks. This first notebook walks you through the initial setup of the ValidMind Library.\n", + "Learn how to use ValidMind for your end-to-end documentation process based on common development scenarios with our series of four introductory notebooks. This first notebook walks you through the initial setup of the ValidMind Library.\n", "\n", - "These notebooks use a binary classification model as an example, but the same principles shown here apply to other model types.\n", + "These notebooks use a binary classification model as an example, but the same principles shown here apply to other record (model) types.\n", "\n", "
Learn by doing\n", "

\n", @@ -18,7 +18,7 @@ }, { "cell_type": "markdown", - "id": "5269a388", + "id": "b4b7c002", "metadata": {}, "source": [ "::: {.content-hidden when-format=\"html\"}\n", @@ -36,7 +36,7 @@ " - [Get your code snippet](#toc3_2_3__) \n", "- [Getting to know ValidMind](#toc4__) \n", " - [Preview the documentation template](#toc4_1__) \n", - " - [View model documentation in the ValidMind Platform](#toc4_1_1__) \n", + " - [View documentation in the ValidMind Platform](#toc4_1_1__) \n", " - [Explore available tests](#toc4_2__) \n", "- [Upgrade ValidMind](#toc5__) \n", "- [In summary](#toc6__) \n", @@ -56,14 +56,14 @@ }, { "cell_type": "markdown", - "id": "1020f3fa", + "id": "7b7de259", "metadata": {}, "source": [ "
\n", "\n", "## Introduction\n", "\n", - "Model development aims to produce a fit-for-purpose *champion model* by conducting thorough testing and analysis, supporting the capabilities of the model with evidence in the form of documentation and test results. Model documentation should be clear and comprehensive, ideally following a structure or template covering all aspects of compliance with model risk regulation.\n", + "Development aims to produce a fit-for-purpose *champion* by conducting thorough testing and analysis, supporting the capabilities of the champion with evidence in the form of documentation and test results. Documentation should be clear and comprehensive, ideally following a structure or template covering all aspects of compliance with risk regulation.\n", "\n", "A *binary classification model* is a type of predictive model used in churn analysis to identify customers who are likely to leave a service or subscription by analyzing various behavioral, transactional, and demographic factors.\n", "\n", @@ -73,21 +73,21 @@ }, { "cell_type": "markdown", - "id": "4424a3e8", + "id": "b68b9958", "metadata": {}, "source": [ "\n", "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models. \n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models. \n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators." + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators." ] }, { "cell_type": "markdown", - "id": "ed8cfd11", + "id": "3b520a7e", "metadata": {}, "source": [ "\n", @@ -101,23 +101,23 @@ }, { "cell_type": "markdown", - "id": "353613e5", + "id": "9b3108db", "metadata": {}, "source": [ "\n", "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind
" ] }, { "cell_type": "markdown", - "id": "63912e66", + "id": "f97d4266", "metadata": {}, "source": [ "\n", @@ -152,7 +152,7 @@ }, { "cell_type": "markdown", - "id": "7d039206", + "id": "bf5cd6c2", "metadata": {}, "source": [ "\n", @@ -162,7 +162,7 @@ }, { "cell_type": "markdown", - "id": "d6758437", + "id": "95bf9e4b", "metadata": {}, "source": [ "\n", @@ -188,51 +188,55 @@ }, { "cell_type": "markdown", - "id": "02f8b26f", + "id": "ad74254d", "metadata": {}, "source": [ "\n", "\n", "### Initialize the ValidMind Library\n", "\n", - "The ValidMind Library provides a rich collection of documentation tools and test suites, from documenting descriptions of datasets to validation and testing of models using a variety of open-source testing frameworks." + "The ValidMind Library provides a rich collection of documentation tools and test suites, from documenting descriptions of datasets to validation and testing using a variety of open-source testing frameworks." ] }, { "cell_type": "markdown", - "id": "706a1004", + "id": "a48cd34d", "metadata": {}, "source": [ "\n", "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { "cell_type": "markdown", - "id": "8ceb6261", + "id": "8ad7e39a", "metadata": {}, "source": [ "\n", "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -240,18 +244,20 @@ }, { "cell_type": "markdown", - "id": "acf3e1db", + "id": "3339f683", "metadata": {}, "source": [ "\n", "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -281,7 +287,7 @@ }, { "cell_type": "markdown", - "id": "3e0596f8", + "id": "61a021f3", "metadata": {}, "source": [ "\n", @@ -291,7 +297,7 @@ }, { "cell_type": "markdown", - "id": "bcd77028", + "id": "852db20d", "metadata": {}, "source": [ "\n", @@ -315,25 +321,25 @@ }, { "cell_type": "markdown", - "id": "025a518c", + "id": "65ed2873", "metadata": {}, "source": [ "\n", "\n", - "#### View model documentation in the ValidMind Platform\n", + "#### View documentation in the ValidMind Platform\n", "\n", "Next, let's head to the ValidMind Platform to see the template in action:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and select the model you registered for this \"ValidMind for model development\" series of notebooks.\n", + "2. In the left sidebar, navigate to **Inventory** and select the model you registered for this \"ValidMind for development\" series of notebooks.\n", "\n", "3. Click **Development** under Documents for your model and note how the structure of the documentation matches our preview above." ] }, { "cell_type": "markdown", - "id": "596d6d16", + "id": "cdbb94d2", "metadata": {}, "source": [ "\n", @@ -357,7 +363,7 @@ }, { "cell_type": "markdown", - "id": "30c4a1bc", + "id": "786f0d9c", "metadata": {}, "source": [ "\n", @@ -381,7 +387,7 @@ }, { "cell_type": "markdown", - "id": "e27b286f", + "id": "d2010ad4", "metadata": {}, "source": [ "If the version returned is lower than the version indicated in our [production open-source code](https://github.com/validmind/validmind-library/blob/prod/validmind/__version__.py), restart your notebook and run:\n", @@ -393,7 +399,7 @@ }, { "cell_type": "markdown", - "id": "75bf527b", + "id": "b637c5c6", "metadata": {}, "source": [ "You may need to restart your kernel after running the upgrade package for changes to be applied." @@ -401,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "b919c3a0", + "id": "dfef8925", "metadata": {}, "source": [ "\n", @@ -410,7 +416,7 @@ "\n", "In this first notebook, you learned how to:\n", "\n", - "- [x] Register a model within the ValidMind Platform\n", + "- [x] Register a record (model) within the ValidMind Platform\n", "- [x] Install and initialize the ValidMind Library\n", "- [x] Preview the documentation template for your model\n", "- [x] Explore the available tests offered by the ValidMind Library" @@ -418,7 +424,7 @@ }, { "cell_type": "markdown", - "id": "e9c62e9d", + "id": "186bee4f", "metadata": {}, "source": [ "\n", @@ -428,19 +434,19 @@ }, { "cell_type": "markdown", - "id": "8f1a7063", + "id": "7dbb07a1", "metadata": {}, "source": [ "\n", "\n", - "### Start the model development process\n", + "### Start the development process\n", "\n", - "Now that the ValidMind Library is connected to your model in the ValidMind Library with the correct template applied, we can go ahead and start the model development process: **[2 — Start the model development process](2-start_development_process.ipynb)**" + "Now that the ValidMind Library is connected to your model in the ValidMind Library with the correct template applied, we can go ahead and start the development process: **[2 — Start the development process](2-start_development_process.ipynb)**" ] }, { "cell_type": "markdown", - "id": "copyright-3e02e70c1d4d4840bf8d9ef44e2cf20c", + "id": "copyright-63fcb66be39b42d38ad874a72a66581b", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/EXECUTED/model_development/2-start_development_process.ipynb b/site/notebooks/EXECUTED/development/2-start_development_process.ipynb similarity index 91% rename from site/notebooks/EXECUTED/model_development/2-start_development_process.ipynb rename to site/notebooks/EXECUTED/development/2-start_development_process.ipynb index b01cb3536..abb3218ab 100644 --- a/site/notebooks/EXECUTED/model_development/2-start_development_process.ipynb +++ b/site/notebooks/EXECUTED/development/2-start_development_process.ipynb @@ -4,11 +4,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# ValidMind for model development 2 — Start the model development process\n", + "# ValidMind for development 2 — Start the development process\n", "\n", - "Learn how to use ValidMind for your end-to-end model documentation process with our series of four introductory notebooks. In this second notebook, you'll run tests and investigate results, then add the results or evidence to your documentation.\n", + "Learn how to use ValidMind for your end-to-end documentation process with our series of four introductory notebooks. In this second notebook, you'll run tests and investigate results, then add the results or evidence to your documentation.\n", "\n", - "You'll become familiar with the individual tests available in ValidMind, as well as how to run them and change parameters as necessary. Using ValidMind's repository of individual tests as building blocks helps you ensure that a model is being built appropriately. \n", + "You'll become familiar with the individual tests available in ValidMind, as well as how to run them and change parameters as necessary. Using ValidMind's repository of individual tests as building blocks helps you ensure that a record (model) is being built appropriately.\n", "\n", "**For a full list of out-of-the-box tests,** refer to our [Test descriptions](https://docs.validmind.ai/developer/model-testing/test-descriptions.html) or try the interactive [Test sandbox](https://docs.validmind.ai/developer/model-testing/test-sandbox.html).\n", "\n", @@ -29,24 +29,25 @@ " - [Import sample dataset](#toc2_2__) \n", " - [Identify qualitative tests](#toc2_3__) \n", " - [Initialize the ValidMind dataset](#toc2_4__) \n", - "- [Running tests](#toc3__) \n", + "- [Running tests on datasets](#toc3__) \n", " - [Run tabular data tests](#toc3_1__) \n", " - [Utilize test output](#toc3_2__) \n", "- [Documenting test results](#toc4__) \n", " - [Run and log multiple tests](#toc4_1__) \n", " - [Run and log an individual test](#toc4_2__) \n", - " - [Add individual test results to model documentation](#toc4_2_1__) \n", - "- [Model testing](#toc5__) \n", + " - [Add individual test results to documentation](#toc4_2_1__) \n", + "- [Running model evaluation tests](#toc5__) \n", " - [Train simple logistic regression model](#toc5_1__) \n", - " - [Initialize model evaluation objects](#toc5_2__) \n", - " - [Assign predictions](#toc5_3__) \n", + " - [Initialize ValidMind datasets](#toc5_2__) \n", + " - [Initialize a ValidMind model](#toc5_3__) \n", + " - [Assign predictions](#toc5_3_1__) \n", " - [Run the model evaluation tests](#toc5_4__) \n", "- [In summary](#toc6__) \n", "- [Next steps](#toc7__) \n", " - [Integrate custom tests](#toc7_1__) \n", "\n", ":::\n", - "\n", diff --git a/site/notebooks/tutorials/model_development/3-integrate_custom_tests.ipynb b/site/notebooks/EXECUTED/development/3-integrate_custom_tests.ipynb similarity index 95% rename from site/notebooks/tutorials/model_development/3-integrate_custom_tests.ipynb rename to site/notebooks/EXECUTED/development/3-integrate_custom_tests.ipynb index b4b990346..7f32f3e45 100644 --- a/site/notebooks/tutorials/model_development/3-integrate_custom_tests.ipynb +++ b/site/notebooks/EXECUTED/development/3-integrate_custom_tests.ipynb @@ -4,14 +4,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# ValidMind for model development 3 — Integrate custom tests\n", + "# ValidMind for development 3 — Integrate custom tests\n", "\n", - "Learn how to use ValidMind for your end-to-end model documentation process with our series of four introductory notebooks. In this third notebook, supplement ValidMind tests with your own and include them as additional evidence in your documentation.\n", + "Learn how to use ValidMind for your end-to-end documentation process with our series of four introductory notebooks. In this third notebook, supplement ValidMind tests with your own and include them as additional evidence in your documentation.\n", "\n", "This notebook assumes that you already have a repository of custom made tests considered critical to include in your documentation. A custom test is any function that takes a set of inputs and parameters as arguments and returns one or more outputs:\n", "\n", "- The function can be as simple or as complex as you need it to be — it can use external libraries, make API calls, or do anything else that you can do in Python.\n", - "- The only requirement is that the function signature and return values can be \"understood\" and handled by the ValidMind Library. As such, custom tests offer added flexibility by extending the default tests provided by ValidMind, enabling you to document any type of model or use case.\n", + "- The only requirement is that the function signature and return values can be \"understood\" and handled by the ValidMind Library. As such, custom tests offer added flexibility by extending the default tests provided by ValidMind, enabling you to document any type of record (model) or use case.\n", "\n", "**For a more in-depth introduction to custom tests,** refer to our [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb) notebook.\n", "\n", @@ -69,7 +69,7 @@ "\n", "## Prerequisites\n", "\n", - "In order to integrate custom tests with your model documentation with this notebook, you'll need to first have:\n", + "In order to integrate custom tests with your documentation with this notebook, you'll need to first have:\n", "\n", "- [x] Registered a model within the ValidMind Platform with a predefined documentation template\n", "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", @@ -82,7 +82,7 @@ "Refer to the first two notebooks in this series:\n", "\n", "- 1 — Set up the ValidMind Library\n", - "- 2 — Start the model development process\n", + "- 2 — Start the development process\n", "\n", "\n" ] @@ -95,7 +95,7 @@ "\n", "## Setting up\n", "\n", - "This section should be quite familiar to you — as we performed the same actions in the previous notebook, **[2 — Start the model development process](2-start_development_process.ipynb)**." + "This section should be quite familiar to you — as we performed the same actions in the previous notebook, **[2 — Start the development process](2-start_development_process.ipynb)**." ] }, { @@ -109,8 +109,10 @@ "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -385,7 +387,7 @@ "\n", "#### Initialize the ValidMind objects\n", "\n", - "Let's initialize the ValidMind `Dataset` and `Model` objects in preparation for assigning model predictions to each dataset:" + "Let's initialize the ValidMind `Dataset` and `Model` objects in preparation for assigning predictions to each dataset:" ] }, { @@ -394,7 +396,7 @@ "metadata": {}, "outputs": [], "source": [ - "# Initialize the datasets into their own dataset objects\n", + "# Initialize the datasets into their own ValidMind dataset objects\n", "vm_train_ds = vm.init_dataset(\n", " input_id=\"train_dataset_final\",\n", " dataset=train_df,\n", @@ -407,7 +409,7 @@ " target_column=\"Exited\",\n", ")\n", "\n", - "# Initialize a model object\n", + "# Initialize the ValidMind model object\n", "vm_model = vm.init_model(log_reg, input_id=\"log_reg_model_v1\")" ] }, @@ -487,7 +489,7 @@ "\n", "- The function `confusion_matrix` takes two arguments `dataset` and `model`. This is a `VMDataset` and `VMModel` object respectively.\n", " - `VMDataset` objects allow you to access the dataset's true (target) values by accessing the `.y` attribute.\n", - " - `VMDataset` objects allow you to access the predictions for a given model by accessing the `.y_pred()` method.\n", + " - `VMDataset` objects allow you to access the predictions for a given record (model) by accessing the `.y_pred()` method.\n", "- The function docstring provides a description of what the test does. This will be displayed along with the result in this notebook as well as in the ValidMind Platform.\n", "- The function body calculates the confusion matrix using the `sklearn.metrics.confusion_matrix` function as we just did above.\n", "- The function then returns the `ConfusionMatrixDisplay.figure_` object — this is important as the ValidMind Library expects the output of the custom test to be a plot or a table.\n", @@ -672,7 +674,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for this particular test ID. \n", + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for this particular test ID. \n", "

\n", "That's expected, as when we run individual tests the results logged need to be manually added to your documentation within the ValidMind Platform.
" ] @@ -685,7 +687,7 @@ "\n", "## Using external test providers\n", "\n", - "Creating inline custom tests with a function is a great way to customize your model documentation. However, sometimes you may want to reuse the same set of tests across multiple models and share them with others in your organization. In this case, you can create an external custom *test provider* that will allow you to load custom tests from a local folder or a Git repository.\n", + "Creating inline custom tests with a function is a great way to customize your documentation. However, sometimes you may want to reuse the same set of tests across multiple records (models) and share them with others in your organization. In this case, you can create an external custom *test provider* that will allow you to load custom tests from a local folder or a Git repository.\n", "\n", "In this section you will learn how to declare a local filesystem test provider that allows loading tests from a local folder following these high level steps:\n", "\n", @@ -738,7 +740,7 @@ "After running the command above, confirm that a new `my_tests` directory was created successfully. For example:\n", "\n", "```\n", - "~/notebooks/tutorials/model_development/my_tests/\n", + "~/notebooks/tutorials/development/my_tests/\n", "```" ] }, @@ -901,7 +903,7 @@ "\n", "## Add test results to documentation\n", "\n", - "With our custom tests run and results logged to the ValidMind Platform, let's head to the model we connected to at the beginning of this notebook and insert our test results into the documentation ([Need more help?](https://docs.validmind.ai/developer/model-documentation/work-with-test-results.html)):\n", + "With our custom tests run and results logged to the ValidMind Platform, let's head to the model we connected to at the beginning of this notebook and insert our test results into the documentation (**Learn more:** [Work with test results](https://docs.validmind.ai/guide/documentation/work-with-test-results.html)):\n", "\n", "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", "\n", diff --git a/site/notebooks/tutorials/model_development/4-finalize_testing_documentation.ipynb b/site/notebooks/EXECUTED/development/4-finalize_testing_documentation.ipynb similarity index 88% rename from site/notebooks/tutorials/model_development/4-finalize_testing_documentation.ipynb rename to site/notebooks/EXECUTED/development/4-finalize_testing_documentation.ipynb index 086ccc202..0dbc8d3be 100644 --- a/site/notebooks/tutorials/model_development/4-finalize_testing_documentation.ipynb +++ b/site/notebooks/EXECUTED/development/4-finalize_testing_documentation.ipynb @@ -4,11 +4,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# ValidMind for model development 4 — Finalize testing and documentation\n", + "# ValidMind for development 4 — Finalize testing and documentation\n", "\n", - "Learn how to use ValidMind for your end-to-end model documentation process with our introductory notebook series. In this last notebook, finalize the testing and documentation of your model and have a fully documented sample model ready for review.\n", + "Learn how to use ValidMind for your end-to-end documentation process with our introductory notebook series. In this last notebook, finalize the testing and documentation of your model and have a fully documented sample model ready for review.\n", "\n", - "We'll first use [`run_documentation_tests()`](https://docs.validmind.ai/validmind/validmind.html#run_documentation_tests) previously covered in **[2 — Start the model development process](2-start_development_process.ipynb)** to ensure that your custom test results generated in **[3 — Integrate custom tests](3-integrate_custom_tests.ipynb)** are included in your documentation. Then, we'll view and update the configuration for the entire model documentation template to suit your needs.\n", + "We'll first use [`run_documentation_tests()`](https://docs.validmind.ai/validmind/validmind.html#run_documentation_tests) previously covered in **[2 — Start the development process](2-start_development_process.ipynb)** to ensure that your custom test results generated in **[3 — Integrate custom tests](3-integrate_custom_tests.ipynb)** are included in your documentation. Then, we'll view and update the configuration for the entire documentation template to suit your needs.\n", "\n", "
Learn by doing\n", "

\n", @@ -34,11 +34,12 @@ " - [Add a local test provider](#toc2_4_2__) \n", "- [Reconnect to ValidMind](#toc3__) \n", "- [Include custom test results](#toc4__) \n", - "- [Documentation template configuration](#toc5__) \n", - " - [Update the config](#toc5_1__) \n", + "- [Configuring documentation template tests](#toc5__) \n", + " - [Preview test configuration](#toc5_1__) \n", + " - [Run updated documentation section tests](#toc5_2__) \n", "- [In summary](#toc6__) \n", "- [Next steps](#toc7__) \n", - " - [Work with your model documentation](#toc7_1__) \n", + " - [Work with your documentation](#toc7_1__) \n", " - [Learn more](#toc7_2__) \n", " - [Use cases](#toc7_2_1__) \n", " - [Discover more learning resources](#toc7_2_2__) \n", @@ -78,7 +79,7 @@ "Refer to the first three notebooks in this series:\n", "\n", "- 1 — Set up the ValidMind Library\n", - "- 2 — Start the model development process\n", + "- 2 — Start the development process\n", "- 3 — Integrate custom tests\n", "\n", "
" @@ -106,8 +107,10 @@ "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -391,7 +394,7 @@ "metadata": {}, "outputs": [], "source": [ - "# Initialize the datasets into their own dataset objects\n", + "# Initialize the datasets into their own ValidMind dataset objects\n", "vm_train_ds = vm.init_dataset(\n", " input_id=\"train_dataset_final\",\n", " dataset=train_df,\n", @@ -404,7 +407,7 @@ " target_column=\"Exited\",\n", ")\n", "\n", - "# Initialize a model object\n", + "# Initialize the ValidMind model object\n", "vm_model = vm.init_model(log_reg, input_id=\"log_reg_model_v1\")" ] }, @@ -637,7 +640,7 @@ "\n", "Let's run all tests in the Model Evaluation section of the documentation. Note that we have been running the sample custom confusion matrix with `normalize=True` to demonstrate the ability to provide custom parameters.\n", "\n", - "In the **Run the model evaluation tests** section of **[2 — Start the model development process](2-start_development_process.ipynb)**, you learned how to assign inputs to individual tests with [`run_documentation_tests()`](https://docs.validmind.ai/validmind/validmind.html#run_documentation_tests). Assigning parameters is similar, you only need to provide assign a `params` dictionary to a given test ID, `my_test_provider.ConfusionMatrix` in this case." + "In the **Run the model evaluation tests** section of **[2 — Start the development process](2-start_development_process.ipynb)**, you learned how to assign inputs to individual tests with [`run_documentation_tests()`](https://docs.validmind.ai/validmind/validmind.html#run_documentation_tests). Assigning parameters is similar, you only need to provide assign a `params` dictionary to a given test ID, `my_test_provider.ConfusionMatrix` in this case." ] }, { @@ -678,7 +681,7 @@ "source": [ "\n", "\n", - "## Documentation template configuration\n", + "## Configuring documentation template tests\n", "\n", "Let's call the utility function [`vm.get_test_suite().get_default_config()`](https://docs.validmind.ai/validmind/validmind/vm_models.html#TestSuite.get_default_config) which will return the **default configuration for the entire documentation template as a dictionary:**\n", "\n", @@ -706,11 +709,11 @@ "source": [ "\n", "\n", - "### Update the config\n", + "### Preview test configuration\n", "\n", - "The default config does not assign any inputs to a test, but you can assign inputs to individual tests as needed depending on the datasets and models you want to pass to individual tests.\n", + "The default config does not assign any inputs to a test, but you can assign inputs to individual tests as needed depending on the datasets and records (models) you want to pass to individual tests.\n", "\n", - "For this particular documentation template (binary classification), the ValidMind Library provides a sample configuration that can be used to populate the entire model documentation using the following inputs as placeholders:\n", + "For this particular documentation template (binary classification), the ValidMind Library provides a sample configuration that can be used to populate the entire documentation using the following inputs as placeholders:\n", "\n", "- A **`raw_dataset`** raw dataset\n", "- A **`train_dataset`** training dataset\n", @@ -739,7 +742,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Using this sample configuration, let's finish populating model documentation by running all tests for the Model Development section of the documentation.\n", + "\n", + "\n", + "### Run updated documentation section tests\n", + "\n", + "Using this sample configuration, let's finish populating documentation by running all tests for the Model Development section of the documentation.\n", "\n", "Recall that the training and test datasets in our exercise have the following `input_id` values:\n", "\n", @@ -863,13 +870,13 @@ "In this final notebook, you learned how to:\n", "\n", "- [x] Refresh the connection from the ValidMind Library to the ValidMind Platform after you've inserted test-driven blocks to your documentation\n", - "- [x] Include custom test results in your model documentation\n", - "- [x] View and configure the configuration for your model documentation template\n", + "- [x] Include custom test results in your documentation\n", + "- [x] View and configure the configuration for your documentation template\n", "\n", - "With our ValidMind for model development series of notebooks, you learned how to document a model end-to-end with the ValidMind Library by running through some common scenarios in a typical model development setting:\n", + "With our ValidMind for development series of notebooks, you learned how to document a record (model) end-to-end with the ValidMind Library by running through some common scenarios in a typical development setting:\n", "\n", "- Running out-of-the-box tests\n", - "- Documenting your model by adding evidence to model documentation\n", + "- Documenting your record (model) by adding evidence to documentation\n", "- Extending the capabilities of the ValidMind Library by implementing custom tests\n", "- Ensuring that the documentation is complete by running all tests in the documentation template" ] @@ -889,21 +896,21 @@ "source": [ "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "Now that you've logged all your test results and generated a draft for your model documentation, head to the ValidMind Platform to wrap up your model documentation. Continue to work on your model documentation by:\n", + "Now that you've logged all your test results and generated a draft for your documentation, head to the ValidMind Platform to wrap up your documentation. Continue to work on your documentation by:\n", "\n", "- **Run and log more tests:** Use the skills you learned in this series of notebooks to run and log more individual tests, including custom tests, then insert them into your documentation as supplementary evidence. (Learn more: [`validmind.tests`](https://docs.validmind.ai/validmind/validmind/tests.html))\n", "\n", - "- **Inserting additional test results:** Add **Test-Driven Blocks** under any relevant section of your model documentation. (Learn more: [Work with test results](https://docs.validmind.ai/guide/model-documentation/work-with-test-results.html))\n", + "- **Inserting additional test results:** Add **Test-Driven Blocks** under any relevant section of your documentation. (Learn more: [Work with test results](https://docs.validmind.ai/guide/documentation/work-with-test-results.html))\n", "\n", - "- **Making qualitative edits to your test descriptions:** Click on the description of any inserted test results to review and edit the ValidMind-generated test descriptions for quality and accuracy. (Learn more: [Working with model documentation](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html#add-or-edit-documentation))\n", + "- **Making qualitative edits to your test descriptions:** Click on the description of any inserted test results to review and edit the ValidMind-generated test descriptions for quality and accuracy. (Learn more: [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html#add-or-edit-documentation))\n", "\n", - "- **View guidelines:** In any section of your model documentation, click **​ValidMind Insights** in the top right corner to reveal the Documentation Guidelines for each section to help guide the contents of your model documentation. (Learn more: [View documentation guidelines](https://docs.validmind.ai/guide/model-documentation/view-documentation-guidelines.html))\n", + "- **View guidelines:** In any section of your documentation, click **ValidMind Insights** in the top right corner to reveal the Documentation Guidelines for each section to help guide the contents of your documentation. (Learn more: [View development guidelines](https://docs.validmind.ai/guide/documentation/view-development-guidelines.html))\n", "\n", - "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including model validators. Review suggested changes in your content blocks, work with versioned history, and use comments to discuss specific portions of your model documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/model-documentation/collaborate-with-others.html))\n", + "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including validators. Review suggested changes in your content blocks, work with versioned history, and use comments to discuss specific portions of your documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/documentation/collaborate-with-others.html))\n", "\n", - "When your model documentation is complete and ready for review, submit it for approval from the same ValidMind Platform where you made your edits and collaborated with the rest of your organization, ensuring transparency and a thorough model development history. (Learn more: [Submit for approval](https://docs.validmind.ai/guide/model-documentation/submit-for-approval.html))" + "When your documentation is complete and ready for review, submit it for approval from the same ValidMind Platform where you made your edits and collaborated with the rest of your organization, ensuring transparency and a thorough development history. (Learn more: [Submit documents](https://docs.validmind.ai/guide/documentation/submit-documents.html))" ] }, { @@ -914,7 +921,7 @@ "\n", "### Learn more\n", "\n", - "Now that you're familiar with the basics, you can explore the following notebooks to get a deeper understanding on how the ValidMind Library allows you generate model documentation for any use case:" + "Now that you're familiar with the basics, you can explore the following notebooks to get a deeper understanding on how the ValidMind Library allows you generate documentation for any use case:" ] }, { @@ -941,7 +948,7 @@ "Learn more about the ValidMind Library tools we used in this notebook:\n", "\n", "- [Explore tests](../../how_to/tests/explore_tests/explore_tests.ipynb)\n", - "- [Run dataset-based tests](../../how_to/tests/run_tests/1_run_dataset_based_tests.ipynb)\n", + "- [Run dataset-based tests](../../how_to/tests/run_tests/1-run_dataset-based_tests.ipynb)\n", "- [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb)\n", "- [Integrate external test providers](../../how_to/tests/custom_tests/integrate_external_test_providers.ipynb)\n", "- [Configure dataset features](../../how_to/data_and_datasets/dataset_inputs/configure_dataset_features.ipynb)\n", @@ -950,14 +957,14 @@ "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] }, { "cell_type": "markdown", - "id": "copyright-2efae7bbb0f74bd5abe37252cd48b951", + "id": "copyright-9be88159d1f24db999931c13536a491c", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/EXECUTED/model_development/add-content-block.gif b/site/notebooks/EXECUTED/development/add-content-block.gif similarity index 100% rename from site/notebooks/EXECUTED/model_development/add-content-block.gif rename to site/notebooks/EXECUTED/development/add-content-block.gif diff --git a/site/notebooks/EXECUTED/model_development/high-pearson-correlation-block.png b/site/notebooks/EXECUTED/development/high-pearson-correlation-block.png similarity index 100% rename from site/notebooks/EXECUTED/model_development/high-pearson-correlation-block.png rename to site/notebooks/EXECUTED/development/high-pearson-correlation-block.png diff --git a/site/notebooks/EXECUTED/model_development/selecting-confusion-matrix-test.png b/site/notebooks/EXECUTED/development/selecting-confusion-matrix-test.png similarity index 100% rename from site/notebooks/EXECUTED/model_development/selecting-confusion-matrix-test.png rename to site/notebooks/EXECUTED/development/selecting-confusion-matrix-test.png diff --git a/site/notebooks/EXECUTED/model_development/selecting-high-pearson-correlation-test.png b/site/notebooks/EXECUTED/development/selecting-high-pearson-correlation-test.png similarity index 100% rename from site/notebooks/EXECUTED/model_development/selecting-high-pearson-correlation-test.png rename to site/notebooks/EXECUTED/development/selecting-high-pearson-correlation-test.png diff --git a/site/notebooks/EXECUTED/model_validation/2-start_validation_process.ipynb b/site/notebooks/EXECUTED/model_validation/2-start_validation_process.ipynb deleted file mode 100644 index 7fafa5ab5..000000000 --- a/site/notebooks/EXECUTED/model_validation/2-start_validation_process.ipynb +++ /dev/null @@ -1,889 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ValidMind for model validation 2 — Start the model validation process\n", - "\n", - "Learn how to use ValidMind for your end-to-end model validation process with our series of four introductory notebooks. In this second notebook, independently verify the data quality tests performed on the dataset used to train the champion model.\n", - "\n", - "You'll learn how to run relevant validation tests with ValidMind, log the results of those tests to the ValidMind Platform, and insert your logged test results as evidence into your validation report. You'll become familiar with the tests available in ValidMind, as well as how to run them. Running tests during model validation is crucial to the effective challenge process, as we want to independently evaluate the evidence and assessments provided by the model development team.\n", - "\n", - "While running our tests in this notebook, we'll focus on:\n", - "\n", - "- Ensuring that data used for training and testing the model is of appropriate data quality\n", - "- Ensuring that the raw data has been preprocessed appropriately and that the resulting final datasets reflects this\n", - "\n", - "**For a full list of out-of-the-box tests,** refer to our [Test descriptions](https://docs.validmind.ai/developer/model-testing/test-descriptions.html) or try the interactive [Test sandbox](https://docs.validmind.ai/developer/model-testing/test-sandbox.html).\n", - "\n", - "
Learn by doing\n", - "

\n", - "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "::: {.content-hidden when-format=\"html\"}\n", - "## Contents \n", - "- [Prerequisites](#toc1__) \n", - "- [Setting up](#toc2__) \n", - " - [Initialize the ValidMind Library](#toc2_1__) \n", - "- [Load the sample dataset](#toc3__) \n", - "- [Verifying data quality adjustments](#toc4__) \n", - " - [Identify qualitative tests](#toc4_1__) \n", - " - [Initialize the ValidMind dataset](#toc4_2__) \n", - " - [Run data quality tests](#toc4_3__) \n", - " - [Run tabular data tests](#toc4_3_1__) \n", - " - [Remove highly correlated features](#toc4_4__) \n", - "- [Documenting test results](#toc5__) \n", - " - [Configure and run comparison tests](#toc5_1__) \n", - " - [Log tests with unique identifiers](#toc5_2__) \n", - " - [Add test results to reporting](#toc5_3__) \n", - "- [Split the preprocessed dataset](#toc6__) \n", - " - [Initialize the split datasets](#toc6_1__) \n", - "- [In summary](#toc7__) \n", - "- [Next steps](#toc8__) \n", - " - [Develop potential challenger models](#toc8_1__) \n", - "\n", - ":::\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Prerequisites\n", - "\n", - "In order to independently assess the quality of your datasets with notebook, you'll need to first have:\n", - "\n", - "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", - "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", - "\n", - "
Need help with the above steps?\n", - "

\n", - "Refer to the first notebook in this series: 1 — Set up the ValidMind Library for validation
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Setting up" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind Library\n", - "\n", - "First, let's connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", - "\n", - "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", - "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Make sure the ValidMind Library is installed\n", - "\n", - "%pip install -q validmind\n", - "\n", - "# Load your model identifier credentials from an `.env` file\n", - "\n", - "%load_ext dotenv\n", - "%dotenv .env\n", - "\n", - "# Or replace with your code snippet\n", - "\n", - "import validmind as vm\n", - "\n", - "vm.init(\n", - " # api_host=\"...\",\n", - " # api_key=\"...\",\n", - " # api_secret=\"...\",\n", - " # model=\"...\",\n", - " document=\"validation-report\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Load the sample dataset\n", - "\n", - "Let's first import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle, which was used to develop the dummy champion model.\n", - "\n", - "We'll use this dataset to review steps that should have been conducted during the initial development and documentation of the model to ensure that the model was built correctly. By independently performing steps taken by the model development team, we can confirm whether the model was built using appropriate and properly processed data.\n", - "\n", - "In our below example, note that:\n", - "\n", - "- The target column, `Exited` has a value of `1` when a customer has churned and `0` otherwise.\n", - "- The ValidMind Library provides a wrapper to automatically load the dataset as a [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) object. A Pandas Dataframe is a two-dimensional tabular data structure that makes use of rows and columns." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from validmind.datasets.classification import customer_churn as demo_dataset\n", - "\n", - "print(\n", - " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", - ")\n", - "\n", - "raw_df = demo_dataset.load_data()\n", - "raw_df.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Verifying data quality adjustments\n", - "\n", - "Let's say that thanks to the documentation submitted by the model development team ([Learn more ...](https://docs.validmind.ai/developer/validmind-library.html#for-model-development)), we know that the sample dataset was first modified before being used to train the champion model. After performing some data quality assessments on the raw dataset, it was determined that the dataset required rebalancing, and highly correlated features were also removed." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Identify qualitative tests\n", - "\n", - "During model validation, we use the same data processing logic and training procedure to confirm that the model's results can be reproduced independently, so let's start by doing some data quality assessments by running a few individual tests just like the development team did.\n", - "\n", - "Use the [`vm.tests.list_tests()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) introduced by the first notebook in this series in combination with [`vm.tests.list_tags()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tags) and [`vm.tests.list_tasks()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tasks) to find which prebuilt tests are relevant for data quality assessment:\n", - "\n", - "- **`tasks`** represent the kind of modeling task associated with a test. Here we'll focus on `classification` tasks.\n", - "- **`tags`** are free-form descriptions providing more details about the test, for example, what category the test falls into. Here we'll focus on the `data_quality` tag." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Get the list of available task types\n", - "sorted(vm.tests.list_tasks())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Get the list of available tags\n", - "sorted(vm.tests.list_tags())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can pass `tags` and `tasks` as parameters to the `vm.tests.list_tests()` function to filter the tests based on the tags and task types.\n", - "\n", - "For example, to find tests related to tabular data quality for classification models, you can call `list_tests()` like this:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.list_tests(task=\"classification\", tags=[\"tabular_data\", \"data_quality\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Want to learn more about navigating ValidMind tests?\n", - "

\n", - "Refer to our notebook outlining the utilities available for viewing and understanding available ValidMind tests: Explore tests
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind dataset\n", - "\n", - "With the individual tests we want to run identified, the next step is to connect your data with a ValidMind `Dataset` object. **This step is always necessary every time you want to connect a dataset to documentation and produce test results through ValidMind,** but you only need to do it once per dataset.\n", - "\n", - "Initialize a ValidMind dataset object using the [`init_dataset` function](https://docs.validmind.ai/validmind/validmind.html#init_dataset) from the ValidMind (`vm`) module. For this example, we'll pass in the following arguments:\n", - "\n", - "- **`dataset`** — The raw dataset that you want to provide as input to tests.\n", - "- **`input_id`** — A unique identifier that allows tracking what inputs are used when running each individual test.\n", - "- **`target_column`** — A required argument if tests require access to true values. This is the name of the target column in the dataset." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# vm_raw_dataset is now a VMDataset object that you can pass to any ValidMind test\n", - "vm_raw_dataset = vm.init_dataset(\n", - " dataset=raw_df,\n", - " input_id=\"raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Run data quality tests\n", - "\n", - "Now that we know how to initialize a ValidMind `dataset` object, we're ready to run some tests!\n", - "\n", - "You run individual tests by calling [the `run_test` function](https://docs.validmind.ai/validmind/validmind/tests.html#run_test) provided by the `validmind.tests` module. For the examples below, we'll pass in the following arguments:\n", - "\n", - "- **`test_id`** — The ID of the test to run, as seen in the `ID` column when you run `list_tests`. \n", - "- **`params`** — A dictionary of parameters for the test. These will override any `default_params` set in the test definition. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Run tabular data tests\n", - "\n", - "The inputs expected by a test can also be found in the test definition — let's take [`validmind.data_validation.DescriptiveStatistics`](https://docs.validmind.ai/tests/data_validation/DescriptiveStatistics.html) as an example.\n", - "\n", - "Note that the output of the [`describe_test()` function](https://docs.validmind.ai/validmind/validmind/tests.html#describe_test) below shows that this test expects a `dataset` as input:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.describe_test(\"validmind.data_validation.DescriptiveStatistics\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let's run a few tests to assess the quality of the dataset:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "result2 = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.ClassImbalance\",\n", - " inputs={\"dataset\": vm_raw_dataset},\n", - " params={\"min_percent_threshold\": 30},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The output above shows that [the class imbalance test](https://docs.validmind.ai/tests/data_validation/ClassImbalance.html) did not pass according to the value we set for `min_percent_threshold` — great, this matches what was reported by the model development team.\n", - "\n", - "To address this issue, we'll re-run the test on some processed data. In this case let's apply a very simple rebalancing technique to the dataset:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", - "\n", - "# Create a balanced dataset with the same number of exited and not exited customers\n", - "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", - "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", - "\n", - "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", - "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "With this new balanced dataset, you can re-run the individual test to see if it now passes the class imbalance test requirement.\n", - "\n", - "As this is technically a different dataset, **remember to first initialize a new ValidMind `Dataset` object** to pass in as input as required by `run_test()`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", - "vm_balanced_raw_dataset = vm.init_dataset(\n", - " dataset=balanced_raw_df,\n", - " input_id=\"balanced_raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Pass the initialized `balanced_raw_dataset` as input into the test run\n", - "result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.ClassImbalance\",\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - " params={\"min_percent_threshold\": 30},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Remove highly correlated features\n", - "\n", - "Next, let's also remove highly correlated features from our dataset as outlined by the development team. Removing highly correlated features helps make the model simpler, more stable, and easier to understand.\n", - "\n", - "You can utilize the output from a ValidMind test for further use — in this below example, to retrieve the list of features with the highest correlation coefficients and use them to reduce the final list of features for modeling.\n", - "\n", - "First, we'll run [`validmind.data_validation.HighPearsonCorrelation`](https://docs.validmind.ai/tests/data_validation/HighPearsonCorrelation.html) with the `balanced_raw_dataset` we initialized previously as input as is for comparison with later runs:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The output above shows that the test did not pass according to the value we set for `max_threshold` — as reported and expected.\n", - "\n", - "`corr_result` is an object of type `TestResult`. We can inspect the result object to see what the test has produced:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(type(corr_result))\n", - "print(\"Result ID: \", corr_result.result_id)\n", - "print(\"Params: \", corr_result.params)\n", - "print(\"Passed: \", corr_result.passed)\n", - "print(\"Tables: \", corr_result.tables)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's remove the highly correlated features and create a new VM `dataset` object.\n", - "\n", - "We'll begin by checking out the table in the result and extracting a list of features that failed the test:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract table from `corr_result.tables`\n", - "features_df = corr_result.tables[0].data\n", - "features_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract list of features that failed the test\n", - "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", - "high_correlation_features" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, extract the feature names from the list of strings (example: `(Age, Exited)` > `Age`):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", - "high_correlation_features" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, it's time to re-initialize the dataset with the highly correlated features removed.\n", - "\n", - "**Note the use of a different `input_id`.** This allows tracking the inputs used when running each individual test." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Remove the highly correlated features from the dataset\n", - "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", - "\n", - "# Re-initialize the dataset object\n", - "vm_raw_dataset_preprocessed = vm.init_dataset(\n", - " dataset=balanced_raw_no_age_df,\n", - " input_id=\"raw_dataset_preprocessed\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Re-running the test with the reduced feature set should pass the test:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also plot the correlation matrix to visualize the new correlation between features:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.PearsonCorrelationMatrix\",\n", - " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Documenting test results\n", - "\n", - "Now that we've done some analysis on two different datasets, we can use ValidMind to easily document why certain things were done to our raw data with testing to support it. Every test result returned by the `run_test()` function has a `.log()` method that can be used to send the test results to the ValidMind Platform.\n", - "\n", - "When logging validation test results to the platform, you'll need to manually add those results to the desired section of the validation report. To demonstrate how to add test results to your validation report, we'll log our data quality tests and insert the results via the ValidMind Platform." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Configure and run comparison tests\n", - "\n", - "Below, we'll perform comparison tests between the original raw dataset (`raw_dataset`) and the final preprocessed (`raw_dataset_preprocessed`) dataset, again logging the results to the ValidMind Platform. \n", - "\n", - "We can specify all the tests we'd ike to run in a dictionary called `test_config`, and we'll pass in the following arguments for each test:\n", - "\n", - " - **`params`:** Individual test parameters.\n", - " - **`input_grid`:** Individual test inputs to compare. In this case, we'll input our two datasets for comparison.\n", - "\n", - "**Note here that the `input_grid` expects the `input_id` of the dataset as the value rather than the variable name we specified:**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Individual test config with inputs specified\n", - "test_config = {\n", - " \"validmind.data_validation.ClassImbalance\": {\n", - " \"input_grid\": {\"dataset\": [\"raw_dataset\", \"raw_dataset_preprocessed\"]},\n", - " \"params\": {\"min_percent_threshold\": 30}\n", - " },\n", - " \"validmind.data_validation.HighPearsonCorrelation\": {\n", - " \"input_grid\": {\"dataset\": [\"raw_dataset\", \"raw_dataset_preprocessed\"]},\n", - " \"params\": {\"max_threshold\": 0.3}\n", - " },\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Then batch run and log our tests in `test_config`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for t in test_config:\n", - " print(t)\n", - " try:\n", - " # Check if test has input_grid\n", - " if 'input_grid' in test_config[t]:\n", - " # For tests with input_grid, pass the input_grid configuration\n", - " if 'params' in test_config[t]:\n", - " vm.tests.run_test(t, input_grid=test_config[t]['input_grid'], params=test_config[t]['params']).log()\n", - " else:\n", - " vm.tests.run_test(t, input_grid=test_config[t]['input_grid']).log()\n", - " else:\n", - " # Original logic for regular inputs\n", - " if 'params' in test_config[t]:\n", - " vm.tests.run_test(t, inputs=test_config[t]['inputs'], params=test_config[t]['params']).log()\n", - " else:\n", - " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", - " except Exception as e:\n", - " print(f\"Error running test {t}: {str(e)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for some test IDs. \n", - "

\n", - "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Log tests with unique identifiers\n", - "\n", - "Next, we'll use the previously initialized `vm_balanced_raw_dataset` (that still has a highly correlated `Age` column) as input to run an individual test, then log the result to the ValidMind Platform.\n", - "\n", - "When running individual tests, **you can use a custom `result_id` to tag the individual result with a unique identifier:**\n", - "\n", - "- This `result_id` can be appended to `test_id` with a `:` separator.\n", - "- The `balanced_raw_dataset` result identifier will correspond to the `balanced_raw_dataset` input, the dataset that still has the `Age` column." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation:balanced_raw_dataset\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - ")\n", - "result.log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Add test results to reporting\n", - "\n", - "With some test results logged, let's head to the model we connected to at the beginning of this notebook and learn how to insert a test result into our validation report ([Need more help?](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#link-validator-evidence)).\n", - "\n", - "While the example below focuses on a specific test result, you can follow the same general procedure for your other results:\n", - "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", - "\n", - "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", - "\n", - "3. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section.\n", - "\n", - "4. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**:\n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "5. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** \n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "6. Click **Update Linked Evidence** to add the test results to the validation report.\n", - "\n", - " Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report:\n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "7. Note that these test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset.\n", - "\n", - " Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test:\n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "
Here in this text editor, you can make qualitative edits to the draft that ValidMind generated to finalize the test results.\n", - "

\n", - "Learn more: Work with content blocks
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Split the preprocessed dataset\n", - "\n", - "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing.\n", - "\n", - "To start, let's grab the first few rows from the `balanced_raw_no_age_df` dataset we initialized earlier:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "balanced_raw_no_age_df.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Before training the model, we need to encode the categorical features in the dataset:\n", - "\n", - "- Use the `OneHotEncoder` class from the `sklearn.preprocessing` module to encode the categorical features.\n", - "- The categorical features in the dataset are `Geography` and `Gender`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "balanced_raw_no_age_df = pd.get_dummies(\n", - " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", - ")\n", - "balanced_raw_no_age_df.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Splitting our dataset into training and testing is essential for proper validation testing, as this helps assess how well the model generalizes to unseen data:\n", - "\n", - "- We start by dividing our `balanced_raw_no_age_df` dataset into training and test subsets using `train_test_split`, with 80% of the data allocated to training (`train_df`) and 20% to testing (`test_df`).\n", - "- From each subset, we separate the features (all columns except \"Exited\") into `X_train` and `X_test`, and the target column (\"Exited\") into `y_train` and `y_test`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "\n", - "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", - "\n", - "X_train = train_df.drop(\"Exited\", axis=1)\n", - "y_train = train_df[\"Exited\"]\n", - "X_test = test_df.drop(\"Exited\", axis=1)\n", - "y_test = test_df[\"Exited\"]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the split datasets\n", - "\n", - "Next, let's initialize the training and testing datasets so they are available for use:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm_train_ds = vm.init_dataset(\n", - " input_id=\"train_dataset_final\",\n", - " dataset=train_df,\n", - " target_column=\"Exited\",\n", - ")\n", - "\n", - "vm_test_ds = vm.init_dataset(\n", - " input_id=\"test_dataset_final\",\n", - " dataset=test_df,\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## In summary\n", - "\n", - "In this second notebook, you learned how to:\n", - "\n", - "- [x] Import a sample dataset\n", - "- [x] Identify which tests you might want to run with ValidMind\n", - "- [x] Initialize ValidMind datasets\n", - "- [x] Run individual tests\n", - "- [x] Utilize the output from tests you’ve run\n", - "- [x] Log test results as evidence to the ValidMind Platform\n", - "- [x] Insert test results into your validation report" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Next steps\n", - "\n", - "\n", - "\n", - "### Develop potential challenger models\n", - "\n", - "Now that you're familiar with the basics of using the ValidMind Library, let's use it to develop a challenger model: **[3 — Developing a potential challenger model](3-developing_challenger_model.ipynb)**" - ] - }, - { - "cell_type": "markdown", - "id": "copyright-a798ee72616640f5bead3af25e6e9434", - "metadata": {}, - "source": [ - "\n", - "\n", - "\n", - "\n", - "***\n", - "\n", - "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", - "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", - "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ValidMind Library", - "language": "python", - "name": "validmind" - }, - "language_info": { - "name": "python", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/site/notebooks/EXECUTED/model_validation/3-developing_challenger_model.ipynb b/site/notebooks/EXECUTED/model_validation/3-developing_challenger_model.ipynb deleted file mode 100644 index e86fde85d..000000000 --- a/site/notebooks/EXECUTED/model_validation/3-developing_challenger_model.ipynb +++ /dev/null @@ -1,893 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ValidMind for model validation 3 — Developing a potential challenger model\n", - "\n", - "Learn how to use ValidMind for your end-to-end model validation process with our series of four introductory notebooks. In this third notebook, develop a potential challenger model and then pass your model and its predictions to ValidMind.\n", - "\n", - "A *challenger model* is an alternate model that attempts to outperform the champion model, ensuring that the best performing fit-for-purpose model is always considered for deployment. Challenger models also help avoid over-reliance on a single model, and allow testing of new features, algorithms, or data sources without disrupting the production lifecycle.\n", - "\n", - "
Learn by doing\n", - "

\n", - "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "::: {.content-hidden when-format=\"html\"}\n", - "## Contents \n", - "- [Prerequisites](#toc1_) \n", - "- [Setting up](#toc2_) \n", - " - [Initialize the ValidMind Library](#toc2_1_) \n", - " - [Import the sample dataset](#toc2_2_) \n", - " - [Preprocess the dataset](#toc2_2_1_) \n", - " - [Split the preprocessed dataset](#toc2_3_) \n", - "- [Import the champion model](#toc3_) \n", - "- [Training a potential challenger model](#toc4_) \n", - " - [Random forest classification model](#toc4_1_) \n", - "- [Initializing the model objects](#toc5_) \n", - " - [Initialize the model objects](#toc5_1_) \n", - " - [Assign predictions](#toc5_2_) \n", - "- [Running model evaluation tests](#toc6_) \n", - " - [Run model performance tests](#toc6_1_) \n", - " - [Evaluate performance of the champion model](#toc6_1_1_) \n", - " - [Log an artifact](#toc6_1_2_) \n", - " - [Evaluate performance of challenger model](#toc6_1_3_) \n", - " - [Run diagnostic tests](#toc6_2_) \n", - " - [Run feature importance tests](#toc6_3_) \n", - "- [In summary](#toc7_) \n", - "- [Next steps](#toc8_) \n", - " - [Finalize validation and reporting](#toc8_1_) \n", - "\n", - ":::\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Prerequisites\n", - "\n", - "In order to develop potential challenger models with this notebook, you'll need to first have:\n", - "\n", - "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", - "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", - "- [x] Learned how to import and initialize datasets for use with ValidMind\n", - "- [x] Understood the basics of how to run and log tests with ValidMind\n", - "- [x] Run data quality tests on the datasets used to train the champion model, and logged the results of those tests to ValidMind\n", - "- [x] Inserted your logged test results into your validation report\n", - "\n", - "
Need help with the above steps?\n", - "

\n", - "Refer to the first two notebooks in this series:\n", - "\n", - "- 1 — Set up the ValidMind Library for validation\n", - "- 2 — Start the model validation process\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Setting up\n", - "\n", - "This section should be quite familiar to you — as we performed the same actions in the previous notebook, **[2 — Start the model validation process](2-start_validation_process.ipynb)**." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind Library\n", - "\n", - "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", - "\n", - "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", - "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Make sure the ValidMind Library is installed\n", - "\n", - "%pip install -q validmind\n", - "\n", - "# Load your model identifier credentials from an `.env` file\n", - "\n", - "%load_ext dotenv\n", - "%dotenv .env\n", - "\n", - "# Or replace with your code snippet\n", - "\n", - "import validmind as vm\n", - "\n", - "vm.init(\n", - " # api_host=\"...\",\n", - " # api_key=\"...\",\n", - " # api_secret=\"...\",\n", - " # model=\"...\",\n", - " document=\"validation-report\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Import the sample dataset\n", - "\n", - "Next, we'll load in the sample [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset used to develop the champion model that we will independently preprocess:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load the sample dataset\n", - "from validmind.datasets.classification import customer_churn as demo_dataset\n", - "\n", - "print(\n", - " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", - ")\n", - "\n", - "raw_df = demo_dataset.load_data()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Preprocess the dataset\n", - "\n", - "We’ll apply a simple rebalancing technique to the dataset before continuing:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", - "\n", - "# Create a balanced dataset with the same number of exited and not exited customers\n", - "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", - "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", - "\n", - "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", - "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let’s also quickly remove highly correlated features from the dataset using the output from a ValidMind test.\n", - "\n", - "As you know, before we can run tests you’ll need to initialize a ValidMind dataset object with the [`init_dataset` function](https://docs.validmind.ai/validmind/validmind.html#init_dataset):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", - "vm_balanced_raw_dataset = vm.init_dataset(\n", - " dataset=balanced_raw_df,\n", - " input_id=\"balanced_raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "With our balanced dataset initialized, we can then run our test and utilize the output to help us identify the features we want to remove:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# From result object, extract table from `corr_result.tables`\n", - "features_df = corr_result.tables[0].data\n", - "features_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract list of features that failed the test\n", - "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", - "high_correlation_features" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract feature names from the list of strings\n", - "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", - "high_correlation_features" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can then re-initialize the dataset with a different `input_id` and the highly correlated features removed and re-run the test for confirmation:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Remove the highly correlated features from the dataset\n", - "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", - "\n", - "# Re-initialize the dataset object\n", - "vm_raw_dataset_preprocessed = vm.init_dataset(\n", - " dataset=balanced_raw_no_age_df,\n", - " input_id=\"raw_dataset_preprocessed\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Re-run the test with the reduced feature set\n", - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Split the preprocessed dataset\n", - "\n", - "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Encode categorical features in the dataset\n", - "balanced_raw_no_age_df = pd.get_dummies(\n", - " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", - ")\n", - "balanced_raw_no_age_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "\n", - "# Split the dataset into train and test\n", - "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", - "\n", - "X_train = train_df.drop(\"Exited\", axis=1)\n", - "y_train = train_df[\"Exited\"]\n", - "X_test = test_df.drop(\"Exited\", axis=1)\n", - "y_test = test_df[\"Exited\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the split datasets\n", - "vm_train_ds = vm.init_dataset(\n", - " input_id=\"train_dataset_final\",\n", - " dataset=train_df,\n", - " target_column=\"Exited\",\n", - ")\n", - "\n", - "vm_test_ds = vm.init_dataset(\n", - " input_id=\"test_dataset_final\",\n", - " dataset=test_df,\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Import the champion model\n", - "\n", - "With our raw dataset assessed and preprocessed, let's go ahead and import the champion model submitted by the model development team in the format of a `.pkl` file: **[lr_model_champion.pkl](lr_model_champion.pkl)**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import the champion model\n", - "import pickle as pkl\n", - "\n", - "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", - " log_reg = pkl.load(f)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Training a potential challenger model\n", - "\n", - "We're curious how an alternate model compares to our champion model, so let's train a challenger model as a basis for our testing.\n", - "\n", - "Our champion *logistic regression model* is a simpler, parametric model that assumes a linear relationship between the independent variables and the log-odds of the outcome. While logistic regression may not capture complex patterns as effectively, it offers a high degree of interpretability and is easier to explain to stakeholders. However, model risk is not calculated in isolation from a single factor, but rather in consideration with trade-offs in predictive performance, ease of interpretability, and overall alignment with business objectives." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Random forest classification model\n", - "\n", - "A *random forest classification model* is an ensemble machine learning algorithm that uses multiple decision trees to classify data. In ensemble learning, multiple models are combined to improve prediction accuracy and robustness.\n", - "\n", - "Random forest classification models generally have higher accuracy because they capture complex, non-linear relationships, but as a result they lack transparency in their predictions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import the Random Forest Classification model\n", - "from sklearn.ensemble import RandomForestClassifier\n", - "\n", - "# Create the model instance with 50 decision trees\n", - "rf_model = RandomForestClassifier(\n", - " n_estimators=50,\n", - " random_state=42,\n", - ")\n", - "\n", - "# Train the model\n", - "rf_model.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Initializing the model objects" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the model objects\n", - "\n", - "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our two models.\n", - "\n", - "You simply initialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the champion logistic regression model\n", - "vm_log_model = vm.init_model(\n", - " log_reg,\n", - " input_id=\"log_model_champion\",\n", - ")\n", - "\n", - "# Initialize the challenger random forest classification model\n", - "vm_rf_model = vm.init_model(\n", - " rf_model,\n", - " input_id=\"rf_model\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Assign predictions\n", - "\n", - "With our models registered, we'll move on to assigning both the predictive probabilities coming directly from each model's predictions, and the binary prediction after applying the cutoff threshold described in the Compute binary predictions step above.\n", - "\n", - "- The [`assign_predictions()` method](https://docs.validmind.ai/validmind/validmind/vm_models.html#assign_predictions) from the `Dataset` object can link existing predictions to any number of models.\n", - "- This method links the model's class prediction values and probabilities to our `vm_train_ds` and `vm_test_ds` datasets.\n", - "\n", - "If no prediction values are passed, the method will compute predictions automatically:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Champion — Logistic regression model\n", - "vm_train_ds.assign_predictions(model=vm_log_model)\n", - "vm_test_ds.assign_predictions(model=vm_log_model)\n", - "\n", - "# Challenger — Random forest classification model\n", - "vm_train_ds.assign_predictions(model=vm_rf_model)\n", - "vm_test_ds.assign_predictions(model=vm_rf_model)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Running model evaluation tests\n", - "\n", - "With our setup complete, let's run the rest of our validation tests. Since we have already verified the data quality of the dataset used to train our champion model, we will now focus on comprehensive performance evaluations of both the champion and challenger models." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Run model performance tests\n", - "\n", - "Let's run some performance tests, beginning with independent testing of our champion logistic regression model, then moving on to our potential challenger model.\n", - "\n", - "Use [`vm.tests.list_tests()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) to identify all the model performance tests for classification:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "vm.tests.list_tests(tags=[\"model_performance\"], task=\"classification\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We'll isolate the specific tests we want to run in `mpt`:\n", - "\n", - "- [`ClassifierPerformance`](https://docs.validmind.ai/tests/model_validation/sklearn/ClassifierPerformance.html)\n", - "- [`ConfusionMatrix`](https://docs.validmind.ai/tests/model_validation/sklearn/ConfusionMatrix.html)\n", - "- [`MinimumAccuracy`](https://docs.validmind.ai/tests/model_validation/sklearn/MinimumAccuracy.html)\n", - "- [`MinimumF1Score`](https://docs.validmind.ai/tests/model_validation/sklearn/MinimumF1Score.html)\n", - "- [`ROCCurve`](https://docs.validmind.ai/tests/model_validation/sklearn/ROCCurve.html)\n", - "\n", - "As we learned in the previous notebook [2 — Start the model validation process](2-start_validation_process.ipynb), you can use a custom `result_id` to tag the individual result with a unique identifier by appending this `result_id` to the `test_id` with a `:` separator. We'll append an identifier for our champion model here:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "mpt = [\n", - " \"validmind.model_validation.sklearn.ClassifierPerformance:logreg_champion\",\n", - " \"validmind.model_validation.sklearn.ConfusionMatrix:logreg_champion\",\n", - " \"validmind.model_validation.sklearn.MinimumAccuracy:logreg_champion\",\n", - " \"validmind.model_validation.sklearn.MinimumF1Score:logreg_champion\",\n", - " \"validmind.model_validation.sklearn.ROCCurve:logreg_champion\"\n", - "]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Evaluate performance of the champion model\n", - "\n", - "Now, let's run and log our batch of model performance tests using our testing dataset (`vm_test_ds`) for our champion model:\n", - "\n", - "- The test set serves as a proxy for real-world data, providing an unbiased estimate of model performance since it was not used during training or tuning.\n", - "- The test set also acts as protection against selection bias and model tweaking, giving a final, more unbiased checkpoint." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for test in mpt:\n", - " vm.tests.run_test(\n", - " test,\n", - " inputs={\n", - " \"dataset\": vm_test_ds, \"model\" : vm_log_model,\n", - " },\n", - " ).log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for some test IDs. \n", - "

\n", - "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Log an artifact\n", - "\n", - "As we can observe from the output above, our champion model doesn't pass the `MinimumAccuracy` based on the default thresholds of the out-of-the-box test, so let's log an artifact (finding) in the ValidMind Platform ([Need more help?](https://docs.validmind.ai/guide/model-validation/add-manage-artifacts.html)):\n", - "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", - "\n", - "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", - "\n", - "3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section.\n", - "\n", - "4. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report**:\n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "5. Select **Validation Issue** as the type of artifact.\n", - "\n", - "6. Click **+ Add Validation Issue** to add a validation issue type artifact.\n", - "\n", - "76. Enter in the details for your validation issue, for example:\n", - "\n", - " - **TITLE** — Champion Logistic Regression Model Fails Minimum Accuracy Threshold\n", - " - **RISK AREA** — Model Performance\n", - " - **DOCUMENTATION SECTION** — 3.2. Model Evaluation\n", - " - **DESCRIPTION** — The logistic regression champion model was subjected to a Minimum Accuracy test to determine whether its predictive accuracy meets the predefined performance threshold of 0.7. The model achieved an accuracy score of 0.6136, which falls below the required minimum. As a result, the test produced a Fail outcome.\n", - "\n", - "8. Click **Save**.\n", - "\n", - "9. Select the validation issue you just added to link to your validation report and click **Update Linked Artifacts** to insert your validation issue.\n", - "\n", - "10. Click on the validation issue to expand the issue, where you can adjust details such as severity, owner, due date, status, etc. as well as include proposed remediation plans or supporting documentation as attachments." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Evaluate performance of challenger model\n", - "\n", - "We've now conducted similar tests as the model development team for our champion model, with the aim of verifying their test results.\n", - "\n", - "Next, let's see how our challenger models compare. We'll use the same batch of tests here as we did in `mpt`, but append a different `result_id` to indicate that these results should be associated with our challenger model:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "mpt_chall = [\n", - " \"validmind.model_validation.sklearn.ClassifierPerformance:champion_vs_challenger\",\n", - " \"validmind.model_validation.sklearn.ConfusionMatrix:champion_vs_challenger\",\n", - " \"validmind.model_validation.sklearn.MinimumAccuracy:champion_vs_challenger\",\n", - " \"validmind.model_validation.sklearn.MinimumF1Score:champion_vs_challenger\",\n", - " \"validmind.model_validation.sklearn.ROCCurve:champion_vs_challenger\"\n", - "]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We'll run each test once for each model with the same `vm_test_ds` dataset to compare them:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for test in mpt_chall:\n", - " vm.tests.run_test(\n", - " test,\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", - " }\n", - " ).log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Based on the performance metrics, our challenger random forest classification model passes the MinimumAccuracy where our champion did not.\n", - "

\n", - "In your validation report, support your recommendation in your validation issue's Proposed Remediation Plan to investigate the usage of our challenger model by inserting the performance tests we logged with this notebook into the appropriate section.
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Run diagnostic tests\n", - "\n", - "Next, we want to inspect the robustness and stability testing comparison between our champion and challenger model.\n", - "\n", - "Use `list_tests()` to list all available diagnosis tests applicable to classification tasks:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.list_tests(tags=[\"model_diagnosis\"], task=\"classification\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let’s now assess the models for potential signs of *overfitting* and identify any sub-segments where performance may inconsistent with the [`OverfitDiagnosis` test](https://docs.validmind.ai/tests/model_validation/sklearn/OverfitDiagnosis.html).\n", - "\n", - "Overfitting occurs when a model learns the training data too well, capturing not only the true pattern but noise and random fluctuations resulting in excellent performance on the training dataset but poor generalization to new, unseen data:\n", - "\n", - "- Since the training dataset (`vm_train_ds`) was used to fit the model, we use this set to establish a baseline performance for how well the model performs on data it has already seen.\n", - "- The testing dataset (`vm_test_ds`) was never seen during training, and here simulates real-world generalization, or how well the model performs on new, unseen data. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.run_test(\n", - " test_id=\"validmind.model_validation.sklearn.OverfitDiagnosis:champion_vs_challenger\",\n", - " input_grid={\n", - " \"datasets\": [[vm_train_ds,vm_test_ds]],\n", - " \"model\" : [vm_log_model,vm_rf_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's also conduct *robustness* and *stability* testing of the two models with the [`RobustnessDiagnosis` test](https://docs.validmind.ai/tests/model_validation/sklearn/RobustnessDiagnosis.html). Robustness refers to a model's ability to maintain consistent performance, and stability refers to a model's ability to produce consistent outputs over time across different data subsets.\n", - "\n", - "Again, we'll use both the training and testing datasets to establish baseline performance and to simulate real-world generalization:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.run_test(\n", - " test_id=\"validmind.model_validation.sklearn.RobustnessDiagnosis:Champion_vs_LogRegression\",\n", - " input_grid={\n", - " \"datasets\": [[vm_train_ds,vm_test_ds]],\n", - " \"model\" : [vm_log_model,vm_rf_model]\n", - " },\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Run feature importance tests\n", - "\n", - "We also want to verify the relative influence of different input features on our models' predictions, as well as inspect the differences between our champion and challenger model to see if a certain model offers more understandable or logical importance scores for features.\n", - "\n", - "Use `list_tests()` to identify all the feature importance tests for classification:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Store the feature importance tests\n", - "FI = vm.tests.list_tests(tags=[\"feature_importance\"], task=\"classification\",pretty=False)\n", - "FI" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We'll only use our testing dataset (`vm_test_ds`) here, to provide a realistic, unseen sample that mimic future or production data, as the training dataset has already influenced our model during learning:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Run and log our feature importance tests for both models for the testing dataset\n", - "for test in FI:\n", - " vm.tests.run_test(\n", - " \"\".join((test,':champion_vs_challenger')),\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", - " },\n", - " ).log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## In summary\n", - "\n", - "In this third notebook, you learned how to:\n", - "\n", - "- [x] Initialize ValidMind model objects\n", - "- [x] Assign predictions and probabilities to your ValidMind model objects\n", - "- [x] Use tests from ValidMind to evaluate the potential of models, including comparative tests between champion and challenger models\n", - "- [x] Log an artifact in the ValidMind Platform" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Next steps\n", - "\n", - "\n", - "\n", - "### Finalize validation and reporting\n", - "\n", - "Now that you're familiar with the basics of using the ValidMind Library to run and log validation tests, let's learn how to implement some custom tests and wrap up our validation: **[4 — Finalize validation and reporting](4-finalize_validation_reporting.ipynb)**" - ] - }, - { - "cell_type": "markdown", - "id": "copyright-0b98aebe3459409f848c2c03b413d181", - "metadata": {}, - "source": [ - "\n", - "\n", - "\n", - "\n", - "***\n", - "\n", - "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", - "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", - "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ValidMind Library", - "language": "python", - "name": "validmind" - }, - "language_info": { - "name": "python", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/site/notebooks/EXECUTED/model_validation/4-finalize_validation_reporting.ipynb b/site/notebooks/EXECUTED/model_validation/4-finalize_validation_reporting.ipynb deleted file mode 100644 index 7c4f49e81..000000000 --- a/site/notebooks/EXECUTED/model_validation/4-finalize_validation_reporting.ipynb +++ /dev/null @@ -1,1233 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ValidMind for model validation 4 — Finalize testing and reporting\n", - "\n", - "Learn how to use ValidMind for your end-to-end model validation process with our series of four introductory notebooks. In this last notebook, finalize the compliance assessment process and have a complete validation report ready for review.\n", - "\n", - "This notebook will walk you through how to supplement ValidMind tests with your own custom tests and include them as additional evidence in your validation report. A custom test is any function that takes a set of inputs and parameters as arguments and returns one or more outputs:\n", - "\n", - "- The function can be as simple or as complex as you need it to be — it can use external libraries, make API calls, or do anything else that you can do in Python.\n", - "- The only requirement is that the function signature and return values can be \"understood\" and handled by the ValidMind Library. As such, custom tests offer added flexibility by extending the default tests provided by ValidMind, enabling you to document any type of model or use case.\n", - "\n", - "**For a more in-depth introduction to custom tests,** refer to our [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb) notebook.\n", - "\n", - "
Learn by doing\n", - "

\n", - "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "::: {.content-hidden when-format=\"html\"}\n", - "## Contents \n", - "- [Prerequisites](#toc1__) \n", - "- [Setting up](#toc2__) \n", - " - [Initialize the ValidMind Library](#toc2_1__) \n", - " - [Import the sample dataset](#toc2_2__) \n", - " - [Split the preprocessed dataset](#toc2_3__) \n", - " - [Import the champion model](#toc2_4__) \n", - " - [Train potential challenger model](#toc2_5__) \n", - " - [Initialize the model objects](#toc2_6__) \n", - "- [Implementing custom tests](#toc3__) \n", - " - [Implement a custom inline test](#toc3_1__) \n", - " - [Create a confusion matrix plot](#toc3_1_1__) \n", - " - [Add parameters to custom tests](#toc3_1_2__) \n", - " - [Pass parameters to custom tests](#toc3_1_3__) \n", - " - [Use external test providers](#toc3_2__) \n", - " - [Create custom tests folder](#toc3_2_1__) \n", - " - [Save an inline test](#toc3_2_2__) \n", - " - [Register a local test provider](#toc3_2_3__) \n", - "- [Verify test runs](#toc4__) \n", - "- [In summary](#toc5__) \n", - "- [Next steps](#toc6__) \n", - " - [Work with your validation report](#toc6_1__) \n", - " - [Learn more](#toc6_2__) \n", - " - [Use cases](#toc6_2_1__) \n", - " - [Discover more learning resources](#toc6_2_2__) \n", - "\n", - ":::\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Prerequisites\n", - "\n", - "In order to finalize validation and reporting, you'll need to first have:\n", - "\n", - "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", - "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", - "- [x] Learned how to import and initialize datasets and models for use with ValidMind\n", - "- [x] Understood the basics of how to identify and run validation tests\n", - "- [x] Run validation tests for your champion and challenger models, and logged the results of those tests to the ValidMind Platform\n", - "- [x] Inserted your logged test results into your validation report\n", - "- [x] Added some preliminary artifacts (findings) to your validation report\n", - "\n", - "
Need help with the above steps?\n", - "

\n", - "Refer to the first three notebooks in this series:\n", - "\n", - "- 1 — Set up the ValidMind Library for validation\n", - "- 2 — Start the model validation process\n", - "- 2 — Developing a potential challenger model\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Setting up\n", - "\n", - "This section should be very familiar to you now — as we performed the same actions in the previous two notebooks in this series." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind Library\n", - "\n", - "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", - "\n", - "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", - "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Make sure the ValidMind Library is installed\n", - "\n", - "%pip install -q validmind\n", - "\n", - "# Load your model identifier credentials from an `.env` file\n", - "\n", - "%load_ext dotenv\n", - "%dotenv .env\n", - "\n", - "# Or replace with your code snippet\n", - "\n", - "import validmind as vm\n", - "\n", - "vm.init(\n", - " # api_host=\"...\",\n", - " # api_key=\"...\",\n", - " # api_secret=\"...\",\n", - " # model=\"...\",\n", - " document=\"validation-report\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Import the sample dataset\n", - "\n", - "Next, we'll load in the same sample [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset used to develop the champion model that we will independently preprocess:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load the sample dataset\n", - "from validmind.datasets.classification import customer_churn as demo_dataset\n", - "\n", - "print(\n", - " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", - ")\n", - "\n", - "raw_df = demo_dataset.load_data()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the raw dataset for use in ValidMind tests\n", - "vm_raw_dataset = vm.init_dataset(\n", - " dataset=raw_df,\n", - " input_id=\"raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", - "\n", - "# Create a balanced dataset with the same number of exited and not exited customers\n", - "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", - "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", - "\n", - "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", - "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let’s also quickly remove highly correlated features from the dataset using the output from a ValidMind test:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", - "vm_balanced_raw_dataset = vm.init_dataset(\n", - " dataset=balanced_raw_df,\n", - " input_id=\"balanced_raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# From result object, extract table from `corr_result.tables`\n", - "features_df = corr_result.tables[0].data\n", - "features_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract list of features that failed the test\n", - "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", - "high_correlation_features" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract feature names from the list of strings\n", - "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", - "high_correlation_features" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Remove the highly correlated features from the dataset\n", - "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", - "\n", - "# Re-initialize the dataset object\n", - "vm_raw_dataset_preprocessed = vm.init_dataset(\n", - " dataset=balanced_raw_no_age_df,\n", - " input_id=\"raw_dataset_preprocessed\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Re-run the test with the reduced feature set\n", - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Split the preprocessed dataset\n", - "\n", - "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Encode categorical features in the dataset\n", - "balanced_raw_no_age_df = pd.get_dummies(\n", - " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", - ")\n", - "balanced_raw_no_age_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "\n", - "# Split the dataset into train and test\n", - "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", - "\n", - "X_train = train_df.drop(\"Exited\", axis=1)\n", - "y_train = train_df[\"Exited\"]\n", - "X_test = test_df.drop(\"Exited\", axis=1)\n", - "y_test = test_df[\"Exited\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the split datasets\n", - "vm_train_ds = vm.init_dataset(\n", - " input_id=\"train_dataset_final\",\n", - " dataset=train_df,\n", - " target_column=\"Exited\",\n", - ")\n", - "\n", - "vm_test_ds = vm.init_dataset(\n", - " input_id=\"test_dataset_final\",\n", - " dataset=test_df,\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Import the champion model\n", - "\n", - "With our raw dataset assessed and preprocessed, let's go ahead and import the champion model submitted by the model development team in the format of a `.pkl` file: **[lr_model_champion.pkl](lr_model_champion.pkl)**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import the champion model\n", - "import pickle as pkl\n", - "\n", - "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", - " log_reg = pkl.load(f)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Train potential challenger model\n", - "\n", - "We'll also train our random forest classification challenger model to see how it compares:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import the Random Forest Classification model\n", - "from sklearn.ensemble import RandomForestClassifier\n", - "\n", - "# Create the model instance with 50 decision trees\n", - "rf_model = RandomForestClassifier(\n", - " n_estimators=50,\n", - " random_state=42,\n", - ")\n", - "\n", - "# Train the model\n", - "rf_model.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the model objects\n", - "\n", - "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our two models:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the champion logistic regression model\n", - "vm_log_model = vm.init_model(\n", - " log_reg,\n", - " input_id=\"log_model_champion\",\n", - ")\n", - "\n", - "# Initialize the challenger random forest classification model\n", - "vm_rf_model = vm.init_model(\n", - " rf_model,\n", - " input_id=\"rf_model\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Assign predictions to Champion — Logistic regression model\n", - "vm_train_ds.assign_predictions(model=vm_log_model)\n", - "vm_test_ds.assign_predictions(model=vm_log_model)\n", - "\n", - "# Assign predictions to Challenger — Random forest classification model\n", - "vm_train_ds.assign_predictions(model=vm_rf_model)\n", - "vm_test_ds.assign_predictions(model=vm_rf_model)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Implementing custom tests\n", - "\n", - "Thanks to the model documentation ([Learn more ...](https://docs.validmind.ai/developer/validmind-library.html#for-model-development)), we know that the model development team implemented a custom test to further evaluate the performance of the champion model.\n", - "\n", - "In a usual model validation situation, you would load a saved custom test provided by the model development team. In the following section, we'll have you implement the same custom test and make it available for reuse, to familiarize you with the processes.\n", - "\n", - "
Want to learn more about custom tests?\n", - "

\n", - "Refer to our in-depth introduction to custom tests: Implement custom tests
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Implement a custom inline test\n", - "\n", - "Let's implement the same custom *inline test* that calculates the confusion matrix for a binary classification model that the model development team used in their performance evaluations.\n", - "\n", - "- An inline test refers to a test written and executed within the same environment as the code being tested — in this case, right in this Jupyter Notebook — without requiring a separate test file or framework.\n", - "- You'll note that the custom test function is just a regular Python function that can include and require any Python library as you see fit." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Create a confusion matrix plot\n", - "\n", - "Let's first create a confusion matrix plot using the `confusion_matrix` function from the `sklearn.metrics` module:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "from sklearn import metrics\n", - "\n", - "# Get the predicted classes\n", - "y_pred = log_reg.predict(vm_test_ds.x)\n", - "\n", - "confusion_matrix = metrics.confusion_matrix(y_test, y_pred)\n", - "\n", - "cm_display = metrics.ConfusionMatrixDisplay(\n", - " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", - ")\n", - "cm_display.plot()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, create a [`@vm.test` wrapper](https://docs.validmind.ai/validmind/validmind.html#test) that will allow you to create a reusable test. **Note the following changes in the code below:**\n", - "\n", - "- The function `confusion_matrix` takes two arguments `dataset` and `model`. This is a `VMDataset` and `VMModel` object respectively.\n", - " - `VMDataset` objects allow you to access the dataset's true (target) values by accessing the `.y` attribute.\n", - " - `VMDataset` objects allow you to access the predictions for a given model by accessing the `.y_pred()` method.\n", - "- The function docstring provides a description of what the test does. This will be displayed along with the result in this notebook as well as in the ValidMind Platform.\n", - "- The function body calculates the confusion matrix using the `sklearn.metrics.confusion_matrix` function as we just did above.\n", - "- The function then returns the `ConfusionMatrixDisplay.figure_` object — this is important as the ValidMind Library expects the output of the custom test to be a plot or a table.\n", - "- The `@vm.test` decorator is doing the work of creating a wrapper around the function that will allow it to be run by the ValidMind Library. It also registers the test so it can be found by the ID `my_custom_tests.ConfusionMatrix`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@vm.test(\"my_custom_tests.ConfusionMatrix\")\n", - "def confusion_matrix(dataset, model):\n", - " \"\"\"The confusion matrix is a table that is often used to describe the performance of a classification model on a set of data for which the true values are known.\n", - "\n", - " The confusion matrix is a 2x2 table that contains 4 values:\n", - "\n", - " - True Positive (TP): the number of correct positive predictions\n", - " - True Negative (TN): the number of correct negative predictions\n", - " - False Positive (FP): the number of incorrect positive predictions\n", - " - False Negative (FN): the number of incorrect negative predictions\n", - "\n", - " The confusion matrix can be used to assess the holistic performance of a classification model by showing the accuracy, precision, recall, and F1 score of the model on a single figure.\n", - " \"\"\"\n", - " y_true = dataset.y\n", - " y_pred = dataset.y_pred(model=model)\n", - "\n", - " confusion_matrix = metrics.confusion_matrix(y_true, y_pred)\n", - "\n", - " cm_display = metrics.ConfusionMatrixDisplay(\n", - " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", - " )\n", - " cm_display.plot()\n", - "\n", - " plt.close() # close the plot to avoid displaying it\n", - "\n", - " return cm_display.figure_ # return the figure object itself" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can now run the newly created custom test on both the training and test datasets for both models using the [`run_test()` function](https://docs.validmind.ai/validmind/validmind/tests.html#run_test):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Champion train and test\n", - "vm.tests.run_test(\n", - " test_id=\"my_custom_tests.ConfusionMatrix:champion\",\n", - " input_grid={\n", - " \"dataset\": [vm_train_ds,vm_test_ds],\n", - " \"model\" : [vm_log_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Challenger train and test\n", - "vm.tests.run_test(\n", - " test_id=\"my_custom_tests.ConfusionMatrix:challenger\",\n", - " input_grid={\n", - " \"dataset\": [vm_train_ds,vm_test_ds],\n", - " \"model\" : [vm_rf_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for some test IDs. \n", - "

\n", - "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Add parameters to custom tests\n", - "\n", - "Custom tests can take parameters just like any other function. To demonstrate, let's modify the `confusion_matrix` function to take an additional parameter `normalize` that will allow you to normalize the confusion matrix:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@vm.test(\"my_custom_tests.ConfusionMatrix\")\n", - "def confusion_matrix(dataset, model, normalize=False):\n", - " \"\"\"The confusion matrix is a table that is often used to describe the performance of a classification model on a set of data for which the true values are known.\n", - "\n", - " The confusion matrix is a 2x2 table that contains 4 values:\n", - "\n", - " - True Positive (TP): the number of correct positive predictions\n", - " - True Negative (TN): the number of correct negative predictions\n", - " - False Positive (FP): the number of incorrect positive predictions\n", - " - False Negative (FN): the number of incorrect negative predictions\n", - "\n", - " The confusion matrix can be used to assess the holistic performance of a classification model by showing the accuracy, precision, recall, and F1 score of the model on a single figure.\n", - " \"\"\"\n", - " y_true = dataset.y\n", - " y_pred = dataset.y_pred(model=model)\n", - "\n", - " if normalize:\n", - " confusion_matrix = metrics.confusion_matrix(y_true, y_pred, normalize=\"all\")\n", - " else:\n", - " confusion_matrix = metrics.confusion_matrix(y_true, y_pred)\n", - "\n", - " cm_display = metrics.ConfusionMatrixDisplay(\n", - " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", - " )\n", - " cm_display.plot()\n", - "\n", - " plt.close() # close the plot to avoid displaying it\n", - "\n", - " return cm_display.figure_ # return the figure object itself" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Pass parameters to custom tests\n", - "\n", - "You can pass parameters to custom tests by providing a dictionary of parameters to the `run_test()` function.\n", - "\n", - "- The parameters will override any default parameters set in the custom test definition. Note that `dataset` and `model` are still passed as `inputs`.\n", - "- Since these are `VMDataset` or `VMModel` inputs, they have a special meaning.\n", - "\n", - "Re-running and logging the custom confusion matrix with `normalize=True` for both models and our testing dataset looks like this:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Champion with test dataset and normalize=True\n", - "vm.tests.run_test(\n", - " test_id=\"my_custom_tests.ConfusionMatrix:test_normalized_champion\",\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds],\n", - " \"model\" : [vm_log_model]\n", - " },\n", - " params={\"normalize\": True}\n", - ").log()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Challenger with test dataset and normalize=True\n", - "vm.tests.run_test(\n", - " test_id=\"my_custom_tests.ConfusionMatrix:test_normalized_challenger\",\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds],\n", - " \"model\" : [vm_rf_model]\n", - " },\n", - " params={\"normalize\": True}\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Use external test providers\n", - "\n", - "Sometimes you may want to reuse the same set of custom tests across multiple models and share them with others in your organization, like the model development team would have done with you in this example workflow featured in this series of notebooks. In this case, you can create an external custom *test provider* that will allow you to load custom tests from a local folder or a Git repository.\n", - "\n", - "In this section you will learn how to declare a local filesystem test provider that allows loading tests from a local folder following these high level steps:\n", - "\n", - "1. Create a folder of custom tests from existing inline tests (tests that exist in your active Jupyter Notebook)\n", - "2. Save an inline test to a file\n", - "3. Define and register a [`LocalTestProvider`](https://docs.validmind.ai/validmind/validmind/tests.html#LocalTestProvider) that points to that folder\n", - "4. Run test provider tests\n", - "5. Add the test results to your documentation" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Create custom tests folder\n", - "\n", - "Let's start by creating a new folder that will contain reusable custom tests from your existing inline tests.\n", - "\n", - "The following code snippet will create a new `my_tests` directory in the current working directory if it doesn't exist:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tests_folder = \"my_tests\"\n", - "\n", - "import os\n", - "\n", - "# create tests folder\n", - "os.makedirs(tests_folder, exist_ok=True)\n", - "\n", - "# remove existing tests\n", - "for f in os.listdir(tests_folder):\n", - " # remove files and pycache\n", - " if f.endswith(\".py\") or f == \"__pycache__\":\n", - " os.system(f\"rm -rf {tests_folder}/{f}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After running the command above, confirm that a new `my_tests` directory was created successfully. For example:\n", - "\n", - "```\n", - "~/notebooks/tutorials/model_validation/my_tests/\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Save an inline test\n", - "\n", - "The `@vm.test` decorator we used in **Implement a custom inline test** above to register one-off custom tests also includes a convenience method on the function object that allows you to simply call `.save()` to save the test to a Python file at a specified path.\n", - "\n", - "While `save()` will get you started by creating the file and saving the function code with the correct name, it won't automatically include any imports, or other functions or variables, outside of the functions that are needed for the test to run. To solve this, pass in an optional `imports` argument ensuring necessary imports are added to the file.\n", - "\n", - "The `confusion_matrix` test requires the following additional imports:\n", - "\n", - "```python\n", - "import matplotlib.pyplot as plt\n", - "from sklearn import metrics\n", - "```\n", - "\n", - "Let's pass these imports to the `save()` method to ensure they are included in the file with the following command:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "confusion_matrix.save(\n", - " # Save it to the custom tests folder we created\n", - " tests_folder,\n", - " imports=[\"import matplotlib.pyplot as plt\", \"from sklearn import metrics\"],\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "- [x] Confirm that the `save()` method saved the `confusion_matrix` function to a file named `ConfusionMatrix.py` in the `my_tests` folder.\n", - "- [x] Note that the new file provides some context on the origin of the test, which is useful for traceability:\n", - "\n", - " ```\n", - " # Saved from __main__.confusion_matrix\n", - " # Original Test ID: my_custom_tests.ConfusionMatrix\n", - " # New Test ID: .ConfusionMatrix\n", - " ```\n", - "\n", - "- [x] Additionally, the new test function has been stripped off its decorator, as it now resides in a file that will be loaded by the test provider:\n", - "\n", - " ```python\n", - " def ConfusionMatrix(dataset, model, normalize=False):\n", - " ```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Register a local test provider\n", - "\n", - "Now that your `my_tests` folder has a sample custom test, let's initialize a test provider that will tell the ValidMind Library where to find your custom tests:\n", - "\n", - "- ValidMind offers out-of-the-box test providers for local tests (tests in a folder) or a Github provider for tests in a Github repository.\n", - "- You can also create your own test provider by creating a class that has a [`load_test` method](https://docs.validmind.ai/validmind/validmind/tests.html#load_test) that takes a test ID and returns the test function matching that ID.\n", - "\n", - "
Want to learn more about test providers?\n", - "

\n", - "An extended introduction to test providers can be found in: Integrate external test providers
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "##### Initialize a local test provider\n", - "\n", - "For most use cases, using a `LocalTestProvider` that allows you to load custom tests from a designated directory should be sufficient.\n", - "\n", - "**The most important attribute for a test provider is its `namespace`.** This is a string that will be used to prefix test IDs in model documentation. This allows you to have multiple test providers with tests that can even share the same ID, but are distinguished by their namespace.\n", - "\n", - "Let's go ahead and load the custom tests from our `my_tests` directory:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from validmind.tests import LocalTestProvider\n", - "\n", - "# initialize the test provider with the tests folder we created earlier\n", - "my_test_provider = LocalTestProvider(tests_folder)\n", - "\n", - "vm.tests.register_test_provider(\n", - " namespace=\"my_test_provider\",\n", - " test_provider=my_test_provider,\n", - ")\n", - "# `my_test_provider.load_test()` will be called for any test ID that starts with `my_test_provider`\n", - "# e.g. `my_test_provider.ConfusionMatrix` will look for a function named `ConfusionMatrix` in `my_tests/ConfusionMatrix.py` file" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "##### Run test provider tests\n", - "\n", - "Now that we've set up the test provider, we can run any test that's located in the tests folder by using the `run_test()` method as with any other test:\n", - "\n", - "- For tests that reside in a test provider directory, the test ID will be the `namespace` specified when registering the provider, followed by the path to the test file relative to the tests folder.\n", - "- For example, the Confusion Matrix test we created earlier will have the test ID `my_test_provider.ConfusionMatrix`. You could organize the tests in subfolders, say `classification` and `regression`, and the test ID for the Confusion Matrix test would then be `my_test_provider.classification.ConfusionMatrix`.\n", - "\n", - "Let's go ahead and re-run the confusion matrix test with our testing dataset for our two models by using the test ID `my_test_provider.ConfusionMatrix`. This should load the test from the test provider and run it as before." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Champion with test dataset and test provider custom test\n", - "vm.tests.run_test(\n", - " test_id=\"my_test_provider.ConfusionMatrix:champion\",\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds],\n", - " \"model\" : [vm_log_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Challenger with test dataset and test provider custom test\n", - "vm.tests.run_test(\n", - " test_id=\"my_test_provider.ConfusionMatrix:challenger\",\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds],\n", - " \"model\" : [vm_rf_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Verify test runs\n", - "\n", - "Our final task is to verify that all the tests provided by the model development team were run and reported accurately. Note the appended `result_ids` to delineate which dataset we ran the test with for the relevant tests.\n", - "\n", - "Here, we'll specify all the tests we'd like to independently rerun in a dictionary called `test_config`. **Note here that `inputs` and `input_grid` expect the `input_id` of the dataset or model as the value rather than the variable name we specified**:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "test_config = {\n", - " # Run with the raw dataset\n", - " 'validmind.data_validation.DatasetDescription:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'}\n", - " },\n", - " 'validmind.data_validation.DescriptiveStatistics:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'}\n", - " },\n", - " 'validmind.data_validation.MissingValues:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'min_percentage_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.ClassImbalance:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'min_percent_threshold': 10}\n", - " },\n", - " 'validmind.data_validation.Duplicates:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'min_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.HighCardinality:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {\n", - " 'num_threshold': 100,\n", - " 'percent_threshold': 0.1,\n", - " 'threshold_type': 'percent'\n", - " }\n", - " },\n", - " 'validmind.data_validation.Skewness:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'max_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.UniqueRows:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'min_percent_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.TooManyZeroValues:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'max_percent_threshold': 0.03}\n", - " },\n", - " 'validmind.data_validation.IQROutliersTable:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'threshold': 5}\n", - " },\n", - " # Run with the preprocessed dataset\n", - " 'validmind.data_validation.DescriptiveStatistics:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", - " },\n", - " 'validmind.data_validation.TabularDescriptionTables:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", - " },\n", - " 'validmind.data_validation.MissingValues:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'},\n", - " 'params': {'min_percentage_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.TabularNumericalHistograms:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", - " },\n", - " 'validmind.data_validation.TabularCategoricalBarPlots:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", - " },\n", - " 'validmind.data_validation.TargetRateBarPlots:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'},\n", - " 'params': {'default_column': 'loan_status'}\n", - " },\n", - " # Run with the training and test datasets\n", - " 'validmind.data_validation.DescriptiveStatistics:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", - " },\n", - " 'validmind.data_validation.TabularDescriptionTables:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", - " },\n", - " 'validmind.data_validation.ClassImbalance:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", - " 'params': {'min_percent_threshold': 10}\n", - " },\n", - " 'validmind.data_validation.UniqueRows:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", - " 'params': {'min_percent_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.TabularNumericalHistograms:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", - " },\n", - " 'validmind.data_validation.MutualInformation:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", - " 'params': {'min_threshold': 0.01}\n", - " },\n", - " 'validmind.data_validation.PearsonCorrelationMatrix:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", - " },\n", - " 'validmind.data_validation.HighPearsonCorrelation:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", - " 'params': {'max_threshold': 0.3, 'top_n_correlations': 10}\n", - " },\n", - " 'validmind.model_validation.ModelMetadata': {\n", - " 'input_grid': {'model': ['log_model_champion', 'rf_model']}\n", - " },\n", - " 'validmind.model_validation.sklearn.ModelParameters': {\n", - " 'input_grid': {'model': ['log_model_champion', 'rf_model']}\n", - " },\n", - " 'validmind.model_validation.sklearn.ROCCurve': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final'], 'model': ['log_model_champion']}\n", - " },\n", - " 'validmind.model_validation.sklearn.MinimumROCAUCScore': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final'], 'model': ['log_model_champion']},\n", - " 'params': {'min_threshold': 0.5}\n", - " }\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Then batch run and log our tests in `test_config`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for t in test_config:\n", - " print(t)\n", - " try:\n", - " # Check if test has input_grid\n", - " if 'input_grid' in test_config[t]:\n", - " # For tests with input_grid, pass the input_grid configuration\n", - " if 'params' in test_config[t]:\n", - " vm.tests.run_test(t, input_grid=test_config[t]['input_grid'], params=test_config[t]['params']).log()\n", - " else:\n", - " vm.tests.run_test(t, input_grid=test_config[t]['input_grid']).log()\n", - " else:\n", - " # Original logic for regular inputs\n", - " if 'params' in test_config[t]:\n", - " vm.tests.run_test(t, inputs=test_config[t]['inputs'], params=test_config[t]['params']).log()\n", - " else:\n", - " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", - " except Exception as e:\n", - " print(f\"Error running test {t}: {str(e)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## In summary\n", - "\n", - "In this final notebook, you learned how to:\n", - "\n", - "- [x] Implement a custom inline test\n", - "- [x] Run and log your custom inline tests\n", - "- [x] Use external custom test providers\n", - "- [x] Run and log tests from your custom test providers\n", - "- [x] Re-run tests provided by your model development team to verify that they were run and reported accurately\n", - "\n", - "With our ValidMind for model validation series of notebooks, you learned how to validate a model end-to-end with the ValidMind Library by running through some common scenarios in a typical model validation setting:\n", - "\n", - "- Verifying the data quality steps performed by the model development team\n", - "- Independently replicating the champion model's results and conducting additional tests to assess performance, stability, and robustness\n", - "- Setting up test inputs and a challenger model for comparative analysis\n", - "- Running validation tests, analyzing results, and logging artifacts to ValidMind" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Next steps" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Work with your validation report\n", - "\n", - "Now that you've logged all your test results and verified the work done by the model development team, head to the ValidMind Platform to wrap up your validation report. Continue to work on your validation report by:\n", - "\n", - "- **Inserting additional test results:** Click **Link Evidence to Report** under any section of 2. Validation in your validation report. (Learn more: [Link evidence to reports](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#link-evidence-to-reports))\n", - "\n", - "- **Making qualitative edits to your test descriptions:** Expand any linked evidence under Validator Evidence and click **See evidence details** to review and edit the ValidMind-generated test descriptions for quality and accuracy. (Learn more: [Preparing validation reports](https://docs.validmind.ai/guide/model-validation/preparing-validation-reports.html#get-started))\n", - "\n", - "- **Adding more findings:** Click **Link Finding to Report** in any validation report section, then click **+ Create New Finding**. (Learn more: [Add and manage model findings](https://docs.validmind.ai/guide/model-validation/add-manage-model-findings.html))\n", - "\n", - "- **Adding risk assessment notes:** Click under **Risk Assessment Notes** in any validation report section to access the text editor and content editing toolbar, including an option to generate a draft with AI. Once generated, edit your ValidMind-generated test descriptions to adhere to your organization's requirements. (Learn more: [Work with content blocks](https://docs.validmind.ai/guide/model-documentation/work-with-content-blocks.html#content-editing-toolbar))\n", - "\n", - "- **Assessing compliance:** Under the Guideline for any validation report section, click **ASSESSMENT** and select the compliance status from the drop-down menu. (Learn more: [Assign compliance assessments](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#assign-compliance-assessments))\n", - "\n", - "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including model developers. Propose suggested changes in the model documentation, work with versioned history, and use comments to discuss specific portions of the model documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/model-documentation/collaborate-with-others.html))\n", - "\n", - "When your validation report is complete and ready for review, submit it for approval from the same ValidMind Platform where you made your edits and collaborated with the rest of your organization, ensuring transparency and a thorough model validation history. (Learn more: [Submit for approval](https://docs.validmind.ai/guide/model-documentation/submit-for-approval.html))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Learn more\n", - "\n", - "Now that you're familiar with the basics, you can explore the following notebooks to get a deeper understanding on how the ValidMind Library assists you in streamlining model validation:" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Use cases\n", - "\n", - "- [Validate an application scorecard model](../../use_cases/model_validation/validate_application_scorecard.ipynb)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Discover more learning resources\n", - "\n", - "Learn more about the ValidMind Library tools we used in this notebook:\n", - "\n", - "- [Explore tests](../../how_to/tests/explore_tests/explore_tests.ipynb)\n", - "- [Run dataset-based tests](../../how_to/tests/run_tests/1_run_dataset_based_tests.ipynb)\n", - "- [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb)\n", - "- [Integrate external test providers](../../how_to/tests/custom_tests/integrate_external_test_providers.ipynb)\n", - "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", - "\n", - "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", - "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", - "\n", - "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." - ] - }, - { - "cell_type": "markdown", - "id": "copyright-8028ef6a3da9409a8eab5aa0cf246c57", - "metadata": {}, - "source": [ - "\n", - "\n", - "\n", - "\n", - "***\n", - "\n", - "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", - "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", - "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ValidMind Library", - "language": "python", - "name": "validmind" - }, - "language_info": { - "name": "python", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/site/notebooks/EXECUTED/model_validation/1-set_up_validmind_for_validation.ipynb b/site/notebooks/EXECUTED/validation/1-set_up_validmind_for_validation.ipynb similarity index 81% rename from site/notebooks/EXECUTED/model_validation/1-set_up_validmind_for_validation.ipynb rename to site/notebooks/EXECUTED/validation/1-set_up_validmind_for_validation.ipynb index 05ad11c2c..6f8d378ce 100644 --- a/site/notebooks/EXECUTED/model_validation/1-set_up_validmind_for_validation.ipynb +++ b/site/notebooks/EXECUTED/validation/1-set_up_validmind_for_validation.ipynb @@ -5,11 +5,11 @@ "id": "821a881e", "metadata": {}, "source": [ - "# ValidMind for model validation 1 — Set up the ValidMind Library for validation\n", + "# ValidMind for validation 1 — Set up the ValidMind Library for validation\n", "\n", - "Learn how to use ValidMind for your end-to-end model validation process based on common scenarios with our series of four introductory notebooks. In this first notebook, set up the ValidMind Library in preparation for validating a champion model.\n", + "Learn how to use ValidMind for your end-to-end validation process based on common scenarios with our series of four introductory notebooks. In this first notebook, set up the ValidMind Library in preparation for validating a champion.\n", "\n", - "These notebooks use a binary classification model as an example, but the same principles shown here apply to other model types.\n", + "These notebooks use a binary classification model as an example, but the same principles shown here apply to other record (model) types.\n", "\n", "
Learn by doing\n", "

\n", @@ -43,7 +43,7 @@ "- [Upgrade ValidMind](#toc5__) \n", "- [In summary](#toc6__) \n", "- [Next steps](#toc7__) \n", - " - [Start the model validation process](#toc7_1__) \n", + " - [Start the validation process](#toc7_1__) \n", "\n", ":::\n", "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Prerequisites\n", + "\n", + "In order to independently assess the quality of your datasets with notebook, you'll need to first have:\n", + "\n", + "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", + "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", + "\n", + "
Need help with the above steps?\n", + "

\n", + "Refer to the first notebook in this series: 1 — Set up the ValidMind Library for validation
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Setting up" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind Library\n", + "\n", + "First, let's connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", + "\n", + "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", + "\n", + "2. Click **Copy snippet to clipboard**.\n", + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Make sure the ValidMind Library is installed\n", + "\n", + "%pip install -q validmind\n", + "\n", + "# Load your model identifier credentials from an `.env` file\n", + "\n", + "%load_ext dotenv\n", + "%dotenv .env\n", + "\n", + "# Or replace with your code snippet\n", + "\n", + "import validmind as vm\n", + "\n", + "vm.init(\n", + " # api_host=\"...\",\n", + " # api_key=\"...\",\n", + " # api_secret=\"...\",\n", + " # model=\"...\",\n", + " document=\"validation-report\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Load the sample dataset\n", + "\n", + "Let's first import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle, which was used to develop the dummy champion.\n", + "\n", + "We'll use this dataset to review steps that should have been conducted during the initial development and documentation of the champion to ensure that the model was built correctly. By independently performing steps taken by the development team, we can confirm whether the model was built using appropriate and properly processed data.\n", + "\n", + "In our below example, note that:\n", + "\n", + "- The target column, `Exited` has a value of `1` when a customer has churned and `0` otherwise.\n", + "- The ValidMind Library provides a wrapper to automatically load the dataset as a [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) object. A Pandas Dataframe is a two-dimensional tabular data structure that makes use of rows and columns." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from validmind.datasets.classification import customer_churn as demo_dataset\n", + "\n", + "print(\n", + " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", + ")\n", + "\n", + "raw_df = demo_dataset.load_data()\n", + "raw_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Verifying data quality adjustments\n", + "\n", + "Let's say that thanks to the documentation submitted by the development team (**Learn more:** [ValidMind for development](https://docs.validmind.ai/developer/validmind-library.html#development)), we know that the sample dataset was first modified before being used to train the champion. After performing some data quality assessments on the raw dataset, it was determined that the dataset required rebalancing, and highly correlated features were also removed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Identify qualitative tests\n", + "\n", + "During validation, we use the same data processing logic and training procedure to confirm that the model's results can be reproduced independently, so let's start by doing some data quality assessments by running a few individual tests just like the development team did.\n", + "\n", + "Use the [`vm.tests.list_tests()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) introduced by the first notebook in this series in combination with [`vm.tests.list_tags()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tags) and [`vm.tests.list_tasks()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tasks) to find which prebuilt tests are relevant for data quality assessment:\n", + "\n", + "- **`tasks`** represent the kind of modeling task associated with a test. Here we'll focus on `classification` tasks.\n", + "- **`tags`** are free-form descriptions providing more details about the test, for example, what category the test falls into. Here we'll focus on the `data_quality` tag." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Get the list of available task types\n", + "sorted(vm.tests.list_tasks())" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Get the list of available tags\n", + "sorted(vm.tests.list_tags())" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can pass `tags` and `tasks` as parameters to the `vm.tests.list_tests()` function to filter the tests based on the tags and task types.\n", + "\n", + "For example, to find tests related to tabular data quality for classification models, you can call `list_tests()` like this:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.list_tests(task=\"classification\", tags=[\"tabular_data\", \"data_quality\"])" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Want to learn more about navigating ValidMind tests?\n", + "

\n", + "Refer to our notebook outlining the utilities available for viewing and understanding available ValidMind tests: Explore tests
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind dataset\n", + "\n", + "With the individual tests we want to run identified, the next step is to connect your data with a ValidMind `Dataset` object. **This step is always necessary every time you want to connect a dataset to documentation and produce test results through ValidMind,** but you only need to do it once per dataset.\n", + "\n", + "Initialize a ValidMind dataset object using the [`init_dataset` function](https://docs.validmind.ai/validmind/validmind.html#init_dataset) from the ValidMind (`vm`) module. For this example, we'll pass in the following arguments:\n", + "\n", + "- **`dataset`** — The raw dataset that you want to provide as input to tests.\n", + "- **`input_id`** — A unique identifier that allows tracking what inputs are used when running each individual test.\n", + "- **`target_column`** — A required argument if tests require access to true values. This is the name of the target column in the dataset." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# vm_raw_dataset is now a VMDataset object that you can pass to any ValidMind test\n", + "vm_raw_dataset = vm.init_dataset(\n", + " dataset=raw_df,\n", + " input_id=\"raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Run data quality tests\n", + "\n", + "Now that we know how to initialize a ValidMind `dataset` object, we're ready to run some tests!\n", + "\n", + "You run individual tests by calling [the `run_test` function](https://docs.validmind.ai/validmind/validmind/tests.html#run_test) provided by the `validmind.tests` module. For the examples below, we'll pass in the following arguments:\n", + "\n", + "- **`test_id`** — The ID of the test to run, as seen in the `ID` column when you run `list_tests`. \n", + "- **`params`** — A dictionary of parameters for the test. These will override any `default_params` set in the test definition. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Run tabular data tests\n", + "\n", + "The inputs expected by a test can also be found in the test definition — let's take [`validmind.data_validation.DescriptiveStatistics`](https://docs.validmind.ai/tests/data_validation/DescriptiveStatistics.html) as an example.\n", + "\n", + "Note that the output of the [`describe_test()` function](https://docs.validmind.ai/validmind/validmind/tests.html#describe_test) below shows that this test expects a `dataset` as input:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.describe_test(\"validmind.data_validation.DescriptiveStatistics\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let's run a few tests to assess the quality of the dataset:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "result2 = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.ClassImbalance\",\n", + " inputs={\"dataset\": vm_raw_dataset},\n", + " params={\"min_percent_threshold\": 30},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output above shows that [the class imbalance test](https://docs.validmind.ai/tests/data_validation/ClassImbalance.html) did not pass according to the value we set for `min_percent_threshold` — great, this matches what was reported by the development team.\n", + "\n", + "To address this issue, we'll re-run the test on some processed data. In this case let's apply a very simple rebalancing technique to the dataset:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "import pandas as pd\n", + "\n", + "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", + "\n", + "# Create a balanced dataset with the same number of exited and not exited customers\n", + "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", + "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", + "\n", + "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", + "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With this new balanced dataset, you can re-run the individual test to see if it now passes the class imbalance test requirement.\n", + "\n", + "As this is technically a different dataset, **remember to first initialize a new ValidMind `Dataset` object** to pass in as input as required by `run_test()`:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", + "vm_balanced_raw_dataset = vm.init_dataset(\n", + " dataset=balanced_raw_df,\n", + " input_id=\"balanced_raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Pass the initialized `balanced_raw_dataset` as input into the test run\n", + "result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.ClassImbalance\",\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + " params={\"min_percent_threshold\": 30},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Remove highly correlated features\n", + "\n", + "Next, let's also remove highly correlated features from our dataset as outlined by the development team. Removing highly correlated features helps make the model simpler, more stable, and easier to understand.\n", + "\n", + "You can utilize the output from a ValidMind test for further use — in this below example, to retrieve the list of features with the highest correlation coefficients and use them to reduce the final list of features for modeling.\n", + "\n", + "First, we'll run [`validmind.data_validation.HighPearsonCorrelation`](https://docs.validmind.ai/tests/data_validation/HighPearsonCorrelation.html) with the `balanced_raw_dataset` we initialized previously as input as is for comparison with later runs:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output above shows that the test did not pass according to the value we set for `max_threshold` — as reported and expected.\n", + "\n", + "`corr_result` is an object of type `TestResult`. We can inspect the result object to see what the test has produced:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "print(type(corr_result))\n", + "print(\"Result ID: \", corr_result.result_id)\n", + "print(\"Params: \", corr_result.params)\n", + "print(\"Passed: \", corr_result.passed)\n", + "print(\"Tables: \", corr_result.tables)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's remove the highly correlated features and create a new VM `dataset` object.\n", + "\n", + "We'll begin by checking out the table in the result and extracting a list of features that failed the test:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract table from `corr_result.tables`\n", + "features_df = corr_result.tables[0].data\n", + "features_df" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract list of features that failed the test\n", + "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, extract the feature names from the list of strings (example: `(Age, Exited)` > `Age`):" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, it's time to re-initialize the dataset with the highly correlated features removed.\n", + "\n", + "**Note the use of a different `input_id`.** This allows tracking the inputs used when running each individual test." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Remove the highly correlated features from the dataset\n", + "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", + "\n", + "# Re-initialize the dataset object\n", + "vm_raw_dataset_preprocessed = vm.init_dataset(\n", + " dataset=balanced_raw_no_age_df,\n", + " input_id=\"raw_dataset_preprocessed\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Re-running the test with the reduced feature set should pass the test:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also plot the correlation matrix to visualize the new correlation between features:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.PearsonCorrelationMatrix\",\n", + " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Documenting test results\n", + "\n", + "Now that we've done some analysis on two different datasets, we can use ValidMind to easily document why certain things were done to our raw data with testing to support it. Every test result returned by the `run_test()` function has a `.log()` method that can be used to send the test results to the ValidMind Platform.\n", + "\n", + "When logging validation test results to the platform, you'll need to manually add those results to the desired section of the validation report. To demonstrate how to add test results to your validation report, we'll log our data quality tests and insert the results via the ValidMind Platform." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Configure and run comparison tests\n", + "\n", + "Below, we'll perform comparison tests between the original raw dataset (`raw_dataset`) and the final preprocessed (`raw_dataset_preprocessed`) dataset, again logging the results to the ValidMind Platform. \n", + "\n", + "We can specify all the tests we'd ike to run in a dictionary called `test_config`, and we'll pass in the following arguments for each test:\n", + "\n", + " - **`params`:** Individual test parameters.\n", + " - **`input_grid`:** Individual test inputs to compare. In this case, we'll input our two datasets for comparison.\n", + "\n", + "**Note here that the `input_grid` expects the `input_id` of the dataset as the value rather than the variable name we specified:**" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Individual test config with inputs specified\n", + "test_config = {\n", + " \"validmind.data_validation.ClassImbalance\": {\n", + " \"input_grid\": {\"dataset\": [\"raw_dataset\", \"raw_dataset_preprocessed\"]},\n", + " \"params\": {\"min_percent_threshold\": 30}\n", + " },\n", + " \"validmind.data_validation.HighPearsonCorrelation\": {\n", + " \"input_grid\": {\"dataset\": [\"raw_dataset\", \"raw_dataset_preprocessed\"]},\n", + " \"params\": {\"max_threshold\": 0.3}\n", + " },\n", + "}" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then batch run and log our tests in `test_config`:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "for t in test_config:\n", + " print(t)\n", + " try:\n", + " # Check if test has input_grid\n", + " if 'input_grid' in test_config[t]:\n", + " # For tests with input_grid, pass the input_grid configuration\n", + " if 'params' in test_config[t]:\n", + " vm.tests.run_test(t, input_grid=test_config[t]['input_grid'], params=test_config[t]['params']).log()\n", + " else:\n", + " vm.tests.run_test(t, input_grid=test_config[t]['input_grid']).log()\n", + " else:\n", + " # Original logic for regular inputs\n", + " if 'params' in test_config[t]:\n", + " vm.tests.run_test(t, inputs=test_config[t]['inputs'], params=test_config[t]['params']).log()\n", + " else:\n", + " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", + " except Exception as e:\n", + " print(f\"Error running test {t}: {str(e)}\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for some test IDs. \n", + "

\n", + "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Log tests with unique identifiers\n", + "\n", + "Next, we'll use the previously initialized `vm_balanced_raw_dataset` (that still has a highly correlated `Age` column) as input to run an individual test, then log the result to the ValidMind Platform.\n", + "\n", + "When running individual tests, **you can use a custom `result_id` to tag the individual result with a unique identifier:**\n", + "\n", + "- This `result_id` can be appended to `test_id` with a `:` separator.\n", + "- The `balanced_raw_dataset` result identifier will correspond to the `balanced_raw_dataset` input, the dataset that still has the `Age` column." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation:balanced_raw_dataset\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + ")\n", + "result.log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Add test results to reporting\n", + "\n", + "With some test results logged, let's head to the model we connected to at the beginning of this notebook and learn how to insert a test result into our validation report. (**Learn more:** [Assess compliance](https://docs.validmind.ai/guide/validation/assess-compliance.html#link-validator-evidence))\n", + "\n", + "While the example below focuses on a specific test result, you can follow the same general procedure for your other results:\n", + "\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", + "\n", + "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", + "\n", + "3. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section.\n", + "\n", + "4. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**:\n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "5. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** \n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "6. Click **Update Linked Evidence** to add the test results to the validation report.\n", + "\n", + " Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report:\n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "7. Note that these test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset.\n", + "\n", + " Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test:\n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "
Here in this text editor, you can make qualitative edits to the draft that ValidMind generated to finalize the test results.\n", + "

\n", + "Learn more: Work with content blocks
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Preparing the preprocessed dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Split the preprocessed dataset\n", + "\n", + "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing.\n", + "\n", + "To start, let's grab the first few rows from the `balanced_raw_no_age_df` dataset we initialized earlier:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "balanced_raw_no_age_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before training the model, we need to encode the categorical features in the dataset:\n", + "\n", + "- Use the `OneHotEncoder` class from the `sklearn.preprocessing` module to encode the categorical features.\n", + "- The categorical features in the dataset are `Geography` and `Gender`." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "balanced_raw_no_age_df = pd.get_dummies(\n", + " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", + ")\n", + "balanced_raw_no_age_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Splitting our dataset into training and testing is essential for proper validation testing, as this helps assess how well the model generalizes to unseen data:\n", + "\n", + "- We start by dividing our `balanced_raw_no_age_df` dataset into training and test subsets using `train_test_split`, with 80% of the data allocated to training (`train_df`) and 20% to testing (`test_df`).\n", + "- From each subset, we separate the features (all columns except \"Exited\") into `X_train` and `X_test`, and the target column (\"Exited\") into `y_train` and `y_test`." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", + "\n", + "X_train = train_df.drop(\"Exited\", axis=1)\n", + "y_train = train_df[\"Exited\"]\n", + "X_test = test_df.drop(\"Exited\", axis=1)\n", + "y_test = test_df[\"Exited\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the split datasets\n", + "\n", + "Next, let's initialize the training and testing datasets so they are available for use:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm_train_ds = vm.init_dataset(\n", + " input_id=\"train_dataset_final\",\n", + " dataset=train_df,\n", + " target_column=\"Exited\",\n", + ")\n", + "\n", + "vm_test_ds = vm.init_dataset(\n", + " input_id=\"test_dataset_final\",\n", + " dataset=test_df,\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## In summary\n", + "\n", + "In this second notebook, you learned how to:\n", + "\n", + "- [x] Import a sample dataset\n", + "- [x] Identify which tests you might want to run with ValidMind\n", + "- [x] Initialize ValidMind datasets\n", + "- [x] Run individual tests\n", + "- [x] Utilize the output from tests you’ve run\n", + "- [x] Log test results as evidence to the ValidMind Platform\n", + "- [x] Insert test results into your validation report" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Next steps\n", + "\n", + "\n", + "\n", + "### Develop potential challenger models\n", + "\n", + "Now that you're familiar with the basics of using the ValidMind Library, let's use it to develop a challenger model: **[3 — Developing a potential challenger](3-developing_potential_challenger.ipynb)**" + ] + }, + { + "cell_type": "markdown", + "id": "copyright-5715327492f24f8fadeab186aecb10ba", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n", + "\n", + "***\n", + "\n", + "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", + "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", + "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ValidMind Library", + "language": "python", + "name": "validmind" + }, + "language_info": { + "name": "python", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/site/notebooks/EXECUTED/validation/3-developing_potential_challenger.ipynb b/site/notebooks/EXECUTED/validation/3-developing_potential_challenger.ipynb new file mode 100644 index 000000000..ca9cb71f6 --- /dev/null +++ b/site/notebooks/EXECUTED/validation/3-developing_potential_challenger.ipynb @@ -0,0 +1,888 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ValidMind for validation 3 — Developing a potential challenger\n", + "\n", + "Learn how to use ValidMind for your end-to-end validation process with our series of four introductory notebooks. In this third notebook, develop a potential challenger and then pass your challenger and its predictions to ValidMind.\n", + "\n", + "A *challenger* is an alternate record (model) that attempts to outperform the champion, ensuring that the best performing fit-for-purpose record is always considered for deployment. Challengers also help avoid over-reliance on a single record, and allow testing of new features, algorithms, or data sources without disrupting the production lifecycle.\n", + "\n", + "
Learn by doing\n", + "

\n", + "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "::: {.content-hidden when-format=\"html\"}\n", + "## Contents \n", + "- [Prerequisites](#toc1__) \n", + "- [Setting up](#toc2__) \n", + " - [Initialize the ValidMind Library](#toc2_1__) \n", + " - [Import the sample dataset](#toc2_2__) \n", + " - [Preprocess the dataset](#toc2_2_1__) \n", + " - [Split the preprocessed dataset](#toc2_3__) \n", + "- [Import the champion model](#toc3__) \n", + "- [Training a potential challenger model](#toc4__) \n", + " - [Random forest classification model](#toc4_1__) \n", + " - [Initialize the ValidMind models](#toc4_2__) \n", + " - [Assign predictions](#toc4_3__) \n", + "- [Running model evaluation tests](#toc5__) \n", + " - [Run model performance tests](#toc5_1__) \n", + " - [Evaluate performance of the champion model](#toc5_1_1__) \n", + " - [Log an artifact](#toc5_1_2__) \n", + " - [Evaluate performance of challenger model](#toc5_1_3__) \n", + " - [Run diagnostic tests](#toc5_2__) \n", + " - [Run feature importance tests](#toc5_3__) \n", + "- [In summary](#toc6__) \n", + "- [Next steps](#toc7__) \n", + " - [Finalize validation and reporting](#toc7_1__) \n", + "\n", + ":::\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Prerequisites\n", + "\n", + "In order to develop potential challengers with this notebook, you'll need to first have:\n", + "\n", + "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", + "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", + "- [x] Learned how to import and initialize datasets for use with ValidMind\n", + "- [x] Understood the basics of how to run and log tests with ValidMind\n", + "- [x] Run data quality tests on the datasets used to train the champion, and logged the results of those tests to ValidMind\n", + "- [x] Inserted your logged test results into your validation report\n", + "\n", + "
Need help with the above steps?\n", + "

\n", + "Refer to the first two notebooks in this series:\n", + "\n", + "- 1 — Set up the ValidMind Library for validation\n", + "- 2 — Start the validation process\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Setting up\n", + "\n", + "This section should be quite familiar to you — as we performed the same actions in the previous notebook, **[2 — Start the validation process](2-start_validation_process.ipynb)**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind Library\n", + "\n", + "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", + "\n", + "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", + "\n", + "2. Click **Copy snippet to clipboard**.\n", + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Make sure the ValidMind Library is installed\n", + "\n", + "%pip install -q validmind\n", + "\n", + "# Load your model identifier credentials from an `.env` file\n", + "\n", + "%load_ext dotenv\n", + "%dotenv .env\n", + "\n", + "# Or replace with your code snippet\n", + "\n", + "import validmind as vm\n", + "\n", + "vm.init(\n", + " # api_host=\"...\",\n", + " # api_key=\"...\",\n", + " # api_secret=\"...\",\n", + " # model=\"...\",\n", + " document=\"validation-report\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Import the sample dataset\n", + "\n", + "Next, we'll load in the sample [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset used to develop the champion that we will independently preprocess:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Load the sample dataset\n", + "from validmind.datasets.classification import customer_churn as demo_dataset\n", + "\n", + "print(\n", + " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", + ")\n", + "\n", + "raw_df = demo_dataset.load_data()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Preprocess the dataset\n", + "\n", + "We’ll apply a simple rebalancing technique to the dataset before continuing:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "import pandas as pd\n", + "\n", + "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", + "\n", + "# Create a balanced dataset with the same number of exited and not exited customers\n", + "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", + "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", + "\n", + "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", + "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s also quickly remove highly correlated features from the dataset using the output from a ValidMind test.\n", + "\n", + "As you know, before we can run tests you’ll need to initialize a ValidMind dataset object with the [`init_dataset` function](https://docs.validmind.ai/validmind/validmind.html#init_dataset):" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", + "vm_balanced_raw_dataset = vm.init_dataset(\n", + " dataset=balanced_raw_df,\n", + " input_id=\"balanced_raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With our balanced dataset initialized, we can then run our test and utilize the output to help us identify the features we want to remove:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# From result object, extract table from `corr_result.tables`\n", + "features_df = corr_result.tables[0].data\n", + "features_df" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract list of features that failed the test\n", + "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract feature names from the list of strings\n", + "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can then re-initialize the dataset with a different `input_id` and the highly correlated features removed and re-run the test for confirmation:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Remove the highly correlated features from the dataset\n", + "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", + "\n", + "# Re-initialize the dataset object\n", + "vm_raw_dataset_preprocessed = vm.init_dataset(\n", + " dataset=balanced_raw_no_age_df,\n", + " input_id=\"raw_dataset_preprocessed\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Re-run the test with the reduced feature set\n", + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Split the preprocessed dataset\n", + "\n", + "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Encode categorical features in the dataset\n", + "balanced_raw_no_age_df = pd.get_dummies(\n", + " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", + ")\n", + "balanced_raw_no_age_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Split the dataset into train and test\n", + "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", + "\n", + "X_train = train_df.drop(\"Exited\", axis=1)\n", + "y_train = train_df[\"Exited\"]\n", + "X_test = test_df.drop(\"Exited\", axis=1)\n", + "y_test = test_df[\"Exited\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the split datasets\n", + "vm_train_ds = vm.init_dataset(\n", + " input_id=\"train_dataset_final\",\n", + " dataset=train_df,\n", + " target_column=\"Exited\",\n", + ")\n", + "\n", + "vm_test_ds = vm.init_dataset(\n", + " input_id=\"test_dataset_final\",\n", + " dataset=test_df,\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Import the champion model\n", + "\n", + "With our raw dataset assessed and preprocessed, let's go ahead and import the champion submitted by the development team in the format of a `.pkl` file: **[lr_model_champion.pkl](lr_model_champion.pkl)**" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Import the champion model\n", + "import pickle as pkl\n", + "\n", + "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", + " log_reg = pkl.load(f)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Training a potential challenger model\n", + "\n", + "We're curious how an alternate model compares to our champion, so let's train a challenger as a basis for our testing.\n", + "\n", + "Our champion *logistic regression model* is a simpler, parametric model that assumes a linear relationship between the independent variables and the log-odds of the outcome. While logistic regression may not capture complex patterns as effectively, it offers a high degree of interpretability and is easier to explain to stakeholders. However, risk is not calculated in isolation from a single factor, but rather in consideration with trade-offs in predictive performance, ease of interpretability, and overall alignment with business objectives." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Random forest classification model\n", + "\n", + "A *random forest classification model* is an ensemble machine learning algorithm that uses multiple decision trees to classify data. In ensemble learning, multiple models are combined to improve prediction accuracy and robustness.\n", + "\n", + "Random forest classification models generally have higher accuracy because they capture complex, non-linear relationships, but as a result they lack transparency in their predictions." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Import the Random Forest Classification model\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "\n", + "# Create the model instance with 50 decision trees\n", + "rf_model = RandomForestClassifier(\n", + " n_estimators=50,\n", + " random_state=42,\n", + ")\n", + "\n", + "# Train the model\n", + "rf_model.fit(X_train, y_train)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind models\n", + "\n", + "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our two models.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", + "\n", + "Initialize your model objects with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the champion logistic regression model\n", + "vm_log_model = vm.init_model(\n", + " log_reg,\n", + " input_id=\"log_model_champion\",\n", + ")\n", + "\n", + "# Initialize the challenger random forest classification model\n", + "vm_rf_model = vm.init_model(\n", + " rf_model,\n", + " input_id=\"rf_model\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Assign predictions\n", + "\n", + "With our models registered, we'll move on to assigning both the predictive probabilities coming directly from each model's predictions, and the binary prediction after applying the cutoff threshold described in the Compute binary predictions step above.\n", + "\n", + "- The [`assign_predictions()` method](https://docs.validmind.ai/validmind/validmind/vm_models.html#assign_predictions) from the `Dataset` object can link existing predictions to any number of models.\n", + "- This method links the model's class prediction values and probabilities to our `vm_train_ds` and `vm_test_ds` datasets.\n", + "\n", + "If no prediction values are passed, the method will compute predictions automatically:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Champion — Logistic regression model\n", + "vm_train_ds.assign_predictions(model=vm_log_model)\n", + "vm_test_ds.assign_predictions(model=vm_log_model)\n", + "\n", + "# Challenger — Random forest classification model\n", + "vm_train_ds.assign_predictions(model=vm_rf_model)\n", + "vm_test_ds.assign_predictions(model=vm_rf_model)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Running model evaluation tests\n", + "\n", + "With our setup complete, let's run the rest of our validation tests. Since we have already verified the data quality of the dataset used to train our champion, we will now focus on comprehensive performance evaluations of both the champion and challenger models." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Run model performance tests\n", + "\n", + "Let's run some performance tests, beginning with independent testing of our champion logistic regression model, then moving on to our potential challenger model.\n", + "\n", + "Use [`vm.tests.list_tests()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) to identify all the model performance tests for classification:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "\n", + "vm.tests.list_tests(tags=[\"model_performance\"], task=\"classification\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll isolate the specific tests we want to run in `mpt`:\n", + "\n", + "- [`ClassifierPerformance`](https://docs.validmind.ai/tests/model_validation/sklearn/ClassifierPerformance.html)\n", + "- [`ConfusionMatrix`](https://docs.validmind.ai/tests/model_validation/sklearn/ConfusionMatrix.html)\n", + "- [`MinimumAccuracy`](https://docs.validmind.ai/tests/model_validation/sklearn/MinimumAccuracy.html)\n", + "- [`MinimumF1Score`](https://docs.validmind.ai/tests/model_validation/sklearn/MinimumF1Score.html)\n", + "- [`ROCCurve`](https://docs.validmind.ai/tests/model_validation/sklearn/ROCCurve.html)\n", + "\n", + "As we learned in the previous notebook [2 — Start the model validation process](2-start_validation_process.ipynb), you can use a custom `result_id` to tag the individual result with a unique identifier by appending this `result_id` to the `test_id` with a `:` separator. We'll append an identifier for our champion model here:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "mpt = [\n", + " \"validmind.model_validation.sklearn.ClassifierPerformance:logreg_champion\",\n", + " \"validmind.model_validation.sklearn.ConfusionMatrix:logreg_champion\",\n", + " \"validmind.model_validation.sklearn.MinimumAccuracy:logreg_champion\",\n", + " \"validmind.model_validation.sklearn.MinimumF1Score:logreg_champion\",\n", + " \"validmind.model_validation.sklearn.ROCCurve:logreg_champion\"\n", + "]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Evaluate performance of the champion model\n", + "\n", + "Now, let's run and log our batch of model performance tests using our testing dataset (`vm_test_ds`) for our champion model:\n", + "\n", + "- The test set serves as a proxy for real-world data, providing an unbiased estimate of model performance since it was not used during training or tuning.\n", + "- The test set also acts as protection against selection bias and model tweaking, giving a final, more unbiased checkpoint." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "for test in mpt:\n", + " vm.tests.run_test(\n", + " test,\n", + " inputs={\n", + " \"dataset\": vm_test_ds, \"model\" : vm_log_model,\n", + " },\n", + " ).log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for some test IDs. \n", + "

\n", + "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Log an artifact\n", + "\n", + "As we can observe from the output above, our champion doesn't pass the `MinimumAccuracy` based on the default thresholds of the out-of-the-box test, so let's log an artifact (finding) in the ValidMind Platform (**Learn more:** [Add and manage artifacts](https://docs.validmind.ai/guide/validation/add-manage-artifacts.html)):\n", + "\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", + "\n", + "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", + "\n", + "3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section.\n", + "\n", + "4. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report**:\n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "5. Select **Validation Issue** as the type of artifact.\n", + "\n", + "6. Click **+ Add Validation Issue** to add a validation issue type artifact.\n", + "\n", + "76. Enter in the details for your validation issue, for example:\n", + "\n", + " - **TITLE** — Champion Logistic Regression Model Fails Minimum Accuracy Threshold\n", + " - **RISK AREA** — Model Performance\n", + " - **DOCUMENTATION SECTION** — 3.2. Model Evaluation\n", + " - **DESCRIPTION** — The logistic regression champion model was subjected to a Minimum Accuracy test to determine whether its predictive accuracy meets the predefined performance threshold of 0.7. The model achieved an accuracy score of 0.6136, which falls below the required minimum. As a result, the test produced a Fail outcome.\n", + "\n", + "8. Click **Save**.\n", + "\n", + "9. Select the validation issue you just added to link to your validation report and click **Update Linked Artifacts** to insert your validation issue.\n", + "\n", + "10. Click on the validation issue to expand the issue, where you can adjust details such as severity, owner, due date, status, etc. as well as include proposed remediation plans or supporting documentation as attachments." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Evaluate performance of challenger model\n", + "\n", + "We've now conducted similar tests as the development team for our champion, with the aim of verifying their test results.\n", + "\n", + "Next, let's see how our challengers compare. We'll use the same batch of tests here as we did in `mpt`, but append a different `result_id` to indicate that these results should be associated with our challenger:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "mpt_chall = [\n", + " \"validmind.model_validation.sklearn.ClassifierPerformance:champion_vs_challenger\",\n", + " \"validmind.model_validation.sklearn.ConfusionMatrix:champion_vs_challenger\",\n", + " \"validmind.model_validation.sklearn.MinimumAccuracy:champion_vs_challenger\",\n", + " \"validmind.model_validation.sklearn.MinimumF1Score:champion_vs_challenger\",\n", + " \"validmind.model_validation.sklearn.ROCCurve:champion_vs_challenger\"\n", + "]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll run each test once for each model with the same `vm_test_ds` dataset to compare them:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "for test in mpt_chall:\n", + " vm.tests.run_test(\n", + " test,\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", + " }\n", + " ).log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Based on the performance metrics, our challenger random forest classification model passes the MinimumAccuracy where our champion did not.\n", + "

\n", + "In your validation report, support your recommendation in your validation issue's Proposed Remediation Plan to investigate the usage of our challenger by inserting the performance tests we logged with this notebook into the appropriate section.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Run diagnostic tests\n", + "\n", + "Next, we want to inspect the robustness and stability testing comparison between our champion and challenger.\n", + "\n", + "Use `list_tests()` to list all available diagnosis tests applicable to classification tasks:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.list_tests(tags=[\"model_diagnosis\"], task=\"classification\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s now assess the models for potential signs of *overfitting* and identify any sub-segments where performance may inconsistent with the [`OverfitDiagnosis` test](https://docs.validmind.ai/tests/model_validation/sklearn/OverfitDiagnosis.html).\n", + "\n", + "Overfitting occurs when a model learns the training data too well, capturing not only the true pattern but noise and random fluctuations resulting in excellent performance on the training dataset but poor generalization to new, unseen data:\n", + "\n", + "- Since the training dataset (`vm_train_ds`) was used to fit the model, we use this set to establish a baseline performance for how well the model performs on data it has already seen.\n", + "- The testing dataset (`vm_test_ds`) was never seen during training, and here simulates real-world generalization, or how well the model performs on new, unseen data. " + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.run_test(\n", + " test_id=\"validmind.model_validation.sklearn.OverfitDiagnosis:champion_vs_challenger\",\n", + " input_grid={\n", + " \"datasets\": [[vm_train_ds,vm_test_ds]],\n", + " \"model\" : [vm_log_model,vm_rf_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's also conduct *robustness* and *stability* testing of the two models with the [`RobustnessDiagnosis` test](https://docs.validmind.ai/tests/model_validation/sklearn/RobustnessDiagnosis.html). Robustness refers to a model's ability to maintain consistent performance, and stability refers to a model's ability to produce consistent outputs over time across different data subsets.\n", + "\n", + "Again, we'll use both the training and testing datasets to establish baseline performance and to simulate real-world generalization:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.run_test(\n", + " test_id=\"validmind.model_validation.sklearn.RobustnessDiagnosis:Champion_vs_LogRegression\",\n", + " input_grid={\n", + " \"datasets\": [[vm_train_ds,vm_test_ds]],\n", + " \"model\" : [vm_log_model,vm_rf_model]\n", + " },\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Run feature importance tests\n", + "\n", + "We also want to verify the relative influence of different input features on our models' predictions, as well as inspect the differences between our champion and challenger to see if a certain model offers more understandable or logical importance scores for features.\n", + "\n", + "Use `list_tests()` to identify all the feature importance tests for classification:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Store the feature importance tests\n", + "FI = vm.tests.list_tests(tags=[\"feature_importance\"], task=\"classification\",pretty=False)\n", + "FI" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll only use our testing dataset (`vm_test_ds`) here, to provide a realistic, unseen sample that mimic future or production data, as the training dataset has already influenced our model during learning:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Run and log our feature importance tests for both models for the testing dataset\n", + "for test in FI:\n", + " vm.tests.run_test(\n", + " \"\".join((test,':champion_vs_challenger')),\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", + " },\n", + " ).log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## In summary\n", + "\n", + "In this third notebook, you learned how to:\n", + "\n", + "- [x] Initialize ValidMind model objects\n", + "- [x] Assign predictions and probabilities to your ValidMind model objects\n", + "- [x] Use tests from ValidMind to evaluate the potential of models, including comparative tests between champion and challengers\n", + "- [x] Log an artifact in the ValidMind Platform" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Next steps\n", + "\n", + "\n", + "\n", + "### Finalize validation and reporting\n", + "\n", + "Now that you're familiar with the basics of using the ValidMind Library to run and log validation tests, let's learn how to implement some custom tests and wrap up our validation: **[4 — Finalize validation and reporting](4-finalize_validation_reporting.ipynb)**" + ] + }, + { + "cell_type": "markdown", + "id": "copyright-910d55973ae44bb1a1cd609d39ae5ca8", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n", + "\n", + "***\n", + "\n", + "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", + "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", + "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ValidMind Library", + "language": "python", + "name": "validmind" + }, + "language_info": { + "name": "python", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/site/notebooks/EXECUTED/validation/4-finalize_validation_reporting.ipynb b/site/notebooks/EXECUTED/validation/4-finalize_validation_reporting.ipynb new file mode 100644 index 000000000..768c569b2 --- /dev/null +++ b/site/notebooks/EXECUTED/validation/4-finalize_validation_reporting.ipynb @@ -0,0 +1,1235 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ValidMind for validation 4 — Finalize testing and reporting\n", + "\n", + "Learn how to use ValidMind for your end-to-end validation process with our series of four introductory notebooks. In this last notebook, finalize the compliance assessment process and have a complete validation report ready for review.\n", + "\n", + "This notebook will walk you through how to supplement ValidMind tests with your own custom tests and include them as additional evidence in your validation report. A custom test is any function that takes a set of inputs and parameters as arguments and returns one or more outputs:\n", + "\n", + "- The function can be as simple or as complex as you need it to be — it can use external libraries, make API calls, or do anything else that you can do in Python.\n", + "- The only requirement is that the function signature and return values can be \"understood\" and handled by the ValidMind Library. As such, custom tests offer added flexibility by extending the default tests provided by ValidMind, enabling you to document any type of record (model) or use case.\n", + "\n", + "**For a more in-depth introduction to custom tests,** refer to our [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb) notebook.\n", + "\n", + "
Learn by doing\n", + "

\n", + "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "::: {.content-hidden when-format=\"html\"}\n", + "## Contents \n", + "- [Prerequisites](#toc1__) \n", + "- [Setting up](#toc2__) \n", + " - [Initialize the ValidMind Library](#toc2_1__) \n", + " - [Import the sample dataset](#toc2_2__) \n", + " - [Split the preprocessed dataset](#toc2_3__) \n", + " - [Import the champion model](#toc2_4__) \n", + " - [Train potential challenger model](#toc2_5__) \n", + " - [Initialize the ValidMind models](#toc2_6__) \n", + "- [Implementing custom tests](#toc3__) \n", + " - [Implement a custom inline test](#toc3_1__) \n", + " - [Create a confusion matrix plot](#toc3_1_1__) \n", + " - [Add parameters to custom tests](#toc3_1_2__) \n", + " - [Pass parameters to custom tests](#toc3_1_3__) \n", + " - [Use external test providers](#toc3_2__) \n", + " - [Create custom tests folder](#toc3_2_1__) \n", + " - [Save an inline test](#toc3_2_2__) \n", + " - [Register a local test provider](#toc3_2_3__) \n", + "- [Verify test runs](#toc4__) \n", + "- [In summary](#toc5__) \n", + "- [Next steps](#toc6__) \n", + " - [Work with your validation report](#toc6_1__) \n", + " - [Learn more](#toc6_2__) \n", + " - [Use cases](#toc6_2_1__) \n", + " - [Discover more learning resources](#toc6_2_2__) \n", + "\n", + ":::\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Prerequisites\n", + "\n", + "In order to finalize validation and reporting, you'll need to first have:\n", + "\n", + "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", + "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", + "- [x] Learned how to import and initialize datasets and models for use with ValidMind\n", + "- [x] Understood the basics of how to identify and run validation tests\n", + "- [x] Run validation tests for your champion and challengers, and logged the results of those tests to the ValidMind Platform\n", + "- [x] Inserted your logged test results into your validation report\n", + "- [x] Added some preliminary artifacts (findings) to your validation report\n", + "\n", + "
Need help with the above steps?\n", + "

\n", + "Refer to the first three notebooks in this series:\n", + "\n", + "- 1 — Set up the ValidMind Library for validation\n", + "- 2 — Start the validation process\n", + "- 3 — Developing a potential challenger\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Setting up\n", + "\n", + "This section should be very familiar to you now — as we performed the same actions in the previous two notebooks in this series." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind Library\n", + "\n", + "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", + "\n", + "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", + "\n", + "2. Click **Copy snippet to clipboard**.\n", + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Make sure the ValidMind Library is installed\n", + "\n", + "%pip install -q validmind\n", + "\n", + "# Load your model identifier credentials from an `.env` file\n", + "\n", + "%load_ext dotenv\n", + "%dotenv .env\n", + "\n", + "# Or replace with your code snippet\n", + "\n", + "import validmind as vm\n", + "\n", + "vm.init(\n", + " # api_host=\"...\",\n", + " # api_key=\"...\",\n", + " # api_secret=\"...\",\n", + " # model=\"...\",\n", + " document=\"validation-report\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Import the sample dataset\n", + "\n", + "Next, we'll load in the same sample [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset used to develop the champion that we will independently preprocess:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Load the sample dataset\n", + "from validmind.datasets.classification import customer_churn as demo_dataset\n", + "\n", + "print(\n", + " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", + ")\n", + "\n", + "raw_df = demo_dataset.load_data()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the raw dataset for use in ValidMind tests\n", + "vm_raw_dataset = vm.init_dataset(\n", + " dataset=raw_df,\n", + " input_id=\"raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "import pandas as pd\n", + "\n", + "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", + "\n", + "# Create a balanced dataset with the same number of exited and not exited customers\n", + "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", + "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", + "\n", + "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", + "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s also quickly remove highly correlated features from the dataset using the output from a ValidMind test:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", + "vm_balanced_raw_dataset = vm.init_dataset(\n", + " dataset=balanced_raw_df,\n", + " input_id=\"balanced_raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# From result object, extract table from `corr_result.tables`\n", + "features_df = corr_result.tables[0].data\n", + "features_df" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract list of features that failed the test\n", + "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract feature names from the list of strings\n", + "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Remove the highly correlated features from the dataset\n", + "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", + "\n", + "# Re-initialize the dataset object\n", + "vm_raw_dataset_preprocessed = vm.init_dataset(\n", + " dataset=balanced_raw_no_age_df,\n", + " input_id=\"raw_dataset_preprocessed\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Re-run the test with the reduced feature set\n", + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Split the preprocessed dataset\n", + "\n", + "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Encode categorical features in the dataset\n", + "balanced_raw_no_age_df = pd.get_dummies(\n", + " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", + ")\n", + "balanced_raw_no_age_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Split the dataset into train and test\n", + "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", + "\n", + "X_train = train_df.drop(\"Exited\", axis=1)\n", + "y_train = train_df[\"Exited\"]\n", + "X_test = test_df.drop(\"Exited\", axis=1)\n", + "y_test = test_df[\"Exited\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the split datasets\n", + "vm_train_ds = vm.init_dataset(\n", + " input_id=\"train_dataset_final\",\n", + " dataset=train_df,\n", + " target_column=\"Exited\",\n", + ")\n", + "\n", + "vm_test_ds = vm.init_dataset(\n", + " input_id=\"test_dataset_final\",\n", + " dataset=test_df,\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Import the champion model\n", + "\n", + "With our raw dataset assessed and preprocessed, let's go ahead and import the champion submitted by the development team in the format of a `.pkl` file: **[lr_model_champion.pkl](lr_model_champion.pkl)**" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Import the champion model\n", + "import pickle as pkl\n", + "\n", + "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", + " log_reg = pkl.load(f)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Train potential challenger model\n", + "\n", + "We'll also train our random forest classification challenger to see how it compares:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Import the Random Forest Classification model\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "\n", + "# Create the model instance with 50 decision trees\n", + "rf_model = RandomForestClassifier(\n", + " n_estimators=50,\n", + " random_state=42,\n", + ")\n", + "\n", + "# Train the model\n", + "rf_model.fit(X_train, y_train)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind models\n", + "\n", + "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our two models:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the champion logistic regression model\n", + "vm_log_model = vm.init_model(\n", + " log_reg,\n", + " input_id=\"log_model_champion\",\n", + ")\n", + "\n", + "# Initialize the challenger random forest classification model\n", + "vm_rf_model = vm.init_model(\n", + " rf_model,\n", + " input_id=\"rf_model\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Assign predictions to Champion — Logistic regression model\n", + "vm_train_ds.assign_predictions(model=vm_log_model)\n", + "vm_test_ds.assign_predictions(model=vm_log_model)\n", + "\n", + "# Assign predictions to Challenger — Random forest classification model\n", + "vm_train_ds.assign_predictions(model=vm_rf_model)\n", + "vm_test_ds.assign_predictions(model=vm_rf_model)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Implementing custom tests\n", + "\n", + "Thanks to the documentation (**Learn more:** [ValidMind for development](https://docs.validmind.ai/developer/validmind-library.html#development)), we know that the development team implemented a custom test to further evaluate the performance of the champion.\n", + "\n", + "In a usual validation situation, you would load a saved custom test provided by the development team. In the following section, we'll have you implement the same custom test and make it available for reuse, to familiarize you with the processes.\n", + "\n", + "
Want to learn more about custom tests?\n", + "

\n", + "Refer to our in-depth introduction to custom tests: Implement custom tests
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Implement a custom inline test\n", + "\n", + "Let's implement the same custom *inline test* that calculates the confusion matrix for a binary classification model that the development team used in their performance evaluations.\n", + "\n", + "- An inline test refers to a test written and executed within the same environment as the code being tested — in this case, right in this Jupyter Notebook — without requiring a separate test file or framework.\n", + "- You'll note that the custom test function is just a regular Python function that can include and require any Python library as you see fit." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Create a confusion matrix plot\n", + "\n", + "Let's first create a confusion matrix plot using the `confusion_matrix` function from the `sklearn.metrics` module:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "import matplotlib.pyplot as plt\n", + "from sklearn import metrics\n", + "\n", + "# Get the predicted classes\n", + "y_pred = log_reg.predict(vm_test_ds.x)\n", + "\n", + "confusion_matrix = metrics.confusion_matrix(y_test, y_pred)\n", + "\n", + "cm_display = metrics.ConfusionMatrixDisplay(\n", + " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", + ")\n", + "cm_display.plot()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, create a [`@vm.test` wrapper](https://docs.validmind.ai/validmind/validmind.html#test) that will allow you to create a reusable test. **Note the following changes in the code below:**\n", + "\n", + "- The function `confusion_matrix` takes two arguments `dataset` and `model`. This is a `VMDataset` and `VMModel` object respectively.\n", + " - `VMDataset` objects allow you to access the dataset's true (target) values by accessing the `.y` attribute.\n", + " - `VMDataset` objects allow you to access the predictions for a given record (model) by accessing the `.y_pred()` method.\n", + "- The function docstring provides a description of what the test does. This will be displayed along with the result in this notebook as well as in the ValidMind Platform.\n", + "- The function body calculates the confusion matrix using the `sklearn.metrics.confusion_matrix` function as we just did above.\n", + "- The function then returns the `ConfusionMatrixDisplay.figure_` object — this is important as the ValidMind Library expects the output of the custom test to be a plot or a table.\n", + "- The `@vm.test` decorator is doing the work of creating a wrapper around the function that will allow it to be run by the ValidMind Library. It also registers the test so it can be found by the ID `my_custom_tests.ConfusionMatrix`." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "@vm.test(\"my_custom_tests.ConfusionMatrix\")\n", + "def confusion_matrix(dataset, model):\n", + " \"\"\"The confusion matrix is a table that is often used to describe the performance of a classification model on a set of data for which the true values are known.\n", + "\n", + " The confusion matrix is a 2x2 table that contains 4 values:\n", + "\n", + " - True Positive (TP): the number of correct positive predictions\n", + " - True Negative (TN): the number of correct negative predictions\n", + " - False Positive (FP): the number of incorrect positive predictions\n", + " - False Negative (FN): the number of incorrect negative predictions\n", + "\n", + " The confusion matrix can be used to assess the holistic performance of a classification model by showing the accuracy, precision, recall, and F1 score of the model on a single figure.\n", + " \"\"\"\n", + " y_true = dataset.y\n", + " y_pred = dataset.y_pred(model=model)\n", + "\n", + " confusion_matrix = metrics.confusion_matrix(y_true, y_pred)\n", + "\n", + " cm_display = metrics.ConfusionMatrixDisplay(\n", + " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", + " )\n", + " cm_display.plot()\n", + "\n", + " plt.close() # close the plot to avoid displaying it\n", + "\n", + " return cm_display.figure_ # return the figure object itself" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can now run the newly created custom test on both the training and test datasets for both models using the [`run_test()` function](https://docs.validmind.ai/validmind/validmind/tests.html#run_test):" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Champion train and test\n", + "vm.tests.run_test(\n", + " test_id=\"my_custom_tests.ConfusionMatrix:champion\",\n", + " input_grid={\n", + " \"dataset\": [vm_train_ds,vm_test_ds],\n", + " \"model\" : [vm_log_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Challenger train and test\n", + "vm.tests.run_test(\n", + " test_id=\"my_custom_tests.ConfusionMatrix:challenger\",\n", + " input_grid={\n", + " \"dataset\": [vm_train_ds,vm_test_ds],\n", + " \"model\" : [vm_rf_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for some test IDs. \n", + "

\n", + "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Add parameters to custom tests\n", + "\n", + "Custom tests can take parameters just like any other function. To demonstrate, let's modify the `confusion_matrix` function to take an additional parameter `normalize` that will allow you to normalize the confusion matrix:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "@vm.test(\"my_custom_tests.ConfusionMatrix\")\n", + "def confusion_matrix(dataset, model, normalize=False):\n", + " \"\"\"The confusion matrix is a table that is often used to describe the performance of a classification model on a set of data for which the true values are known.\n", + "\n", + " The confusion matrix is a 2x2 table that contains 4 values:\n", + "\n", + " - True Positive (TP): the number of correct positive predictions\n", + " - True Negative (TN): the number of correct negative predictions\n", + " - False Positive (FP): the number of incorrect positive predictions\n", + " - False Negative (FN): the number of incorrect negative predictions\n", + "\n", + " The confusion matrix can be used to assess the holistic performance of a classification model by showing the accuracy, precision, recall, and F1 score of the model on a single figure.\n", + " \"\"\"\n", + " y_true = dataset.y\n", + " y_pred = dataset.y_pred(model=model)\n", + "\n", + " if normalize:\n", + " confusion_matrix = metrics.confusion_matrix(y_true, y_pred, normalize=\"all\")\n", + " else:\n", + " confusion_matrix = metrics.confusion_matrix(y_true, y_pred)\n", + "\n", + " cm_display = metrics.ConfusionMatrixDisplay(\n", + " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", + " )\n", + " cm_display.plot()\n", + "\n", + " plt.close() # close the plot to avoid displaying it\n", + "\n", + " return cm_display.figure_ # return the figure object itself" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Pass parameters to custom tests\n", + "\n", + "You can pass parameters to custom tests by providing a dictionary of parameters to the `run_test()` function.\n", + "\n", + "- The parameters will override any default parameters set in the custom test definition. Note that `dataset` and `model` are still passed as `inputs`.\n", + "- Since these are `VMDataset` or `VMModel` inputs, they have a special meaning.\n", + "\n", + "Re-running and logging the custom confusion matrix with `normalize=True` for both models and our testing dataset looks like this:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Champion with test dataset and normalize=True\n", + "vm.tests.run_test(\n", + " test_id=\"my_custom_tests.ConfusionMatrix:test_normalized_champion\",\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds],\n", + " \"model\" : [vm_log_model]\n", + " },\n", + " params={\"normalize\": True}\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Challenger with test dataset and normalize=True\n", + "vm.tests.run_test(\n", + " test_id=\"my_custom_tests.ConfusionMatrix:test_normalized_challenger\",\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds],\n", + " \"model\" : [vm_rf_model]\n", + " },\n", + " params={\"normalize\": True}\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Use external test providers\n", + "\n", + "Sometimes you may want to reuse the same set of custom tests across multiple records (models) and share them with others in your organization, like the development team would have done with you in this example workflow featured in this series of notebooks. In this case, you can create an external custom *test provider* that will allow you to load custom tests from a local folder or a Git repository.\n", + "\n", + "In this section you will learn how to declare a local filesystem test provider that allows loading tests from a local folder following these high level steps:\n", + "\n", + "1. Create a folder of custom tests from existing inline tests (tests that exist in your active Jupyter Notebook)\n", + "2. Save an inline test to a file\n", + "3. Define and register a [`LocalTestProvider`](https://docs.validmind.ai/validmind/validmind/tests.html#LocalTestProvider) that points to that folder\n", + "4. Run test provider tests\n", + "5. Add the test results to your documentation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Create custom tests folder\n", + "\n", + "Let's start by creating a new folder that will contain reusable custom tests from your existing inline tests.\n", + "\n", + "The following code snippet will create a new `my_tests` directory in the current working directory if it doesn't exist:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "tests_folder = \"my_tests\"\n", + "\n", + "import os\n", + "\n", + "# create tests folder\n", + "os.makedirs(tests_folder, exist_ok=True)\n", + "\n", + "# remove existing tests\n", + "for f in os.listdir(tests_folder):\n", + " # remove files and pycache\n", + " if f.endswith(\".py\") or f == \"__pycache__\":\n", + " os.system(f\"rm -rf {tests_folder}/{f}\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After running the command above, confirm that a new `my_tests` directory was created successfully. For example:\n", + "\n", + "```\n", + "~/notebooks/tutorials/validation/my_tests/\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Save an inline test\n", + "\n", + "The `@vm.test` decorator we used in **Implement a custom inline test** above to register one-off custom tests also includes a convenience method on the function object that allows you to simply call `.save()` to save the test to a Python file at a specified path.\n", + "\n", + "While `save()` will get you started by creating the file and saving the function code with the correct name, it won't automatically include any imports, or other functions or variables, outside of the functions that are needed for the test to run. To solve this, pass in an optional `imports` argument ensuring necessary imports are added to the file.\n", + "\n", + "The `confusion_matrix` test requires the following additional imports:\n", + "\n", + "```python\n", + "import matplotlib.pyplot as plt\n", + "from sklearn import metrics\n", + "```\n", + "\n", + "Let's pass these imports to the `save()` method to ensure they are included in the file with the following command:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "confusion_matrix.save(\n", + " # Save it to the custom tests folder we created\n", + " tests_folder,\n", + " imports=[\"import matplotlib.pyplot as plt\", \"from sklearn import metrics\"],\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- [x] Confirm that the `save()` method saved the `confusion_matrix` function to a file named `ConfusionMatrix.py` in the `my_tests` folder.\n", + "- [x] Note that the new file provides some context on the origin of the test, which is useful for traceability:\n", + "\n", + " ```\n", + " # Saved from __main__.confusion_matrix\n", + " # Original Test ID: my_custom_tests.ConfusionMatrix\n", + " # New Test ID: .ConfusionMatrix\n", + " ```\n", + "\n", + "- [x] Additionally, the new test function has been stripped off its decorator, as it now resides in a file that will be loaded by the test provider:\n", + "\n", + " ```python\n", + " def ConfusionMatrix(dataset, model, normalize=False):\n", + " ```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Register a local test provider\n", + "\n", + "Now that your `my_tests` folder has a sample custom test, let's initialize a test provider that will tell the ValidMind Library where to find your custom tests:\n", + "\n", + "- ValidMind offers out-of-the-box test providers for local tests (tests in a folder) or a Github provider for tests in a Github repository.\n", + "- You can also create your own test provider by creating a class that has a [`load_test` method](https://docs.validmind.ai/validmind/validmind/tests.html#load_test) that takes a test ID and returns the test function matching that ID.\n", + "\n", + "
Want to learn more about test providers?\n", + "

\n", + "An extended introduction to test providers can be found in: Integrate external test providers
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Initialize a local test provider\n", + "\n", + "For most use cases, using a `LocalTestProvider` that allows you to load custom tests from a designated directory should be sufficient.\n", + "\n", + "**The most important attribute for a test provider is its `namespace`.** This is a string that will be used to prefix test IDs in documentation. This allows you to have multiple test providers with tests that can even share the same ID, but are distinguished by their namespace.\n", + "\n", + "Let's go ahead and load the custom tests from our `my_tests` directory:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from validmind.tests import LocalTestProvider\n", + "\n", + "# initialize the test provider with the tests folder we created earlier\n", + "my_test_provider = LocalTestProvider(tests_folder)\n", + "\n", + "vm.tests.register_test_provider(\n", + " namespace=\"my_test_provider\",\n", + " test_provider=my_test_provider,\n", + ")\n", + "# `my_test_provider.load_test()` will be called for any test ID that starts with `my_test_provider`\n", + "# e.g. `my_test_provider.ConfusionMatrix` will look for a function named `ConfusionMatrix` in `my_tests/ConfusionMatrix.py` file" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Run test provider tests\n", + "\n", + "Now that we've set up the test provider, we can run any test that's located in the tests folder by using the `run_test()` method as with any other test:\n", + "\n", + "- For tests that reside in a test provider directory, the test ID will be the `namespace` specified when registering the provider, followed by the path to the test file relative to the tests folder.\n", + "- For example, the Confusion Matrix test we created earlier will have the test ID `my_test_provider.ConfusionMatrix`. You could organize the tests in subfolders, say `classification` and `regression`, and the test ID for the Confusion Matrix test would then be `my_test_provider.classification.ConfusionMatrix`.\n", + "\n", + "Let's go ahead and re-run the confusion matrix test with our testing dataset for our two models by using the test ID `my_test_provider.ConfusionMatrix`. This should load the test from the test provider and run it as before." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Champion with test dataset and test provider custom test\n", + "vm.tests.run_test(\n", + " test_id=\"my_test_provider.ConfusionMatrix:champion\",\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds],\n", + " \"model\" : [vm_log_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Challenger with test dataset and test provider custom test\n", + "vm.tests.run_test(\n", + " test_id=\"my_test_provider.ConfusionMatrix:challenger\",\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds],\n", + " \"model\" : [vm_rf_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Verify test runs\n", + "\n", + "Our final task is to verify that all the tests provided by the development team were run and reported accurately. Note the appended `result_ids` to delineate which dataset we ran the test with for the relevant tests.\n", + "\n", + "Here, we'll specify all the tests we'd like to independently rerun in a dictionary called `test_config`. **Note here that `inputs` and `input_grid` expect the `input_id` of the dataset or model as the value rather than the variable name we specified**:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "test_config = {\n", + " # Run with the raw dataset\n", + " 'validmind.data_validation.DatasetDescription:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'}\n", + " },\n", + " 'validmind.data_validation.DescriptiveStatistics:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'}\n", + " },\n", + " 'validmind.data_validation.MissingValues:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'min_percentage_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.ClassImbalance:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'min_percent_threshold': 10}\n", + " },\n", + " 'validmind.data_validation.Duplicates:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'min_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.HighCardinality:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {\n", + " 'num_threshold': 100,\n", + " 'percent_threshold': 0.1,\n", + " 'threshold_type': 'percent'\n", + " }\n", + " },\n", + " 'validmind.data_validation.Skewness:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'max_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.UniqueRows:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'min_percent_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.TooManyZeroValues:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'max_percent_threshold': 0.03}\n", + " },\n", + " 'validmind.data_validation.IQROutliersTable:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'threshold': 5}\n", + " },\n", + " # Run with the preprocessed dataset\n", + " 'validmind.data_validation.DescriptiveStatistics:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", + " },\n", + " 'validmind.data_validation.TabularDescriptionTables:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", + " },\n", + " 'validmind.data_validation.MissingValues:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'},\n", + " 'params': {'min_percentage_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.TabularNumericalHistograms:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", + " },\n", + " 'validmind.data_validation.TabularCategoricalBarPlots:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", + " },\n", + " 'validmind.data_validation.TargetRateBarPlots:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'},\n", + " 'params': {'default_column': 'loan_status'}\n", + " },\n", + " # Run with the training and test datasets\n", + " 'validmind.data_validation.DescriptiveStatistics:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", + " },\n", + " 'validmind.data_validation.TabularDescriptionTables:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", + " },\n", + " 'validmind.data_validation.ClassImbalance:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", + " 'params': {'min_percent_threshold': 10}\n", + " },\n", + " 'validmind.data_validation.UniqueRows:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", + " 'params': {'min_percent_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.TabularNumericalHistograms:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", + " },\n", + " 'validmind.data_validation.MutualInformation:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", + " 'params': {'min_threshold': 0.01}\n", + " },\n", + " 'validmind.data_validation.PearsonCorrelationMatrix:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", + " },\n", + " 'validmind.data_validation.HighPearsonCorrelation:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", + " 'params': {'max_threshold': 0.3, 'top_n_correlations': 10}\n", + " },\n", + " 'validmind.model_validation.ModelMetadata': {\n", + " 'input_grid': {'model': ['log_model_champion', 'rf_model']}\n", + " },\n", + " 'validmind.model_validation.sklearn.ModelParameters': {\n", + " 'input_grid': {'model': ['log_model_champion', 'rf_model']}\n", + " },\n", + " 'validmind.model_validation.sklearn.ROCCurve': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final'], 'model': ['log_model_champion']}\n", + " },\n", + " 'validmind.model_validation.sklearn.MinimumROCAUCScore': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final'], 'model': ['log_model_champion']},\n", + " 'params': {'min_threshold': 0.5}\n", + " }\n", + "}" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then batch run and log our tests in `test_config`:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "for t in test_config:\n", + " print(t)\n", + " try:\n", + " # Check if test has input_grid\n", + " if 'input_grid' in test_config[t]:\n", + " # For tests with input_grid, pass the input_grid configuration\n", + " if 'params' in test_config[t]:\n", + " vm.tests.run_test(t, input_grid=test_config[t]['input_grid'], params=test_config[t]['params']).log()\n", + " else:\n", + " vm.tests.run_test(t, input_grid=test_config[t]['input_grid']).log()\n", + " else:\n", + " # Original logic for regular inputs\n", + " if 'params' in test_config[t]:\n", + " vm.tests.run_test(t, inputs=test_config[t]['inputs'], params=test_config[t]['params']).log()\n", + " else:\n", + " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", + " except Exception as e:\n", + " print(f\"Error running test {t}: {str(e)}\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## In summary\n", + "\n", + "In this final notebook, you learned how to:\n", + "\n", + "- [x] Implement a custom inline test\n", + "- [x] Run and log your custom inline tests\n", + "- [x] Use external custom test providers\n", + "- [x] Run and log tests from your custom test providers\n", + "- [x] Re-run tests provided by your development team to verify that they were run and reported accurately\n", + "\n", + "With our ValidMind for validation series of notebooks, you learned how to validate a record (model) end-to-end with the ValidMind Library by running through some common scenarios in a typical validation setting:\n", + "\n", + "- Verifying the data quality steps performed by the development team\n", + "- Independently replicating the champion's results and conducting additional tests to assess performance, stability, and robustness\n", + "- Setting up test inputs and a challenger for comparative analysis\n", + "- Running validation tests, analyzing results, and logging artifacts to ValidMind" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Next steps" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Work with your validation report\n", + "\n", + "Now that you've logged all your test results and verified the work done by the development team, head to the ValidMind Platform to wrap up your validation report. Continue to work on your validation report by:\n", + "\n", + "- **Inserting additional test results:** Click **Link Evidence to Report** under any section of 2. Validation in your validation report. (Learn more: [Link evidence to reports](https://docs.validmind.ai/guide/validation/assess-compliance.html#link-evidence-to-reports))\n", + "\n", + "- **Making qualitative edits to your test descriptions:** Expand any linked evidence under Validator Evidence and click **See evidence details** to review and edit the ValidMind-generated test descriptions for quality and accuracy. (Learn more: [Preparing validation reports](https://docs.validmind.ai/guide/validation/preparing-validation-reports.html#validation-overview))\n", + "\n", + "- **Adding more findings:** Click **Link Finding to Report** in any validation report section, then click **+ Create New Finding**. (Learn more: [Add and manage artifacts](https://docs.validmind.ai/guide/validation/add-manage-artifacts.html))\n", + "\n", + "- **Adding risk assessment notes:** Click under **Risk Assessment Notes** in any validation report section to access the text editor and content editing toolbar, including an option to generate a draft with AI. Once generated, edit your ValidMind-generated test descriptions to adhere to your organization's requirements. (Learn more: [Work with content blocks](https://docs.validmind.ai/guide/documentation/work-with-content-blocks.html#content-editing-toolbar))\n", + "\n", + "- **Assessing compliance:** Under the Guideline for any validation report section, click **ASSESSMENT** and select the compliance status from the drop-down menu. (Learn more: [Provide compliance assessments](https://docs.validmind.ai/guide/validation/assess-compliance.html#provide-compliance-assessments))\n", + "\n", + "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including developers. Propose suggested changes in the documentation, work with versioned history, and use comments to discuss specific portions of the documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/documentation/collaborate-with-others.html))\n", + "\n", + "When your validation report is complete and ready for review, submit it for approval from the same ValidMind Platform where you made your edits and collaborated with the rest of your organization, ensuring transparency and a thorough validation history. (Learn more: [Submit documents](https://docs.validmind.ai/guide/documentation/submit-documents.html))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Learn more\n", + "\n", + "Now that you're familiar with the basics, you can explore the following notebooks to get a deeper understanding on how the ValidMind Library assists you in streamlining validation:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Use cases\n", + "\n", + "- [Validate an application scorecard model](../../use_cases/validation/validate_application_scorecard.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Discover more learning resources\n", + "\n", + "Learn more about the ValidMind Library tools we used in this notebook:\n", + "\n", + "- [Explore tests](../../how_to/tests/explore_tests/explore_tests.ipynb)\n", + "- [Run dataset-based tests](../../how_to/tests/run_tests/1-run_dataset-based_tests.ipynb)\n", + "- [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb)\n", + "- [Integrate external test providers](../../how_to/tests/custom_tests/integrate_external_test_providers.ipynb)\n", + "\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", + "\n", + "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", + "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", + "\n", + "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." + ] + }, + { + "cell_type": "markdown", + "id": "copyright-0f5cad51d1144e528b343ccbd8f66d06", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n", + "\n", + "***\n", + "\n", + "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", + "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", + "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ValidMind Library", + "language": "python", + "name": "validmind" + }, + "language_info": { + "name": "python", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/site/notebooks/EXECUTED/model_validation/class-imbalance-results-detail.png b/site/notebooks/EXECUTED/validation/class-imbalance-results-detail.png similarity index 100% rename from site/notebooks/EXECUTED/model_validation/class-imbalance-results-detail.png rename to site/notebooks/EXECUTED/validation/class-imbalance-results-detail.png diff --git a/site/notebooks/EXECUTED/model_validation/compliance-summary.png b/site/notebooks/EXECUTED/validation/compliance-summary.png similarity index 100% rename from site/notebooks/EXECUTED/model_validation/compliance-summary.png rename to site/notebooks/EXECUTED/validation/compliance-summary.png diff --git a/site/notebooks/EXECUTED/model_validation/inserted-class-imbalance-results.png b/site/notebooks/EXECUTED/validation/inserted-class-imbalance-results.png similarity index 100% rename from site/notebooks/EXECUTED/model_validation/inserted-class-imbalance-results.png rename to site/notebooks/EXECUTED/validation/inserted-class-imbalance-results.png diff --git a/site/notebooks/EXECUTED/model_validation/inserted-minimum-f1-scores.png b/site/notebooks/EXECUTED/validation/inserted-minimum-f1-scores.png similarity index 100% rename from site/notebooks/EXECUTED/model_validation/inserted-minimum-f1-scores.png rename to site/notebooks/EXECUTED/validation/inserted-minimum-f1-scores.png diff --git a/site/notebooks/EXECUTED/model_validation/link-artifact.png b/site/notebooks/EXECUTED/validation/link-artifact.png similarity index 100% rename from site/notebooks/EXECUTED/model_validation/link-artifact.png rename to site/notebooks/EXECUTED/validation/link-artifact.png diff --git a/site/notebooks/EXECUTED/model_validation/link-validator-evidence.png b/site/notebooks/EXECUTED/validation/link-validator-evidence.png similarity index 100% rename from site/notebooks/EXECUTED/model_validation/link-validator-evidence.png rename to site/notebooks/EXECUTED/validation/link-validator-evidence.png diff --git a/site/notebooks/EXECUTED/model_validation/lr_model_champion.pkl b/site/notebooks/EXECUTED/validation/lr_model_champion.pkl similarity index 100% rename from site/notebooks/EXECUTED/model_validation/lr_model_champion.pkl rename to site/notebooks/EXECUTED/validation/lr_model_champion.pkl diff --git a/site/notebooks/EXECUTED/model_validation/selecting-class-imbalance-results.png b/site/notebooks/EXECUTED/validation/selecting-class-imbalance-results.png similarity index 100% rename from site/notebooks/EXECUTED/model_validation/selecting-class-imbalance-results.png rename to site/notebooks/EXECUTED/validation/selecting-class-imbalance-results.png diff --git a/site/notebooks/EXECUTED/model_validation/selecting-minimum-f1-scores.png b/site/notebooks/EXECUTED/validation/selecting-minimum-f1-scores.png similarity index 100% rename from site/notebooks/EXECUTED/model_validation/selecting-minimum-f1-scores.png rename to site/notebooks/EXECUTED/validation/selecting-minimum-f1-scores.png diff --git a/site/notebooks/how_to/data_and_datasets/dataset_inputs/configure_dataset_features.ipynb b/site/notebooks/how_to/data_and_datasets/dataset_inputs/configure_dataset_features.ipynb index d8f086ea9..7abcc885d 100644 --- a/site/notebooks/how_to/data_and_datasets/dataset_inputs/configure_dataset_features.ipynb +++ b/site/notebooks/how_to/data_and_datasets/dataset_inputs/configure_dataset_features.ipynb @@ -54,9 +54,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -70,11 +70,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind
\n", "\n", "\n", "\n", @@ -150,17 +150,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -171,10 +173,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -188,11 +192,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -370,23 +376,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/data_and_datasets/dataset_inputs/load_datasets_predictions.ipynb b/site/notebooks/how_to/data_and_datasets/dataset_inputs/load_datasets_predictions.ipynb index 484648fa7..222c98431 100644 --- a/site/notebooks/how_to/data_and_datasets/dataset_inputs/load_datasets_predictions.ipynb +++ b/site/notebooks/how_to/data_and_datasets/dataset_inputs/load_datasets_predictions.ipynb @@ -74,9 +74,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -90,11 +90,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind
\n", "\n", "\n", "\n", @@ -170,17 +170,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -191,10 +193,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -208,11 +212,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -955,23 +961,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/data_and_datasets/use_dataset_model_objects.ipynb b/site/notebooks/how_to/data_and_datasets/use_dataset_model_objects.ipynb index 1929fb3ac..f727d405d 100644 --- a/site/notebooks/how_to/data_and_datasets/use_dataset_model_objects.ipynb +++ b/site/notebooks/how_to/data_and_datasets/use_dataset_model_objects.ipynb @@ -67,7 +67,7 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models. You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models. You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -81,11 +81,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -169,17 +169,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -190,10 +192,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -207,11 +211,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -786,7 +792,7 @@ "\n", "- The function `confusion_matrix` takes two arguments `dataset` and `model`. This is a `VMDataset` and `VMModel` object respectively.\n", " - `VMDataset` objects allow you to access the dataset's true (target) values by accessing the `.y` attribute.\n", - " - `VMDataset` objects allow you to access the predictions for a given model by accessing the `.y_pred()` method.\n", + " - `VMDataset` objects allow you to access the predictions for a given record (model) by accessing the `.y_pred()` method.\n", "- The function docstring provides a description of what the test does. This will be displayed along with the result in this notebook as well as in the ValidMind Platform.\n", "- The function body calculates the confusion matrix using the `sklearn.tests.confusion_matrix` function as we just did above.\n", "- The function then returns the `ConfusionMatrixDisplay.figure_` object - this is important as the ValidMind Library expects the output of the custom test to be a plot or a table.\n", @@ -901,11 +907,11 @@ "\n", "## Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/metrics/log_metrics_over_time.ipynb b/site/notebooks/how_to/metrics/log_metrics_over_time.ipynb index 4722eeed6..271b98727 100644 --- a/site/notebooks/how_to/metrics/log_metrics_over_time.ipynb +++ b/site/notebooks/how_to/metrics/log_metrics_over_time.ipynb @@ -6,17 +6,19 @@ "source": [ "# Log metrics over time\n", "\n", - "Learn how to track and visualize the temporal evolution of key model performance metrics with ValidMind.\n", + "Learn how to track and visualize the temporal evolution of key record (model) performance metrics with ValidMind.\n", + "\n", + "While this notebook uses a traditional binary classification model to demonstrate, the same principles apply to logging performance metrics over time for any record (model) type registered with ValidMind — including agentic AI systems, generative LLM applications, and beyond. For example:\n", "\n", "- Key model performance metrics such as AUC, F1 score, precision, recall, and accuracy, are useful for analyzing the stability and trends in model performance indicators, helping to identify potential degradation or unexpected fluctuations in model behavior over time.\n", "- By monitoring these metrics systematically, teams can detect early warning signs of model drift and take proactive measures to maintain model reliability.\n", "- Unit metrics in ValidMind provide a standardized way to compute and track individual performance measures, making it easy to monitor specific aspects of model behavior.\n", "\n", - "Log metrics over time with the ValidMind Library's [`log_metric()`](https://docs.validmind.ai/validmind/validmind.html#log_metric) function and visualize them in your documentation using the *Metric Over Time* block within the ValidMind Platform. This integration enables seamless tracking of model performance, supporting custom thresholds and facilitating the automation of alerts based on logged metrics.\n", + "Log metrics over time with the ValidMind Library's [`log_metric()`](https://docs.validmind.ai/validmind/validmind.html#log_metric) function and visualize them in your documentation using the *Metric Over Time* block within the ValidMind Platform. This integration enables seamless tracking of record performance, supporting custom thresholds and facilitating the automation of alerts based on logged metrics.\n", "\n", - "
Metrics over time are most commonly associated with the continued monitoring of a model's performance once it is deployed.\n", + "
Metrics over time are most commonly associated with the continued monitoring of a records's performance once it is deployed.\n", "

\n", - "While you are able to add Metric Over Time blocks to model documentation, we recommend first enabling ongoing monitoring for your model to maximize the potential of your performance data.
" + "While you are able to add Metric Over Time blocks to documentation, we recommend first enabling ongoing monitoring for your record to maximize the potential of your performance data.
" ] }, { @@ -37,7 +39,7 @@ " - [Get your code snippet](#toc2_2_3__) \n", " - [Initialize the Python environment](#toc2_3__) \n", "- [Load demo model](#toc3__) \n", - "- [Log metrics](#toc4__) \n", + "- [Logging metrics](#toc4__) \n", " - [Run unit metrics](#toc4_1__) \n", " - [Log unit metrics over time](#toc4_2__) \n", " - [Pass thresholds](#toc4_3__) \n", @@ -66,9 +68,9 @@ "\n", "\n", "## About ValidMind\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -80,11 +82,11 @@ "\n", "\n", "### New to ValidMind?\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -165,17 +167,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -186,10 +190,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Credit Risk Scorecard`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -203,11 +209,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -331,7 +339,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -352,6 +360,8 @@ " dataset=test_df, input_id=\"test_dataset\", target_column=customer_churn.target_column\n", ")\n", "\n", + "# Initialize the ValidMind model object wrapper so that it can be passed as input to tests or test suites\n", + "# ValidMind model objects can be any type of record you want to test, document, validate, or monitor\n", "vm_model = vm.init_model(\n", " model,\n", " input_id=\"model\",\n", @@ -388,7 +398,7 @@ "source": [ "\n", "\n", - "## Log metrics\n", + "## Logging metrics\n", "\n", "Next, we'll use ValidMind to track the temporal evolution of key model performance metrics.\n", "\n", @@ -853,27 +863,27 @@ "\n", "## Next steps\n", "\n", - "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your model documentation.\n", + "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your documentation.\n", "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/metrics/run_unit_metrics.ipynb b/site/notebooks/how_to/metrics/run_unit_metrics.ipynb index 1b8dc8ce6..bc562eba9 100644 --- a/site/notebooks/how_to/metrics/run_unit_metrics.ipynb +++ b/site/notebooks/how_to/metrics/run_unit_metrics.ipynb @@ -89,9 +89,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -105,11 +105,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -158,17 +158,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -179,10 +181,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -196,11 +200,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -690,27 +696,27 @@ "\n", "## Next steps\n", "\n", - "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your model documentation.\n", + "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your documentation.\n", "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/qualitative_text/qualitative_text_generation.ipynb b/site/notebooks/how_to/qualitative_text/qualitative_text_generation.ipynb index d85879f94..a82760597 100644 --- a/site/notebooks/how_to/qualitative_text/qualitative_text_generation.ipynb +++ b/site/notebooks/how_to/qualitative_text/qualitative_text_generation.ipynb @@ -1,951 +1,962 @@ { - "cells": [ - { - "cell_type": "markdown", - "id": "9a900020", - "metadata": {}, - "source": [ - "# Generate qualitative text with the ValidMind library\n", - "\n", - "This notebook shows how to generate qualitative documentation content directly from the ValidMind library using both `vm.run_text_generation()` and `vm.generate_documentation_text()`. Instead of switching to the UI to write text manually or trigger generation one section at a time, you can generate content for documentation text blocks programmatically from within a notebook and log it back to the corresponding sections of the model document.\n", - "\n", - "After building an example model and documenting its quantitative results, we’ll show how to generate text for individual content blocks, customize the output with prompts, control the context used for generation, and use a configuration-driven workflow to populate multiple qualitative sections across the document. By the end, you’ll have an end-to-end example of how quantitative test results and AI-generated qualitative content can work together to populate a full model document from Python, giving you a more automated documentation workflow directly in the library." - ] - }, - { - "cell_type": "markdown", - "id": "cd48db57", - "metadata": {}, - "source": [ - "::: {.content-hidden when-format=\"html\"}\n", - "## Contents \n", - "- [About ValidMind](#toc1__) \n", - " - [Before you begin](#toc1_1__) \n", - " - [New to ValidMind?](#toc1_2__) \n", - " - [Key concepts](#toc1_3__) \n", - "- [Setting up](#toc2__) \n", - " - [Install the ValidMind Library](#toc2_1__) \n", - " - [Initialize the ValidMind Library](#toc2_2__) \n", - " - [Register sample model](#toc2_2_1__) \n", - " - [Apply documentation template](#toc2_2_2__) \n", - " - [Get your code snippet](#toc2_2_3__) \n", - " - [Initialize the Python environment](#toc2_3__) \n", - "- [Getting to know ValidMind](#toc3__) \n", - " - [Preview the documentation template](#toc3_1__) \n", - " - [View model documentation in the ValidMind Platform](#toc3_2__) \n", - "- [Build the example model](#toc4__) \n", - " - [Import the sample dataset](#toc4_1__) \n", - " - [Preprocessing the raw dataset](#toc4_2__) \n", - " - [Training an XGBoost classifier model](#toc4_3__) \n", - "- [Initialize the ValidMind inputs](#toc5__) \n", - "- [Document test results](#toc6__) \n", - "- [Document qualitative sections](#toc7__) \n", - " - [Generate text for a single content block](#toc7_1__) \n", - " - [Customize the prompt](#toc7_2__) \n", - " - [Pass section-specific context](#toc7_3__) \n", - " - [Append a new text block to a section](#toc7_4__) \n", - " - [Generate text across the document](#toc7_5__) \n", - "- [In summary](#toc8__) \n", - "- [Next steps](#toc9__) \n", - " - [Work with your model documentation](#toc9_1__) \n", - " - [Discover more learning resources](#toc9_2__) \n", - "- [Upgrade ValidMind](#toc10__) \n", - "\n", - ":::\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "a67217b3", - "metadata": {}, - "source": [ - "\n", - "\n", - "## About ValidMind\n", - "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models. \n", - "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators." - ] - }, - { - "cell_type": "markdown", - "id": "281cfb86", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Before you begin\n", - "\n", - "This notebook assumes you have basic familiarity with Python, including an understanding of how functions work. If you are new to Python, you can still run the notebook but we recommend further familiarizing yourself with the language. \n", - "\n", - "If you encounter errors due to missing modules in your Python environment, install the modules with `pip install`, and then re-run the notebook. For more help, refer to [Installing Python Modules](https://docs.python.org/3/installing/index.html)." - ] - }, - { - "cell_type": "markdown", - "id": "51c11b52", - "metadata": {}, - "source": [ - "\n", - "\n", - "### New to ValidMind?\n", - "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", - "\n", - "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", - "

\n", - "Register with ValidMind
" - ] - }, - { - "cell_type": "markdown", - "id": "9103cd45", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Key concepts\n", - "\n", - "**Validation report**: A comprehensive and structured assessment of a model’s development and performance, focusing on verifying its integrity, appropriateness, and alignment with its intended use. It includes analyses of model assumptions, data quality, performance metrics, outcomes of testing procedures, and risk considerations. The validation report supports transparency, regulatory compliance, and informed decision-making by documenting the validator’s independent review and conclusions.\n", - "\n", - "**Validation report template**: Serves as a standardized framework for conducting and documenting model validation activities. It outlines the required sections, recommended analyses, and expected validation tests, ensuring consistency and completeness across validation reports. The template helps guide validators through a systematic review process while promoting comparability and traceability of validation outcomes.\n", - "\n", - "**Tests**: A function contained in the ValidMind Library, designed to run a specific quantitative test on the dataset or model. Tests are the building blocks of ValidMind, used to evaluate and document models and datasets.\n", - "\n", - "**Metrics**: A subset of tests that do not have thresholds. In the context of this notebook, metrics and tests can be thought of as interchangeable concepts.\n", - "\n", - "**Custom metrics**: Custom metrics are functions that you define to evaluate your model or dataset. These functions can be registered with the ValidMind Library to be used in the ValidMind Platform.\n", - "\n", - "**Inputs**: Objects to be evaluated and documented in the ValidMind Library. They can be any of the following:\n", - "\n", - " - **model**: A single model that has been initialized in ValidMind with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model).\n", - " - **dataset**: Single dataset that has been initialized in ValidMind with [`vm.init_dataset()`](https://docs.validmind.ai/validmind/validmind.html#init_dataset).\n", - " - **models**: A list of ValidMind models - usually this is used when you want to compare multiple models in your custom metric.\n", - " - **datasets**: A list of ValidMind datasets - usually this is used when you want to compare multiple datasets in your custom metric. (Learn more: [Run tests with multiple datasets](https://docs.validmind.ai/notebooks/how_to/tests/run_tests/configure_tests/run_tests_that_require_multiple_datasets.html))\n", - "\n", - "**Parameters**: Additional arguments that can be passed when running a ValidMind test, used to pass additional information to a metric, customize its behavior, or provide additional context.\n", - "\n", - "**Outputs**: Custom metrics can return elements like tables or plots. Tables may be a list of dictionaries (each representing a row) or a pandas DataFrame. Plots may be matplotlib or plotly figures." - ] - }, - { - "cell_type": "markdown", - "id": "23020a1b", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Setting up" - ] - }, - { - "cell_type": "markdown", - "id": "6202d6dc", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Install the ValidMind Library\n", - "\n", - "
Recommended Python versions\n", - "

\n", - "Python 3.8 <= x <= 3.14
\n", - "\n", - "To install the library:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "045b05a6", - "metadata": {}, - "outputs": [], - "source": [ - "%pip install -q validmind" - ] - }, - { - "cell_type": "markdown", - "id": "b3231d8e", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind Library" - ] - }, - { - "cell_type": "markdown", - "id": "56592217", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Register sample model\n", - "\n", - "Let's first register a sample model for use with this notebook:\n", - "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", - "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", - "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", - "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", - "\n", - "5. Click **Register Model** to add the model to your inventory." - ] - }, - { - "cell_type": "markdown", - "id": "43ed3d0c", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Apply documentation template\n", - "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", - "\n", - "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", - "\n", - "2. Under **TEMPLATE**, select `Binary classification`.\n", - "\n", - "3. Click **Use Template** to apply the template." - ] - }, - { - "cell_type": "markdown", - "id": "9b9203be", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Get your code snippet\n", - "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", - "\n", - "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", - "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "690dc368", - "metadata": {}, - "outputs": [], - "source": [ - "# Load your model identifier credentials from an `.env` file\n", - "\n", - "%load_ext dotenv\n", - "%dotenv .env\n", - "\n", - "# Or replace with your code snippet\n", - "\n", - "import validmind as vm\n", - "\n", - "vm.init(\n", - " api_host=\"http://localhost:5000/api/v1/tracking\",\n", - " api_key=\"..\",\n", - " api_secret=\"..\",\n", - " document=\"documentation\", # requires library >=2.12.0\n", - " model=\"..\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "a68f6031", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the Python environment\n", - "\n", - "Then, let's import the necessary libraries and set up your Python environment for data analysis:\n", - "\n", - "- Import **Extreme Gradient Boosting** (XGBoost) with an alias so that we can reference its functions in later calls. XGBoost is a powerful machine learning library designed for speed and performance, especially in handling structured or tabular data.\n", - "- Enable **`matplotlib`**, a plotting library used for visualizing data. Ensures that any plots you generate will render inline in our notebook output rather than opening in a separate window." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3fa2d9de", - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "\n", - "import xgboost as xgb" - ] - }, - { - "cell_type": "markdown", - "id": "69a37995", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Getting to know ValidMind" - ] - }, - { - "cell_type": "markdown", - "id": "40c9eb24", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Preview the documentation template\n", - "\n", - "Let's verify that you have connected the ValidMind Library to the ValidMind Platform and that the appropriate *template* is selected for your model.\n", - "\n", - "You will upload documentation and test results unique to your model based on this template later on. For now, **take a look at the default structure that the template provides with [the `vm.preview_template()` function](https://docs.validmind.ai/validmind/validmind.html#preview_template)** from the ValidMind library and note the empty sections:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "62842e84", - "metadata": {}, - "outputs": [], - "source": [ - "vm.preview_template()" - ] - }, - { - "cell_type": "markdown", - "id": "6fab1c1c", - "metadata": {}, - "source": [ - "\n", - "\n", - "### View model documentation in the ValidMind Platform\n", - "\n", - "Next, let's head to the ValidMind Platform to see the template in action:\n", - "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", - "\n", - "2. In the left sidebar, navigate to **Inventory** and select the model you registered for this notebook.\n", - "\n", - "3. Click **Development** under Documents for your model and note how the structure of the documentation matches our preview above." - ] - }, - { - "cell_type": "markdown", - "id": "606d932b", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Build the example model" - ] - }, - { - "cell_type": "markdown", - "id": "3d7ad25a", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Import the sample dataset\n", - "\n", - "First, let's import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle so that we have something to work with.\n", - "\n", - "In our below example, note that: \n", - "\n", - "- The target column, `Exited` has a value of `1` when a customer has churned and `0` otherwise.\n", - "- The ValidMind Library provides a wrapper to automatically load the dataset as a [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) object. A Pandas Dataframe is a two-dimensional tabular data structure that makes use of rows and columns." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8ea8188e", - "metadata": {}, - "outputs": [], - "source": [ - "from validmind.datasets.classification import customer_churn\n", - "\n", - "print(\n", - " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{customer_churn.target_column}' \\n\\t• Class labels: {customer_churn.class_labels}\"\n", - ")\n", - "\n", - "raw_df = customer_churn.load_data()\n", - "raw_df.head()" - ] - }, - { - "cell_type": "markdown", - "id": "a5ceef72", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Preprocessing the raw dataset\n", - "\n", - "In this section, we preprocess the raw dataset so it is ready for model training and validation. This includes splitting the data into training, validation, and test subsets to support both model fitting and evaluation on unseen data, and then separating each subset into input features and target labels so the model can learn from customer attributes and predict whether a customer churned." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9d2bec58", - "metadata": {}, - "outputs": [], - "source": [ - "train_df, validation_df, test_df = customer_churn.preprocess(raw_df)\n", - "\n", - "x_train = train_df.drop(customer_churn.target_column, axis=1)\n", - "y_train = train_df[customer_churn.target_column]\n", - "x_val = validation_df.drop(customer_churn.target_column, axis=1)\n", - "y_val = validation_df[customer_churn.target_column]" - ] - }, - { - "cell_type": "markdown", - "id": "3b9edacf", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Training an XGBoost classifier model\n", - "\n", - "In this section, we train an XGBoost classifier to predict customer churn, using early stopping to halt training if performance does not improve after 10 rounds and reduce unnecessary fitting. We configure the model to evaluate performance with three complementary metrics: error for incorrect predictions, logloss for prediction confidence, and auc for class separation. The model is trained on the training split and evaluated against the validation split during fitting, while verbose=False keeps the training output concise." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "658447fc", - "metadata": {}, - "outputs": [], - "source": [ - "model = xgb.XGBClassifier(early_stopping_rounds=10)\n", - "\n", - "model.set_params(\n", - " eval_metric=[\"error\", \"logloss\", \"auc\"],\n", - ")\n", - "\n", - "model.fit(\n", - " x_train,\n", - " y_train,\n", - " eval_set=[(x_val, y_val)],\n", - " verbose=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "c2a6b492", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Initialize the ValidMind inputs\n", - "\n", - "We begin by registering the datasets and trained model as ValidMind inputs so they can be referenced consistently throughout the documentation workflow. For the datasets, this means creating ValidMind Dataset objects for the raw, training, and testing data, each with a unique `input_id` for traceability. Where needed, we also provide supporting metadata such as the target column and class labels so tests can interpret the data correctly." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "081548ae", - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the raw dataset\n", - "vm_raw_dataset = vm.init_dataset(\n", - " dataset=raw_df,\n", - " input_id=\"raw_dataset\",\n", - " target_column=customer_churn.target_column,\n", - " class_labels=customer_churn.class_labels,\n", - ")\n", - "\n", - "# Initialize the training dataset\n", - "vm_train_ds = vm.init_dataset(\n", - " dataset=train_df,\n", - " input_id=\"train_dataset\",\n", - " target_column=customer_churn.target_column,\n", - ")\n", - "\n", - "# Initialize the testing dataset\n", - "vm_test_ds = vm.init_dataset(\n", - " dataset=test_df,\n", - " input_id=\"test_dataset\",\n", - " target_column=customer_churn.target_column\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "1ebfda19", - "metadata": {}, - "source": [ - "Next, we initialize a ValidMind model object with `vm.init_model()`. This creates a standardized representation of the trained model that can be passed into ValidMind tests and other library functions, making it possible to evaluate the model and connect its results to the documentation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6cc5aff8", - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the model\n", - "vm_model = vm.init_model(\n", - " model,\n", - " input_id=\"model\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "48d23cf8", - "metadata": {}, - "source": [ - "Finally, we assign predictions from the trained model to the training and testing datasets. The `assign_predictions()` method links predicted classes and probabilities to each dataset, and can also compute predictions automatically if they are not passed explicitly. This step is what allows ValidMind to run performance and diagnostic tests using the model outputs." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "922baa9d", - "metadata": {}, - "outputs": [], - "source": [ - "vm_train_ds.assign_predictions(\n", - " model=vm_model,\n", - ")\n", - "vm_test_ds.assign_predictions(\n", - " model=vm_model,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "7c9a174d", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Document test results\n", - "\n", - "In this section, we run the documentation tests defined by the applied template to populate the quantitative parts of the model documentation. The `vm.run_documentation_tests()` function discovers each test-driven block in the template, executes the corresponding tests, and uploads the resulting artifacts to the ValidMind Platform.\n", - "\n", - "To run the full suite successfully, ValidMind needs to know which model and dataset inputs should be used for each test. This can be done with a shared `inputs` argument when all tests use the same objects, or with a `config` dictionary when individual tests require specific inputs or parameters. In this example, we use the default test parameters and provide the input configuration needed for the demo model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47f7e709", - "metadata": {}, - "outputs": [], - "source": [ - "from validmind.utils import preview_test_config\n", - "\n", - "test_config = customer_churn.get_demo_test_config()\n", - "preview_test_config(test_config)" - ] - }, - { - "cell_type": "markdown", - "id": "3f22d37b", - "metadata": {}, - "source": [ - "Once the configuration is prepared, we pass it to `vm.run_documentation_tests()` and execute the full suite. The returned `full_suite` object contains the test results and represents the quantitative documentation that has been generated for the model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "999be7fe", - "metadata": {}, - "outputs": [], - "source": [ - "full_suite = vm.run_documentation_tests(config=test_config)" - ] - }, - { - "cell_type": "markdown", - "id": "5d531744", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Document qualitative sections\n", - "\n", - "In addition to documenting quantitative results through tests, ValidMind now supports programmatic generation of qualitative content for the text blocks in a model documentation template through `vm.run_text_generation()`. This function allows you to generate AI-assisted text for a specific content block directly from a notebook and then log it back to the corresponding section of the document. As a result, you can populate qualitative sections without switching to the UI to write text manually or trigger generation one section at a time.\n", - "\n", - "In the next sections, we’ll walk through the main ways to use this functionality. We’ll start by generating text for a single content block with the default behavior, then show how to customize the output with a prompt, how to control the context used for generation by selecting specific sections, and finally how to scale the same pattern across all text blocks in the document." - ] - }, - { - "cell_type": "markdown", - "id": "899c8553", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Generate text for a single content block\n", - "\n", - "First, we’ll use `vm.run_text_generation()` to generate qualitative text for a single documentation block. By providing a `content_id`, you can target the exact text placeholder you want to populate and let ValidMind generate content using the current document context. The helper `vm.get_content_ids()` is useful for inspecting which content blocks are available in the active template, making it easier to identify the IDs you can use when generating and logging text programmatically." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "85cc552f", - "metadata": {}, - "outputs": [], - "source": [ - "vm.get_content_ids()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "26fcddf9", - "metadata": {}, - "outputs": [], - "source": [ - "vm.run_text_generation(\n", - " content_id=\"dataset_summary_text\",\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "id": "caff6490", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Customize the prompt\n", - "\n", - "Next, we’ll customize the generated output by passing a `prompt` to `vm.run_text_generation()`. This makes it possible to guide not just the subject of the generated text, but also its structure, tone, level of detail, and presentation format. In practice, this allows you to tailor the output for different documentation needs, such as producing a short narrative summary, a more structured section, or content written for a specific audience, while still relying on the same underlying document context for generation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "52165b98", - "metadata": {}, - "outputs": [], - "source": [ - "prompt = \"\"\"\n", - "Use exactly this structure:\n", - "\n", - "

Dataset Overview

\n", - "

Explain in 1-2 sentences what the dataset contains and what it is used for.

\n", - "\n", - "

Dataset Summary

\n", - "

Summarize the dataset structure, target outcome, and the main types of input features in 2-3 sentences.

\n", - "\n", - "

Key Characteristics

\n", - "
    \n", - "
  • Include 2-3 concise points about the most important characteristics of the dataset.
  • \n", - "
\n", - "\n", - "

Data Quality and Considerations

\n", - "
    \n", - "
  • Include 2-3 concise points about important quality observations, limitations, or considerations relevant to the dataset.
  • \n", - "
\n", - "\n", - "

Overall Assessment

\n", - "

End with a short balanced conclusion on the dataset's suitability for model development and evaluation.

\n", - "\"\"\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fbf10ad9", - "metadata": {}, - "outputs": [], - "source": [ - "vm.run_text_generation(\n", - " content_id=\"dataset_summary_text\",\n", - " prompt=prompt,\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "id": "99a0740e", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Pass section-specific context\n", - "\n", - "Then, we’ll control the `context` used for generation by passing a selected set of content IDs to `vm.run_text_generation()`. Rather than relying on the full document, this lets you focus the model on the most relevant parts of the documentation for a given text block. In practice, that means you can generate more targeted qualitative content by choosing which existing test and text blocks should inform the output." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "43cf0e7d", - "metadata": {}, - "outputs": [], - "source": [ - "vm.get_content_ids(\"data_description\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1e1a919e", - "metadata": {}, - "outputs": [], - "source": [ - "vm.run_text_generation(\n", - " content_id=\"dataset_summary_text\",\n", - " context={\"content_ids\": vm.get_content_ids(\"data_description\")},\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "id": "701a0323", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Append a new text block to a section\n", - "\n", - "Sometimes you may want to generate text for a `content_id` that is not already defined in the template. In that case, you can still generate the text with `vm.run_text_generation()` and then use `.log(section_id=...)` to tell ValidMind where that new text block should be placed in the document. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6a9ba924", - "metadata": {}, - "outputs": [], - "source": [ - "vm.run_text_generation(\n", - " content_id=\"intended_use\",\n", - " section_id=\"intended_use\",\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "id": "6e032b79", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Generate text across the document\n", - "\n", - "At this stage, instead of generating one block at a time, we can populate multiple qualitative sections in a single pass.\n", - "\n", - "The [`vm.generate_documentation_text`](https://docs.validmind.ai/validmind/validmind.html#generate_documentation_text) function reads a configuration dictionary, generates content for each target block, logs the generated text to the ValidMind Platform, and returns a notebook summary grouped by section.\n", - "\n", - "- The function uses a `config` argument to describe which text blocks to generate and how each one should be handled.\n", - "- The `config` parameter is a dictionary with the following structure:\n", - "\n", - " ```python\n", - " config = {\n", - " \"\": {\n", - " \"section_id\": \"\",\n", - " \"prompt\": \"Optional custom prompt\",\n", - " \"context\": {\n", - " \"content_ids\": [\"\", \"\"]\n", - " }\n", - " },\n", - " ...\n", - " }\n", - " ```\n", - "\n", - " Each `` represents a documentation text block to populate. Use `section_id` when the block should be inserted into a specific section, `prompt` when you want to shape the output more explicitly, and `context.content_ids` when you want the generation step to focus on selected parts of the document. In this notebook, `text_config` comes from `customer_churn.get_demo_text_config()`, which provides the demo setup for the customer churn example." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a97bb129", - "metadata": {}, - "outputs": [], - "source": [ - "text_config = customer_churn.get_demo_text_config()\n", - "preview_test_config(text_config)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "aff42702", - "metadata": {}, - "outputs": [], - "source": [ - "results = vm.generate_documentation_text(config=text_config)" - ] - }, - { - "cell_type": "markdown", - "id": "03b6b875", - "metadata": {}, - "source": [ - "\n", - "\n", - "## In summary\n", - "\n", - "In this notebook, you learned how to:\n", - "\n", - "- [x] Build and document an example customer churn model with ValidMind\n", - "- [x] Run documentation tests to populate the quantitative sections of a model document\n", - "- [x] Generate qualitative text for a single documentation content block with `vm.run_text_generation()`\n", - "- [x] Customize generated output by passing a prompt\n", - "- [x] Control generation context by selecting specific sections of the document\n", - "- [x] Use a configuration-driven workflow to generate qualitative content across the document with `vm.generate_documentation_text()`" - ] - }, - { - "cell_type": "markdown", - "id": "3db3c328", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Next steps\n", - "\n", - "You can look at the output produced by the ValidMind Library right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your model documentation." - ] - }, - { - "cell_type": "markdown", - "id": "d7bd8df8", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Work with your model documentation\n", - "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", - "\n", - "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", - "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)" - ] - }, - { - "cell_type": "markdown", - "id": "c0951457", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Discover more learning resources\n", - "\n", - "For a more in-depth introduction to using the ValidMind Library for development, check out our introductory development series and the accompanying interactive training:\n", - "\n", - "- **[ValidMind for model development](https://docs.validmind.ai/developer/validmind-library.html#for-model-development)**\n", - "- **[Developer Fundamentals](https://docs.validmind.ai/training/developer-fundamentals/developer-fundamentals-register.html)**\n", - "\n", - "We also offer many interactive notebooks to help you document models:\n", - "\n", - "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", - "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", - "\n", - "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." - ] - }, - { - "cell_type": "markdown", - "id": "24532182", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Upgrade ValidMind\n", - "\n", - "
After installing ValidMind, you’ll want to periodically make sure you are on the latest version to access any new features and other enhancements.
\n", - "\n", - "Retrieve the information for the currently installed version of ValidMind:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2e796c43", - "metadata": {}, - "outputs": [], - "source": [ - "%pip show validmind" - ] - }, - { - "cell_type": "markdown", - "id": "713a6722", - "metadata": {}, - "source": [ - "If the version returned is lower than the version indicated in our [production open-source code](https://github.com/validmind/validmind-library/blob/prod/validmind/__version__.py), restart your notebook and run:\n", - "\n", - "```bash\n", - "%pip install --upgrade validmind\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "84a65def", - "metadata": {}, - "source": [ - "You may need to restart your kernel after running the upgrade package for changes to be applied." - ] - }, - { - "cell_type": "markdown", - "id": "copyright-18d82030e09942c4953248e9bf432249", - "metadata": {}, - "source": [ - "\n", - "\n", - "\n", - "\n", - "***\n", - "\n", - "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", - "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", - "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ValidMind Library", - "language": "python", - "name": "validmind" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.11" - } - }, - "nbformat": 4, - "nbformat_minor": 5 + "cells": [ + { + "cell_type": "markdown", + "id": "9a900020", + "metadata": {}, + "source": [ + "# Generate qualitative text with the ValidMind library\n", + "\n", + "This notebook shows how to generate qualitative documentation content directly from the ValidMind library using both `vm.run_text_generation()` and `vm.generate_documentation_text()`. Instead of switching to the UI to write text manually or trigger generation one section at a time, you can generate content for documentation text blocks programmatically from within a notebook and log it back to the corresponding sections of the model document.\n", + "\n", + "After building an example model and documenting its quantitative results, we’ll show how to generate text for individual content blocks, customize the output with prompts, control the context used for generation, and use a configuration-driven workflow to populate multiple qualitative sections across the document. By the end, you’ll have an end-to-end example of how quantitative test results and AI-generated qualitative content can work together to populate a full model document from Python, giving you a more automated documentation workflow directly in the library." + ] + }, + { + "cell_type": "markdown", + "id": "cd48db57", + "metadata": {}, + "source": [ + "::: {.content-hidden when-format=\"html\"}\n", + "## Contents \n", + "- [About ValidMind](#toc1__) \n", + " - [Before you begin](#toc1_1__) \n", + " - [New to ValidMind?](#toc1_2__) \n", + " - [Key concepts](#toc1_3__) \n", + "- [Setting up](#toc2__) \n", + " - [Install the ValidMind Library](#toc2_1__) \n", + " - [Initialize the ValidMind Library](#toc2_2__) \n", + " - [Register sample model](#toc2_2_1__) \n", + " - [Apply documentation template](#toc2_2_2__) \n", + " - [Get your code snippet](#toc2_2_3__) \n", + " - [Initialize the Python environment](#toc2_3__) \n", + "- [Getting to know ValidMind](#toc3__) \n", + " - [Preview the documentation template](#toc3_1__) \n", + " - [View model documentation in the ValidMind Platform](#toc3_2__) \n", + "- [Build the example model](#toc4__) \n", + " - [Import the sample dataset](#toc4_1__) \n", + " - [Preprocessing the raw dataset](#toc4_2__) \n", + " - [Training an XGBoost classifier model](#toc4_3__) \n", + "- [Initialize the ValidMind inputs](#toc5__) \n", + "- [Document test results](#toc6__) \n", + "- [Document qualitative sections](#toc7__) \n", + " - [Generate text for a single content block](#toc7_1__) \n", + " - [Customize the prompt](#toc7_2__) \n", + " - [Pass section-specific context](#toc7_3__) \n", + " - [Append a new text block to a section](#toc7_4__) \n", + " - [Generate text across the document](#toc7_5__) \n", + "- [In summary](#toc8__) \n", + "- [Next steps](#toc9__) \n", + " - [Work with your model documentation](#toc9_1__) \n", + " - [Discover more learning resources](#toc9_2__) \n", + "- [Upgrade ValidMind](#toc10__) \n", + "\n", + ":::\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "a67217b3", + "metadata": {}, + "source": [ + "\n", + "\n", + "## About ValidMind\n", + "\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models. \n", + "\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators." + ] + }, + { + "cell_type": "markdown", + "id": "281cfb86", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Before you begin\n", + "\n", + "This notebook assumes you have basic familiarity with Python, including an understanding of how functions work. If you are new to Python, you can still run the notebook but we recommend further familiarizing yourself with the language. \n", + "\n", + "If you encounter errors due to missing modules in your Python environment, install the modules with `pip install`, and then re-run the notebook. For more help, refer to [Installing Python Modules](https://docs.python.org/3/installing/index.html)." + ] + }, + { + "cell_type": "markdown", + "id": "51c11b52", + "metadata": {}, + "source": [ + "\n", + "\n", + "### New to ValidMind?\n", + "\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", + "\n", + "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", + "

\n", + "Register with ValidMind
" + ] + }, + { + "cell_type": "markdown", + "id": "9103cd45", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Key concepts\n", + "\n", + "**Validation report**: A comprehensive and structured assessment of a model’s development and performance, focusing on verifying its integrity, appropriateness, and alignment with its intended use. It includes analyses of model assumptions, data quality, performance metrics, outcomes of testing procedures, and risk considerations. The validation report supports transparency, regulatory compliance, and informed decision-making by documenting the validator’s independent review and conclusions.\n", + "\n", + "**Validation report template**: Serves as a standardized framework for conducting and documenting model validation activities. It outlines the required sections, recommended analyses, and expected validation tests, ensuring consistency and completeness across validation reports. The template helps guide validators through a systematic review process while promoting comparability and traceability of validation outcomes.\n", + "\n", + "**Tests**: A function contained in the ValidMind Library, designed to run a specific quantitative test on the dataset or model. Tests are the building blocks of ValidMind, used to evaluate and document models and datasets.\n", + "\n", + "**Metrics**: A subset of tests that do not have thresholds. In the context of this notebook, metrics and tests can be thought of as interchangeable concepts.\n", + "\n", + "**Custom metrics**: Custom metrics are functions that you define to evaluate your model or dataset. These functions can be registered with the ValidMind Library to be used in the ValidMind Platform.\n", + "\n", + "**Inputs**: Objects to be evaluated and documented in the ValidMind Library. They can be any of the following:\n", + "\n", + " - **model**: A single model that has been initialized in ValidMind with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model).\n", + " - **dataset**: Single dataset that has been initialized in ValidMind with [`vm.init_dataset()`](https://docs.validmind.ai/validmind/validmind.html#init_dataset).\n", + " - **models**: A list of ValidMind models - usually this is used when you want to compare multiple models in your custom metric.\n", + " - **datasets**: A list of ValidMind datasets - usually this is used when you want to compare multiple datasets in your custom metric. (Learn more: [Run tests with multiple datasets](https://docs.validmind.ai/notebooks/how_to/tests/run_tests/configure_tests/run_tests_that_require_multiple_datasets.html))\n", + "\n", + "**Parameters**: Additional arguments that can be passed when running a ValidMind test, used to pass additional information to a metric, customize its behavior, or provide additional context.\n", + "\n", + "**Outputs**: Custom metrics can return elements like tables or plots. Tables may be a list of dictionaries (each representing a row) or a pandas DataFrame. Plots may be matplotlib or plotly figures." + ] + }, + { + "cell_type": "markdown", + "id": "23020a1b", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Setting up" + ] + }, + { + "cell_type": "markdown", + "id": "6202d6dc", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Install the ValidMind Library\n", + "\n", + "
Recommended Python versions\n", + "

\n", + "Python 3.8 <= x <= 3.14
\n", + "\n", + "To install the library:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "045b05a6", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install -q validmind" + ] + }, + { + "cell_type": "markdown", + "id": "b3231d8e", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind Library" + ] + }, + { + "cell_type": "markdown", + "id": "56592217", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Register sample model\n", + "\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", + "\n", + "2. In the left sidebar, select **Inventory**.\n", + "\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", + "\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", + "\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." + ] + }, + { + "cell_type": "markdown", + "id": "43ed3d0c", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Apply documentation template\n", + "\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", + "\n", + "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", + "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", + "2. Under **TEMPLATE**, select `Binary classification`.\n", + "\n", + "3. Click **Use Template** to apply the template." + ] + }, + { + "cell_type": "markdown", + "id": "9b9203be", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Get your code snippet\n", + "\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", + "\n", + "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", + "2. Click **Copy snippet to clipboard**.\n", + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "690dc368", + "metadata": {}, + "outputs": [], + "source": [ + "# Load your model identifier credentials from an `.env` file\n", + "\n", + "%load_ext dotenv\n", + "%dotenv .env\n", + "\n", + "# Or replace with your code snippet\n", + "\n", + "import validmind as vm\n", + "\n", + "vm.init(\n", + " api_host=\"http://localhost:5000/api/v1/tracking\",\n", + " api_key=\"..\",\n", + " api_secret=\"..\",\n", + " document=\"documentation\", # requires library >=2.12.0\n", + " model=\"..\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "a68f6031", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the Python environment\n", + "\n", + "Then, let's import the necessary libraries and set up your Python environment for data analysis:\n", + "\n", + "- Import **Extreme Gradient Boosting** (XGBoost) with an alias so that we can reference its functions in later calls. XGBoost is a powerful machine learning library designed for speed and performance, especially in handling structured or tabular data.\n", + "- Enable **`matplotlib`**, a plotting library used for visualizing data. Ensures that any plots you generate will render inline in our notebook output rather than opening in a separate window." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3fa2d9de", + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "import xgboost as xgb" + ] + }, + { + "cell_type": "markdown", + "id": "69a37995", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Getting to know ValidMind" + ] + }, + { + "cell_type": "markdown", + "id": "40c9eb24", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Preview the documentation template\n", + "\n", + "Let's verify that you have connected the ValidMind Library to the ValidMind Platform and that the appropriate *template* is selected for your model.\n", + "\n", + "You will upload documentation and test results unique to your model based on this template later on. For now, **take a look at the default structure that the template provides with [the `vm.preview_template()` function](https://docs.validmind.ai/validmind/validmind.html#preview_template)** from the ValidMind library and note the empty sections:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62842e84", + "metadata": {}, + "outputs": [], + "source": [ + "vm.preview_template()" + ] + }, + { + "cell_type": "markdown", + "id": "6fab1c1c", + "metadata": {}, + "source": [ + "\n", + "\n", + "### View model documentation in the ValidMind Platform\n", + "\n", + "Next, let's head to the ValidMind Platform to see the template in action:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", + "\n", + "2. In the left sidebar, navigate to **Inventory** and select the model you registered for this notebook.\n", + "\n", + "3. Click **Development** under Documents for your model and note how the structure of the documentation matches our preview above." + ] + }, + { + "cell_type": "markdown", + "id": "606d932b", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Build the example model" + ] + }, + { + "cell_type": "markdown", + "id": "3d7ad25a", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Import the sample dataset\n", + "\n", + "First, let's import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle so that we have something to work with.\n", + "\n", + "In our below example, note that: \n", + "\n", + "- The target column, `Exited` has a value of `1` when a customer has churned and `0` otherwise.\n", + "- The ValidMind Library provides a wrapper to automatically load the dataset as a [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) object. A Pandas Dataframe is a two-dimensional tabular data structure that makes use of rows and columns." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ea8188e", + "metadata": {}, + "outputs": [], + "source": [ + "from validmind.datasets.classification import customer_churn\n", + "\n", + "print(\n", + " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{customer_churn.target_column}' \\n\\t• Class labels: {customer_churn.class_labels}\"\n", + ")\n", + "\n", + "raw_df = customer_churn.load_data()\n", + "raw_df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "a5ceef72", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Preprocessing the raw dataset\n", + "\n", + "In this section, we preprocess the raw dataset so it is ready for model training and validation. This includes splitting the data into training, validation, and test subsets to support both model fitting and evaluation on unseen data, and then separating each subset into input features and target labels so the model can learn from customer attributes and predict whether a customer churned." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d2bec58", + "metadata": {}, + "outputs": [], + "source": [ + "train_df, validation_df, test_df = customer_churn.preprocess(raw_df)\n", + "\n", + "x_train = train_df.drop(customer_churn.target_column, axis=1)\n", + "y_train = train_df[customer_churn.target_column]\n", + "x_val = validation_df.drop(customer_churn.target_column, axis=1)\n", + "y_val = validation_df[customer_churn.target_column]" + ] + }, + { + "cell_type": "markdown", + "id": "3b9edacf", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Training an XGBoost classifier model\n", + "\n", + "In this section, we train an XGBoost classifier to predict customer churn, using early stopping to halt training if performance does not improve after 10 rounds and reduce unnecessary fitting. We configure the model to evaluate performance with three complementary metrics: error for incorrect predictions, logloss for prediction confidence, and auc for class separation. The model is trained on the training split and evaluated against the validation split during fitting, while verbose=False keeps the training output concise." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "658447fc", + "metadata": {}, + "outputs": [], + "source": [ + "model = xgb.XGBClassifier(early_stopping_rounds=10)\n", + "\n", + "model.set_params(\n", + " eval_metric=[\"error\", \"logloss\", \"auc\"],\n", + ")\n", + "\n", + "model.fit(\n", + " x_train,\n", + " y_train,\n", + " eval_set=[(x_val, y_val)],\n", + " verbose=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c2a6b492", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Initialize the ValidMind inputs\n", + "\n", + "We begin by registering the datasets and trained model as ValidMind inputs so they can be referenced consistently throughout the documentation workflow. For the datasets, this means creating ValidMind Dataset objects for the raw, training, and testing data, each with a unique `input_id` for traceability. Where needed, we also provide supporting metadata such as the target column and class labels so tests can interpret the data correctly." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "081548ae", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize the raw dataset\n", + "vm_raw_dataset = vm.init_dataset(\n", + " dataset=raw_df,\n", + " input_id=\"raw_dataset\",\n", + " target_column=customer_churn.target_column,\n", + " class_labels=customer_churn.class_labels,\n", + ")\n", + "\n", + "# Initialize the training dataset\n", + "vm_train_ds = vm.init_dataset(\n", + " dataset=train_df,\n", + " input_id=\"train_dataset\",\n", + " target_column=customer_churn.target_column,\n", + ")\n", + "\n", + "# Initialize the testing dataset\n", + "vm_test_ds = vm.init_dataset(\n", + " dataset=test_df,\n", + " input_id=\"test_dataset\",\n", + " target_column=customer_churn.target_column\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "1ebfda19", + "metadata": {}, + "source": [ + "You'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for our model.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", + "\n", + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6cc5aff8", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize the model\n", + "vm_model = vm.init_model(\n", + " model,\n", + " input_id=\"model\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "48d23cf8", + "metadata": {}, + "source": [ + "Finally, we assign predictions from the trained model to the training and testing datasets. The `assign_predictions()` method links predicted classes and probabilities to each dataset, and can also compute predictions automatically if they are not passed explicitly. This step is what allows ValidMind to run performance and diagnostic tests using the model outputs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "922baa9d", + "metadata": {}, + "outputs": [], + "source": [ + "vm_train_ds.assign_predictions(\n", + " model=vm_model,\n", + ")\n", + "vm_test_ds.assign_predictions(\n", + " model=vm_model,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "7c9a174d", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Document test results\n", + "\n", + "In this section, we run the documentation tests defined by the applied template to populate the quantitative parts of the model documentation. The `vm.run_documentation_tests()` function discovers each test-driven block in the template, executes the corresponding tests, and uploads the resulting artifacts to the ValidMind Platform.\n", + "\n", + "To run the full suite successfully, ValidMind needs to know which model and dataset inputs should be used for each test. This can be done with a shared `inputs` argument when all tests use the same objects, or with a `config` dictionary when individual tests require specific inputs or parameters. In this example, we use the default test parameters and provide the input configuration needed for the demo model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47f7e709", + "metadata": {}, + "outputs": [], + "source": [ + "from validmind.utils import preview_test_config\n", + "\n", + "test_config = customer_churn.get_demo_test_config()\n", + "preview_test_config(test_config)" + ] + }, + { + "cell_type": "markdown", + "id": "3f22d37b", + "metadata": {}, + "source": [ + "Once the configuration is prepared, we pass it to `vm.run_documentation_tests()` and execute the full suite. The returned `full_suite` object contains the test results and represents the quantitative documentation that has been generated for the model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "999be7fe", + "metadata": {}, + "outputs": [], + "source": [ + "full_suite = vm.run_documentation_tests(config=test_config)" + ] + }, + { + "cell_type": "markdown", + "id": "5d531744", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Document qualitative sections\n", + "\n", + "In addition to documenting quantitative results through tests, ValidMind now supports programmatic generation of qualitative content for the text blocks in a model documentation template through `vm.run_text_generation()`. This function allows you to generate AI-assisted text for a specific content block directly from a notebook and then log it back to the corresponding section of the document. As a result, you can populate qualitative sections without switching to the UI to write text manually or trigger generation one section at a time.\n", + "\n", + "In the next sections, we’ll walk through the main ways to use this functionality. We’ll start by generating text for a single content block with the default behavior, then show how to customize the output with a prompt, how to control the context used for generation by selecting specific sections, and finally how to scale the same pattern across all text blocks in the document." + ] + }, + { + "cell_type": "markdown", + "id": "899c8553", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Generate text for a single content block\n", + "\n", + "First, we’ll use `vm.run_text_generation()` to generate qualitative text for a single documentation block. By providing a `content_id`, you can target the exact text placeholder you want to populate and let ValidMind generate content using the current document context. The helper `vm.get_content_ids()` is useful for inspecting which content blocks are available in the active template, making it easier to identify the IDs you can use when generating and logging text programmatically." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85cc552f", + "metadata": {}, + "outputs": [], + "source": [ + "vm.get_content_ids()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26fcddf9", + "metadata": {}, + "outputs": [], + "source": [ + "vm.run_text_generation(\n", + " content_id=\"dataset_summary_text\",\n", + ").log()" + ] + }, + { + "cell_type": "markdown", + "id": "caff6490", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Customize the prompt\n", + "\n", + "Next, we’ll customize the generated output by passing a `prompt` to `vm.run_text_generation()`. This makes it possible to guide not just the subject of the generated text, but also its structure, tone, level of detail, and presentation format. In practice, this allows you to tailor the output for different documentation needs, such as producing a short narrative summary, a more structured section, or content written for a specific audience, while still relying on the same underlying document context for generation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "52165b98", + "metadata": {}, + "outputs": [], + "source": [ + "prompt = \"\"\"\n", + "Use exactly this structure:\n", + "\n", + "

Dataset Overview

\n", + "

Explain in 1-2 sentences what the dataset contains and what it is used for.

\n", + "\n", + "

Dataset Summary

\n", + "

Summarize the dataset structure, target outcome, and the main types of input features in 2-3 sentences.

\n", + "\n", + "

Key Characteristics

\n", + "
    \n", + "
  • Include 2-3 concise points about the most important characteristics of the dataset.
  • \n", + "
\n", + "\n", + "

Data Quality and Considerations

\n", + "
    \n", + "
  • Include 2-3 concise points about important quality observations, limitations, or considerations relevant to the dataset.
  • \n", + "
\n", + "\n", + "

Overall Assessment

\n", + "

End with a short balanced conclusion on the dataset's suitability for model development and evaluation.

\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fbf10ad9", + "metadata": {}, + "outputs": [], + "source": [ + "vm.run_text_generation(\n", + " content_id=\"dataset_summary_text\",\n", + " prompt=prompt,\n", + ").log()" + ] + }, + { + "cell_type": "markdown", + "id": "99a0740e", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Pass section-specific context\n", + "\n", + "Then, we’ll control the `context` used for generation by passing a selected set of content IDs to `vm.run_text_generation()`. Rather than relying on the full document, this lets you focus the model on the most relevant parts of the documentation for a given text block. In practice, that means you can generate more targeted qualitative content by choosing which existing test and text blocks should inform the output." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43cf0e7d", + "metadata": {}, + "outputs": [], + "source": [ + "vm.get_content_ids(\"data_description\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e1a919e", + "metadata": {}, + "outputs": [], + "source": [ + "vm.run_text_generation(\n", + " content_id=\"dataset_summary_text\",\n", + " context={\"content_ids\": vm.get_content_ids(\"data_description\")},\n", + ").log()" + ] + }, + { + "cell_type": "markdown", + "id": "701a0323", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Append a new text block to a section\n", + "\n", + "Sometimes you may want to generate text for a `content_id` that is not already defined in the template. In that case, you can still generate the text with `vm.run_text_generation()` and then use `.log(section_id=...)` to tell ValidMind where that new text block should be placed in the document. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a9ba924", + "metadata": {}, + "outputs": [], + "source": [ + "vm.run_text_generation(\n", + " content_id=\"intended_use\",\n", + " section_id=\"intended_use\",\n", + ").log()" + ] + }, + { + "cell_type": "markdown", + "id": "6e032b79", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Generate text across the document\n", + "\n", + "At this stage, instead of generating one block at a time, we can populate multiple qualitative sections in a single pass.\n", + "\n", + "The [`vm.generate_documentation_text`](https://docs.validmind.ai/validmind/validmind.html#generate_documentation_text) function reads a configuration dictionary, generates content for each target block, logs the generated text to the ValidMind Platform, and returns a notebook summary grouped by section.\n", + "\n", + "- The function uses a `config` argument to describe which text blocks to generate and how each one should be handled.\n", + "- The `config` parameter is a dictionary with the following structure:\n", + "\n", + " ```python\n", + " config = {\n", + " \"\": {\n", + " \"section_id\": \"\",\n", + " \"prompt\": \"Optional custom prompt\",\n", + " \"context\": {\n", + " \"content_ids\": [\"\", \"\"]\n", + " }\n", + " },\n", + " ...\n", + " }\n", + " ```\n", + "\n", + " Each `` represents a documentation text block to populate. Use `section_id` when the block should be inserted into a specific section, `prompt` when you want to shape the output more explicitly, and `context.content_ids` when you want the generation step to focus on selected parts of the document. In this notebook, `text_config` comes from `customer_churn.get_demo_text_config()`, which provides the demo setup for the customer churn example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a97bb129", + "metadata": {}, + "outputs": [], + "source": [ + "text_config = customer_churn.get_demo_text_config()\n", + "preview_test_config(text_config)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aff42702", + "metadata": {}, + "outputs": [], + "source": [ + "results = vm.generate_documentation_text(config=text_config)" + ] + }, + { + "cell_type": "markdown", + "id": "03b6b875", + "metadata": {}, + "source": [ + "\n", + "\n", + "## In summary\n", + "\n", + "In this notebook, you learned how to:\n", + "\n", + "- [x] Build and document an example customer churn model with ValidMind\n", + "- [x] Run documentation tests to populate the quantitative sections of a model document\n", + "- [x] Generate qualitative text for a single documentation content block with `vm.run_text_generation()`\n", + "- [x] Customize generated output by passing a prompt\n", + "- [x] Control generation context by selecting specific sections of the document\n", + "- [x] Use a configuration-driven workflow to generate qualitative content across the document with `vm.generate_documentation_text()`" + ] + }, + { + "cell_type": "markdown", + "id": "3db3c328", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Next steps\n", + "\n", + "You can look at the output produced by the ValidMind Library right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your documentation." + ] + }, + { + "cell_type": "markdown", + "id": "d7bd8df8", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Work with your documentation\n", + "\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", + "\n", + "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", + "\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))" + ] + }, + { + "cell_type": "markdown", + "id": "c0951457", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Discover more learning resources\n", + "\n", + "For a more in-depth introduction to using the ValidMind Library for development, check out our introductory development series and the accompanying interactive training:\n", + "\n", + "- **[ValidMind for development](https://docs.validmind.ai/developer/validmind-library.html#development)**\n", + "- **[Developer Fundamentals](https://docs.validmind.ai/training/developer-fundamentals/developer-fundamentals-register.html)**\n", + "\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", + "\n", + "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", + "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", + "\n", + "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." + ] + }, + { + "cell_type": "markdown", + "id": "24532182", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Upgrade ValidMind\n", + "\n", + "
After installing ValidMind, you’ll want to periodically make sure you are on the latest version to access any new features and other enhancements.
\n", + "\n", + "Retrieve the information for the currently installed version of ValidMind:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e796c43", + "metadata": {}, + "outputs": [], + "source": [ + "%pip show validmind" + ] + }, + { + "cell_type": "markdown", + "id": "713a6722", + "metadata": {}, + "source": [ + "If the version returned is lower than the version indicated in our [production open-source code](https://github.com/validmind/validmind-library/blob/prod/validmind/__version__.py), restart your notebook and run:\n", + "\n", + "```bash\n", + "%pip install --upgrade validmind\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "84a65def", + "metadata": {}, + "source": [ + "You may need to restart your kernel after running the upgrade package for changes to be applied." + ] + }, + { + "cell_type": "markdown", + "id": "copyright-18d82030e09942c4953248e9bf432249", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n", + "\n", + "***\n", + "\n", + "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", + "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", + "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ValidMind Library", + "language": "python", + "name": "validmind" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/site/notebooks/how_to/scoring/assign_scores_complete_tutorial.ipynb b/site/notebooks/how_to/scoring/assign_scores_complete_tutorial.ipynb index 586817850..599024f47 100644 --- a/site/notebooks/how_to/scoring/assign_scores_complete_tutorial.ipynb +++ b/site/notebooks/how_to/scoring/assign_scores_complete_tutorial.ipynb @@ -91,9 +91,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -107,11 +107,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -160,17 +160,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -181,10 +183,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -198,11 +202,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -713,13 +719,13 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", diff --git a/site/notebooks/how_to/tests/custom_tests/implement_custom_tests.ipynb b/site/notebooks/how_to/tests/custom_tests/implement_custom_tests.ipynb index 8e4be82ac..b7169e96b 100644 --- a/site/notebooks/how_to/tests/custom_tests/implement_custom_tests.ipynb +++ b/site/notebooks/how_to/tests/custom_tests/implement_custom_tests.ipynb @@ -66,9 +66,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -82,11 +82,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -162,17 +162,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -183,10 +185,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -200,11 +204,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -468,7 +474,7 @@ "source": [ "Just so we can run all of the tests in the template, let's initialize the train and raw dataset.\n", "\n", - "(Refer to [**Quickstart for model documentation**](../../../quickstart/quickstart_model_documentation.ipynb) and the ValidMind docs for more information on what we are doing here)" + "(Refer to [**Quickstart for documentation**](../../../quickstart/quickstart_documentation.ipynb) and the ValidMind docs for more information on what we are doing here)" ] }, { @@ -994,23 +1000,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/tests/custom_tests/integrate_external_test_providers.ipynb b/site/notebooks/how_to/tests/custom_tests/integrate_external_test_providers.ipynb index eaff3a579..df995d23a 100644 --- a/site/notebooks/how_to/tests/custom_tests/integrate_external_test_providers.ipynb +++ b/site/notebooks/how_to/tests/custom_tests/integrate_external_test_providers.ipynb @@ -113,7 +113,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind's suite of tools enables organizations to identify, document, and manage model risks for all types of models, including AI/ML models, LLMs, and statistical models. As a model developer, you use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", + "\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "If this is your first time trying out ValidMind, we recommend going through the following resources first:\n", "\n", @@ -126,7 +128,7 @@ "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -175,17 +177,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -196,10 +200,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -213,11 +219,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -894,23 +902,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/tests/explore_tests/explore_test_suites.ipynb b/site/notebooks/how_to/tests/explore_tests/explore_test_suites.ipynb index 976eaedef..e3a7a3b94 100644 --- a/site/notebooks/how_to/tests/explore_tests/explore_test_suites.ipynb +++ b/site/notebooks/how_to/tests/explore_tests/explore_test_suites.ipynb @@ -15,18 +15,17 @@ "source": [ "::: {.content-hidden when-format=\"html\"}\n", "## Contents \n", - "- [Contents](#toc1__) \n", - "- [About ValidMind](#toc2__) \n", - " - [Before you begin](#toc2_1__) \n", - " - [New to ValidMind?](#toc2_2__) \n", - " - [Key concepts](#toc2_3__) \n", - "- [Install the ValidMind Library](#toc3__) \n", - "- [List available test suites](#toc4__) \n", - "- [View test suite details](#toc5__) \n", - " - [View test details](#toc5_1__) \n", - "- [Next steps](#toc6__) \n", - " - [Discover more learning resources](#toc6_1__) \n", - "- [Upgrade ValidMind](#toc7__) \n", + "- [About ValidMind](#toc1__) \n", + " - [Before you begin](#toc1_1__) \n", + " - [New to ValidMind?](#toc1_2__) \n", + " - [Key concepts](#toc1_3__) \n", + "- [Install the ValidMind Library](#toc2__) \n", + "- [List available test suites](#toc3__) \n", + "- [View test suite details](#toc4__) \n", + " - [View test details](#toc4_1__) \n", + "- [Next steps](#toc5__) \n", + " - [Discover more learning resources](#toc5_1__) \n", + "- [Upgrade ValidMind](#toc6__) \n", "\n", ":::\n", "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", - "\n", + "\n", "\n", "### Before you begin\n", "\n", @@ -89,17 +58,17 @@ "\n", "If you encounter errors due to missing modules in your Python environment, install the modules with `pip install`, and then re-run the notebook. For more help, refer to [Installing Python Modules](https://docs.python.org/3/installing/index.html).\n", "\n", - "\n", + "\n", "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", - "\n", + "\n", "\n", "### Key concepts\n", "\n", @@ -131,7 +100,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", + "\n", "\n", "## Install the ValidMind Library\n", "\n", @@ -155,7 +124,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", + "\n", "\n", "## List available test suites\n", "After we import the ValidMind Library, we'll call [test_suites.list_suites()](https://docs.validmind.ai/validmind/validmind/test_suites.html#list_suites) to retrieve a structured list of all available test suites, that includes each suite's name, description, and associated tests:" @@ -163,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -408,7 +377,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", + "\n", "\n", "## View test suite details\n", "\n", @@ -422,7 +391,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -663,7 +632,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", + "\n", "\n", "### View test details\n", "\n", @@ -672,7 +641,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -858,25 +827,25 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", + "\n", "\n", "## Next steps\n", "\n", - "Now that you’ve learned how to identify ValidMind test suites relevant to your use cases, we encourage you to explore our interactive notebooks to discover additional tests, learn how to run them, and effectively document your models.\n", + "Now that you’ve learned how to identify ValidMind test suites relevant to your use cases, we encourage you to explore our interactive notebooks to discover additional tests, learn how to run them, and effectively document your records (models).\n", "\n", "
Learn more about the individual tests available in the ValidMind Library\n", "

\n", "Check out our Explore tests notebook for more code examples and usage of key functions.
\n", "\n", - "\n", + "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -885,7 +854,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", + "\n", "\n", "## Upgrade ValidMind\n", "\n", @@ -923,7 +892,7 @@ }, { "cell_type": "markdown", - "id": "copyright-a3ad64253d204629b8f2e773414c6aeb", + "id": "copyright-daee3ccea95b41b4b4bc81230a4a55f5", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/how_to/tests/explore_tests/explore_tests.ipynb b/site/notebooks/how_to/tests/explore_tests/explore_tests.ipynb index 3bfda3032..015777bfe 100644 --- a/site/notebooks/how_to/tests/explore_tests/explore_tests.ipynb +++ b/site/notebooks/how_to/tests/explore_tests/explore_tests.ipynb @@ -47,9 +47,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -63,11 +63,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -2366,7 +2366,7 @@ "\n", "Use [list_tasks()](https://docs.validmind.ai/validmind/validmind/tests.html#list_tasks) to view all unique task types used to classify tests in the ValidMind Library.\n", "\n", - "Understanding `task` types helps you filter tests that match your model’s objective. For example:\n", + "Understanding `task` types helps you filter tests that match your record's (such as a model) objective. For example:\n", "\n", "- **classification:** Works with Classification Models and Datasets.\n", "- **regression:** Works with Regression Models and Datasets.\n", @@ -4373,11 +4373,11 @@ "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/tests/run_tests/1_run_dataset_based_tests.ipynb b/site/notebooks/how_to/tests/run_tests/1-run_dataset-based_tests.ipynb similarity index 90% rename from site/notebooks/how_to/tests/run_tests/1_run_dataset_based_tests.ipynb rename to site/notebooks/how_to/tests/run_tests/1-run_dataset-based_tests.ipynb index c4937af21..d4f7812c0 100644 --- a/site/notebooks/how_to/tests/run_tests/1_run_dataset_based_tests.ipynb +++ b/site/notebooks/how_to/tests/run_tests/1-run_dataset-based_tests.ipynb @@ -7,7 +7,7 @@ "source": [ "# Run dataset-based tests\n", "\n", - "Learn how to use the ValidMind Library to run tests that take any dataset or model as input. Identify specific tests to run, initialize ValidMind dataset objects in preparation for passing them to your tests, and then run the chosen tests — generating outputs that can be automatically logged to your model's documentation in the ValidMind Platform." + "Learn how to use the ValidMind Library to run tests that take any dataset or record (model) as input. Identify specific tests to run, initialize ValidMind dataset objects in preparation for passing them to your tests, and then run the chosen tests — generating outputs that can be automatically logged to your documentation in the ValidMind Platform." ] }, { @@ -62,9 +62,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models. \n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models. \n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators." + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators." ] }, { @@ -90,11 +90,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -187,17 +187,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook.\n", + "Let's first register a sample record (model) for use with this notebook.\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -209,10 +211,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -227,11 +231,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -632,7 +638,7 @@ "\n", "## Work with test results\n", "\n", - "You can look at the output of tests produced by the ValidMind Library right in this notebook where you ran the tests, as you would expect. But there is a better way — use the ValidMind Platform to attach the logged test results your model's documentation ([Need more help?](https://docs.validmind.ai/developer/model-documentation/work-with-test-results.html)):\n", + "You can look at the output of tests produced by the ValidMind Library right in this notebook where you ran the tests, as you would expect. But there is a better way — use the ValidMind Platform to attach the logged test results your documentation (**Learn more:** [Work with test results](https://docs.validmind.ai/guide/documentation/work-with-test-results.html)):\n", "\n", "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", "\n", @@ -653,7 +659,7 @@ "\n", "You just worked with a draft of your model's documentation, in an easily consumable format matching the structure of the template you previewed in the beginning of this notebook. When you connect to a model with the ValidMind Library, logged test results automatically populate for easy insertion into your documentation.\n", "\n", - "In the ValidMind Platform, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)" + "In the ValidMind Platform, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))" ] }, { @@ -665,11 +671,11 @@ "\n", "## Next steps\n", "\n", - "Now that you know the basics of how to run out-of-the-box tests in the ValidMind Library, you’re ready to take the next step. Use `run_test()` with any combination of datasets or models as inputs to run comparison tests, and log your consolidated test results to the ValidMind Platform.\n", + "Now that you know the basics of how to run out-of-the-box tests in the ValidMind Library, you’re ready to take the next step. Use `run_test()` with any combination of datasets or records (models) as inputs to run comparison tests, and log your consolidated test results to the ValidMind Platform.\n", "\n", "
Learn how to run comparison tests with the ValidMind Library.\n", "

\n", - "Check out our Run comparison tests notebook for code examples and usage of key functions.
" + "Check out our Run comparison tests notebook for code examples and usage of key functions." ] }, { @@ -681,11 +687,11 @@ "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -767,7 +773,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.13" + "version": "3.12.12" } }, "nbformat": 4, diff --git a/site/notebooks/how_to/tests/run_tests/2_run_comparison_tests.ipynb b/site/notebooks/how_to/tests/run_tests/2-run_comparison_tests.ipynb similarity index 87% rename from site/notebooks/how_to/tests/run_tests/2_run_comparison_tests.ipynb rename to site/notebooks/how_to/tests/run_tests/2-run_comparison_tests.ipynb index ffcd999fc..b0f48c167 100644 --- a/site/notebooks/how_to/tests/run_tests/2_run_comparison_tests.ipynb +++ b/site/notebooks/how_to/tests/run_tests/2-run_comparison_tests.ipynb @@ -2,21 +2,21 @@ "cells": [ { "cell_type": "markdown", - "id": "1d29276f", + "id": "ed8282aa", "metadata": {}, "source": [ "# Run comparison tests\n", "\n", - "Learn how to use the ValidMind Library to run comparison tests that take any datasets or models as inputs. Identify comparison tests to run, initialize ValidMind dataset and model objects in preparation for passing them to tests, and then run tests — generating outputs automatically logged to your model's documentation in the ValidMind Platform.\n", + "Learn how to use the ValidMind Library to run comparison tests that take any datasets or records (models) as inputs. Identify comparison tests to run, initialize ValidMind dataset and model objects in preparation for passing them to tests, and then run tests — generating outputs automatically logged to your documentation in the ValidMind Platform.\n", "\n", "
We recommend that you first complete our introductory notebook on running tests.\n", "

\n", - "Run dataset-based tests
" + "Run dataset-based tests" ] }, { "cell_type": "markdown", - "id": "61065444", + "id": "90ab1b8a", "metadata": {}, "source": [ "::: {.content-hidden when-format=\"html\"}\n", @@ -35,9 +35,10 @@ " - [Initialize the Python environment](#toc2_4__) \n", "- [Explore a ValidMind test](#toc3__) \n", "- [Working with ValidMind datasets](#toc4__) \n", - " - [Import the sample dataset](#toc4_1__) \n", - " - [Split the dataset](#toc4_2__) \n", - " - [Initialize the ValidMind dataset](#toc4_3__) \n", + " - [Prepare the sample dataset](#toc4_1__) \n", + " - [Import the sample dataset](#toc4_1_1__) \n", + " - [Split the dataset](#toc4_1_2__) \n", + " - [Initialize the ValidMind dataset](#toc4_2__) \n", "- [Working with ValidMind models](#toc5__) \n", " - [Train a sample model](#toc5_1__) \n", " - [Initialize the ValidMind model](#toc5_2__) \n", @@ -66,21 +67,21 @@ }, { "cell_type": "markdown", - "id": "67a4d9dc", + "id": "60aa37b6", "metadata": {}, "source": [ "\n", "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models. \n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models. \n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators." + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators." ] }, { "cell_type": "markdown", - "id": "eeb30df8", + "id": "6dfa3d15", "metadata": {}, "source": [ "\n", @@ -94,23 +95,23 @@ }, { "cell_type": "markdown", - "id": "293c3f98", + "id": "8e87dd4d", "metadata": {}, "source": [ "\n", "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { "cell_type": "markdown", - "id": "4fc836d0", + "id": "64971d85", "metadata": {}, "source": [ "\n", @@ -145,7 +146,7 @@ }, { "cell_type": "markdown", - "id": "8d52b6e0", + "id": "69a40ac3", "metadata": {}, "source": [ "\n", @@ -155,7 +156,7 @@ }, { "cell_type": "markdown", - "id": "e0d2daaf", + "id": "ec35c724", "metadata": {}, "source": [ "\n", @@ -181,7 +182,7 @@ }, { "cell_type": "markdown", - "id": "1ff56571", + "id": "b3c0c2f5", "metadata": {}, "source": [ "\n", @@ -191,39 +192,43 @@ }, { "cell_type": "markdown", - "id": "c4d9f164", + "id": "d3e3302f", "metadata": {}, "source": [ "\n", "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook.\n", + "Let's first register a sample record (model) for use with this notebook.\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { "cell_type": "markdown", - "id": "852392e5", + "id": "679d46b2", "metadata": {}, "source": [ "\n", "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -231,18 +236,20 @@ }, { "cell_type": "markdown", - "id": "6490e991", + "id": "2b6e1fb1", "metadata": {}, "source": [ "\n", "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet::" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -272,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "99e9d14f", + "id": "52b68564", "metadata": {}, "source": [ "\n", @@ -296,7 +303,7 @@ }, { "cell_type": "markdown", - "id": "f805ec38", + "id": "184b8c97", "metadata": {}, "source": [ "\n", @@ -320,7 +327,7 @@ }, { "cell_type": "markdown", - "id": "1783e13c", + "id": "c3098355", "metadata": {}, "source": [ "\n", @@ -346,7 +353,7 @@ }, { "cell_type": "markdown", - "id": "96a56e4b", + "id": "d1f08b64", "metadata": {}, "source": [ "We've identified from the output that the test ID for the classifier performance test is `validmind.model_validation.ClassifierPerformance`.\n", @@ -367,10 +374,10 @@ }, { "cell_type": "markdown", - "id": "97053f50", + "id": "10a49439", "metadata": {}, "source": [ - "Since this test requires a dataset and a model, you can expect it to throw an error when we run it without passing in either as input:" + "Since this test requires both a dataset object and a model object, you can expect it to throw an error when we run it without passing in either as input:" ] }, { @@ -388,7 +395,7 @@ }, { "cell_type": "markdown", - "id": "1a3115ed", + "id": "da36ba6b", "metadata": {}, "source": [ "
Learn more about the individual tests available in the ValidMind Library\n", @@ -398,7 +405,7 @@ }, { "cell_type": "markdown", - "id": "89da851b", + "id": "40324c13", "metadata": {}, "source": [ "\n", @@ -408,12 +415,22 @@ }, { "cell_type": "markdown", - "id": "50bfdb1b", + "id": "3f28ffe2", "metadata": {}, "source": [ "\n", "\n", - "### Import the sample dataset\n", + "### Prepare the sample dataset" + ] + }, + { + "cell_type": "markdown", + "id": "4c45a55c", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Import the sample dataset\n", "\n", "Since we need a dataset to run tests, let's import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle so that we have something to work with.\n", "\n", @@ -444,12 +461,12 @@ }, { "cell_type": "markdown", - "id": "a5a8212f", + "id": "2fc43d28", "metadata": {}, "source": [ - "\n", + "\n", "\n", - "### Split the dataset\n", + "#### Split the dataset\n", "\n", "Let's first split our dataset to help assess how well the model generalizes to unseen data.\n", "\n", @@ -472,10 +489,10 @@ }, { "cell_type": "markdown", - "id": "2ae225d7", + "id": "a5d77885", "metadata": {}, "source": [ - "\n", + "\n", "\n", "### Initialize the ValidMind dataset\n", "\n", @@ -512,7 +529,7 @@ }, { "cell_type": "markdown", - "id": "6d26f65b", + "id": "cbb1a68f", "metadata": {}, "source": [ "\n", @@ -522,7 +539,7 @@ }, { "cell_type": "markdown", - "id": "6d1677f6", + "id": "68089f0a", "metadata": {}, "source": [ "\n", @@ -552,7 +569,7 @@ }, { "cell_type": "markdown", - "id": "4ac628eb", + "id": "6d93642b", "metadata": {}, "source": [ "Next, let's create an *XGBoost classifier model* that will automatically stop training if it doesn't improve after 10 tries. XGBoost is a gradient-boosted tree ensemble that builds trees sequentially, with each tree correcting the errors of the previous ones — typically known for strong predictive performance and built-in regularization to reduce overfitting.\n", @@ -579,7 +596,7 @@ }, { "cell_type": "markdown", - "id": "f6430312", + "id": "a021582a", "metadata": {}, "source": [ "Finally, our actual training step — where the model learns patterns from the data, so it can make predictions later:\n", @@ -605,7 +622,7 @@ }, { "cell_type": "markdown", - "id": "c303a046", + "id": "ed11ea0b", "metadata": {}, "source": [ "\n", @@ -614,7 +631,10 @@ "\n", "You'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for our model.\n", "\n", - "You simply initialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", + "\n", + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -632,7 +652,7 @@ }, { "cell_type": "markdown", - "id": "2fa83857", + "id": "53f12da6", "metadata": {}, "source": [ "\n", @@ -660,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "d0b3312e", + "id": "18c1cb2e", "metadata": {}, "source": [ "\n", @@ -677,7 +697,7 @@ }, { "cell_type": "markdown", - "id": "96c89f32", + "id": "6f7e7779", "metadata": {}, "source": [ "\n", @@ -705,7 +725,7 @@ }, { "cell_type": "markdown", - "id": "676dff89", + "id": "5e8be8d5", "metadata": {}, "source": [ "\n", @@ -724,7 +744,7 @@ }, { "cell_type": "markdown", - "id": "3d9912dc", + "id": "e33c7a82", "metadata": {}, "source": [ "*Random forest classifier* models use an ensemble method that builds multiple decision trees and averages their predictions. Random forest is robust to overfitting and handles non-linear relations well, but is typically less interpretable than simpler models:" @@ -755,7 +775,7 @@ }, { "cell_type": "markdown", - "id": "a259927c", + "id": "f8e167cf", "metadata": {}, "source": [ "*Logistic regression* models are linear models that estimate class probabilities via a logistic (sigmoid) function. Logistic regression is highly interpretable with fast training, establishing a strong baseline — however, they struggle when relationships are non-linear as real-world relationships often are:" @@ -791,7 +811,7 @@ }, { "cell_type": "markdown", - "id": "9a666b41", + "id": "d3478f86", "metadata": {}, "source": [ "*Decision tree classifier* models are a single tree with data split on feature thresholds. Useful as an explanability benchmark, decision trees are easy to visualize and interpret — but are prone to overfitting without pruning or ensemble techniques:" @@ -822,7 +842,7 @@ }, { "cell_type": "markdown", - "id": "2c8f3268", + "id": "59428da9", "metadata": {}, "source": [ "\n", @@ -852,7 +872,7 @@ }, { "cell_type": "markdown", - "id": "81cbf144", + "id": "1b76eae0", "metadata": {}, "source": [ "Our output indicates that the XGBoost and random forest classification models provide the strongest overall classification performance, so we'll continue our testing with those two models as input only." @@ -860,7 +880,7 @@ }, { "cell_type": "markdown", - "id": "3d3fb6ec", + "id": "9fcc67b9", "metadata": {}, "source": [ "\n", @@ -891,7 +911,7 @@ }, { "cell_type": "markdown", - "id": "508c7546", + "id": "19e8251b", "metadata": {}, "source": [ "\n", @@ -915,7 +935,7 @@ }, { "cell_type": "markdown", - "id": "2be82bae", + "id": "7e07db9d", "metadata": {}, "source": [ "We'll append an identifier to signify that this test was run with our `train_vs_test` dataset comparison configuration:" @@ -939,16 +959,16 @@ }, { "cell_type": "markdown", - "id": "a05570d5", + "id": "a899fb84", "metadata": {}, "source": [ "\n", "\n", "## Work with test results\n", "\n", - "Every test result returned by the `run_test()` function has a [`.log()` method](https://docs.validmind.ai/validmind/validmind/vm_models.html#TestResult.log) that can be used to send the test results to the ValidMind Platform. When logging individual test results to the platform, you'll need to manually add those results to the desired section of the model documentation.\n", + "Every test result returned by the `run_test()` function has a [`.log()` method](https://docs.validmind.ai/validmind/validmind/vm_models.html#TestResult.log) that can be used to send the test results to the ValidMind Platform. When logging individual test results to the platform, you'll need to manually add those results to the desired section of the documentation.\n", "\n", - "You can do this through the ValidMind Platform interface after logging your test results ([Learn more ...](https://docs.validmind.ai/developer/model-documentation/work-with-test-results.html)), or directly via the ValidMind Library when calling `.log()` by providing an optional `section_id`. The `section_id` should be a string that matches the title of a section in the documentation template in `snake_case`.\n", + "You can do this through the ValidMind Platform interface after logging your test results (**Learn more:** [Work with test results](https://docs.validmind.ai/guide/documentation/work-with-test-results.html)), or directly via the ValidMind Library when calling `.log()` by providing an optional `section_id`. The `section_id` should be a string that matches the title of a section in the documentation template in `snake_case`.\n", "\n", "Let's log the results of the classifier performance test (`perf_comparison_result`) and the ROCCurve (`roc_curve_result`) test in the `model_evaluation` section of the documentation — present in the template we previewed in the beginning of this notebook:" ] @@ -966,10 +986,10 @@ }, { "cell_type": "markdown", - "id": "ab5205ee", + "id": "098dba6c", "metadata": {}, "source": [ - "Finally, let's head to the model we connected to at the beginning of this notebook and view our inserted test results in the updated documentation ([Need more help?](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html)):\n", + "Finally, let's head to the model we connected to at the beginning of this notebook and view our inserted test results in the updated documentation (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html)):\n", "\n", "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", "\n", @@ -982,7 +1002,7 @@ }, { "cell_type": "markdown", - "id": "eb196aac", + "id": "a658f908", "metadata": {}, "source": [ "\n", @@ -998,25 +1018,25 @@ }, { "cell_type": "markdown", - "id": "083c1d8d", + "id": "407b6c2b", "metadata": {}, "source": [ "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] }, { "cell_type": "markdown", - "id": "efba0f57", + "id": "82b51b49", "metadata": {}, "source": [ "\n", @@ -1044,7 +1064,7 @@ }, { "cell_type": "markdown", - "id": "abcd07ef", + "id": "86478a30", "metadata": {}, "source": [ "If the version returned is lower than the version indicated in our [production open-source code](https://github.com/validmind/validmind-library/blob/prod/validmind/__version__.py), restart your notebook and run:\n", @@ -1056,7 +1076,7 @@ }, { "cell_type": "markdown", - "id": "5fe70b90", + "id": "10073159", "metadata": {}, "source": [ "You may need to restart your kernel after running the upgrade package for changes to be applied." @@ -1064,7 +1084,7 @@ }, { "cell_type": "markdown", - "id": "copyright-54faffd51a5a4717a02b6be426d6b441", + "id": "copyright-5fe1b67f8fdc4d26bb090f5e655857bf", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/how_to/tests/run_tests/configure_tests/customize_test_result_descriptions.ipynb b/site/notebooks/how_to/tests/run_tests/configure_tests/customize_test_result_descriptions.ipynb index 68c659a45..9a0ae2e2d 100644 --- a/site/notebooks/how_to/tests/run_tests/configure_tests/customize_test_result_descriptions.ipynb +++ b/site/notebooks/how_to/tests/run_tests/configure_tests/customize_test_result_descriptions.ipynb @@ -10,11 +10,11 @@ "\n", "In this notebook, you'll learn how to take complete control over the context that drives test description generation. ValidMind provides a `context` parameter in `run_test` that accepts a dictionary with three complementary keys for comprehensive context management:\n", "\n", - "- `instructions`: Overwrites ValidMind’s default result description structure. If you provide custom instructions, they take full priority over the built-in ones. This parameter controls how the final description is structured and presented. Use this to specify formatting requirements, target different audiences (executives vs. technical teams), or ensure consistent report styles across your organization. \n", + "- `instructions`: Overwrites ValidMind’s default result description structure. If you provide custom instructions, they take full priority over the built-in ones. This parameter controls how the final description is structured and presented. Use this to specify formatting requirements, target different audiences (executives vs. technical teams), or ensure consistent report styles across your organization.\n", "\n", - "- `test_description`: Overwrites the test’s built-in docstring if provided. This parameter contains the technical mechanics of how the test works. However, for generic tests where the methodology isn't the focus, you may use this to describe what's actually being analyzed—the specific variables, features, or metrics being plotted and their business meaning rather than the statistical mechanics. You can also override ValidMind's built-in test documentation if you prefer different structure or language. \n", + "- `test_description`: Overwrites the test’s built-in docstring if provided. This parameter contains the technical mechanics of how the test works. However, for generic tests where the methodology isn't the focus, you may use this to describe what's actually being analyzed—the specific variables, features, or metrics being plotted and their business meaning rather than the statistical mechanics. You can also override ValidMind's built-in test documentation if you prefer different structure or language.\n", "\n", - "- `additional_context`: Does not overwrite the instructions or test descriptions, but instead adds to them. This parameter provides any background information you want the LLM to consider when analyzing results. It could include business priorities, acceptance thresholds, regulatory requirements, domain expertise, use case details, model purpose, or stakeholder concerns—any information that helps the LLM better understand and interpret your specific situation.\n", + "- `additional_context`: Does not overwrite the instructions or test descriptions, but instead adds to them. This parameter provides any background information you want the LLM to consider when analyzing results. It could include business priorities, acceptance thresholds, regulatory requirements, domain expertise, use case details, record (model) purpose, or stakeholder concerns—any information that helps the LLM better understand and interpret your specific situation.\n", "\n", "Together, these context parameters allow you to manage every aspect of how the LLM interprets and presents your test results. Whether you need to align descriptions with regulatory requirements, target specific audiences, incorporate organizational policies, or ensure consistent reporting standards, this context management approach gives you the flexibility to generate descriptions that perfectly match your needs while still leveraging the analytical power of AI-generated insights." ] @@ -113,17 +113,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -134,10 +136,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -151,11 +155,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -190,7 +196,7 @@ "\n", "### Initialize the Python environment\n", "\n", - "After you've connected to your model register in the ValidMind Platform, let's import the necessary libraries and set up your Python environment for data analysis:" + "After you've connected to your model registered in the ValidMind Platform, let's import the necessary libraries and set up your Python environment for data analysis:" ] }, { @@ -329,9 +335,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Additionally, you'll need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data. \n", + "You'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for our model.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "Simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -695,7 +704,7 @@ "\n", "### Understanding the additional context parameter\n", "\n", - "The `additional_context` parameter can be used to add any background information that helps put the test results into context. For example, you might include business priorities and constraints that shape how results are interpreted, risk tolerance levels or acceptance criteria specific to your organization, regulatory requirements that influence what counts as acceptable performance, or details about the intended use case of the model in production. These are just examples—the parameter is flexible and can capture whatever context is most relevant to your needs.\n", + "The `additional_context` parameter can be used to add any background information that helps put the test results into context. For example, you might include business priorities and constraints that shape how results are interpreted, risk tolerance levels or acceptance criteria specific to your organization, regulatory requirements that influence what counts as acceptable performance, or details about the intended use case of the record (model) in production. These are just examples—the parameter is flexible and can capture whatever context is most relevant to your needs.\n", "\n", "**Key difference:**\n", "- `instructions`: \"Write a 3-paragraph executive summary\"\n", @@ -843,7 +852,7 @@ "A short description of what the test does and what kind of output it generates.\n", "\n", "- **Purpose:**\n", - "Explains why the test exists and what it is designed to evaluate. This section provides the context for the test’s role in model documentation, often describing the intended use cases or the kind of insights it supports.\n", + "Explains why the test exists and what it is designed to evaluate. This section provides the context for the test’s role in documentation, often describing the intended use cases or the kind of insights it supports.\n", "\n", "- **Test mechanism**:\n", "Describes how the test works internally. This includes the approach or methodology, what inputs are used, how results are calculated or visualized, and the logic behind the test’s implementation.\n", diff --git a/site/notebooks/how_to/tests/run_tests/configure_tests/enable_pii_detection.ipynb b/site/notebooks/how_to/tests/run_tests/configure_tests/enable_pii_detection.ipynb index ddbd734e9..6d1a02643 100644 --- a/site/notebooks/how_to/tests/run_tests/configure_tests/enable_pii_detection.ipynb +++ b/site/notebooks/how_to/tests/run_tests/configure_tests/enable_pii_detection.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "fafe2741", + "id": "adbd775e", "metadata": {}, "source": [ "# Enable PII detection in tests" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "75cb4b61", + "id": "6014f87e", "metadata": {}, "source": [ "Learn how to enable and configure Personally Identifiable Information (PII) detection when running tests with the ValidMind Library. Choose whether or not to include PII in test descriptions generated, or whether or not to include PII in test results logged to the ValidMind Platform." @@ -18,7 +18,7 @@ }, { "cell_type": "markdown", - "id": "e4ebad56", + "id": "b92af62b", "metadata": {}, "source": [ "::: {.content-hidden when-format=\"html\"}\n", @@ -31,20 +31,19 @@ " - [Install the ValidMind Library with PII detection](#toc2_1__) \n", " - [Initialize the ValidMind Library](#toc2_2__) \n", " - [Get your code snippet](#toc2_2_1__) \n", - "- [Using PII detection](#toc3__) \n", - " - [Create a custom test that outputs PII](#toc3_1__) \n", - " - [Run test under different PII detection modes](#toc3_2__) \n", - " - [disabled](#toc3_2_1__) \n", - " - [test_results](#toc3_2_2__) \n", - " - [test_descriptions](#toc3_2_3__) \n", - " - [all](#toc3_2_4__) \n", - " - [Override detection](#toc3_3__) \n", - " - [Override test result logging](#toc3_3_1__) \n", - " - [Override test descriptions and test result logging](#toc3_3_2__) \n", - " - [Review logged test results](#toc3_4__) \n", - "- [Troubleshooting](#toc4__) \n", - "- [Learn more](#toc5__) \n", - "- [Upgrade ValidMind](#toc6__) \n", + "- [Create a custom test that outputs PII](#toc3__) \n", + "- [Running tests under different PII detection modes](#toc4__) \n", + " - [disabled](#toc4_1__) \n", + " - [test_results](#toc4_2__) \n", + " - [test_descriptions](#toc4_3__) \n", + " - [all](#toc4_4__) \n", + "- [Overriding detection](#toc5__) \n", + " - [Override test result logging](#toc5_1__) \n", + " - [Override test descriptions and test result logging](#toc5_2__) \n", + "- [Review logged test results](#toc6__) \n", + "- [Troubleshooting](#toc7__) \n", + "- [Learn more](#toc8__) \n", + "- [Upgrade ValidMind](#toc9__) \n", "\n", ":::\n", "\n", diff --git a/site/notebooks/how_to/tests/run_tests/configure_tests/run_tests_that_require_multiple_datasets.ipynb b/site/notebooks/how_to/tests/run_tests/configure_tests/run_tests_that_require_multiple_datasets.ipynb index 472d7e59d..9d4c0d72e 100644 --- a/site/notebooks/how_to/tests/run_tests/configure_tests/run_tests_that_require_multiple_datasets.ipynb +++ b/site/notebooks/how_to/tests/run_tests/configure_tests/run_tests_that_require_multiple_datasets.ipynb @@ -64,9 +64,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -80,11 +80,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind
\n", "\n", "\n", "\n", @@ -162,17 +162,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -183,10 +185,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -200,11 +204,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -470,23 +476,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/tests/run_tests/configure_tests/understand_utilize_rawdata.ipynb b/site/notebooks/how_to/tests/run_tests/configure_tests/understand_utilize_rawdata.ipynb index 5fe3c360d..2d6f3cf94 100644 --- a/site/notebooks/how_to/tests/run_tests/configure_tests/understand_utilize_rawdata.ipynb +++ b/site/notebooks/how_to/tests/run_tests/configure_tests/understand_utilize_rawdata.ipynb @@ -168,7 +168,7 @@ " __log=False,\n", ")\n", "\n", - "# Initialize the datasets into their own dataset objects\n", + "# Initialize the datasets into their own ValidMind dataset objects\n", "vm_train_ds = vm.init_dataset(\n", " dataset=train_df,\n", " input_id=\"train_dataset\",\n", @@ -182,7 +182,8 @@ " __log=False,\n", ")\n", "\n", - "# Initialize a model object\n", + "# Initialize the ValidMind model object wrapper so that it can be passed as input to tests or test suites\n", + "# ValidMind model objects can be any type of record you want to test, document, validate, or monitor\n", "vm_model = vm.init_model(\n", " model,\n", " input_id=\"model\",\n", diff --git a/site/notebooks/how_to/tests/run_tests/documentation_tests/document_multiple_results_for_the_same_test.ipynb b/site/notebooks/how_to/tests/run_tests/documentation_tests/document_multiple_results_for_the_same_test.ipynb index c7c0aa2cc..93092a7a1 100644 --- a/site/notebooks/how_to/tests/run_tests/documentation_tests/document_multiple_results_for_the_same_test.ipynb +++ b/site/notebooks/how_to/tests/run_tests/documentation_tests/document_multiple_results_for_the_same_test.ipynb @@ -71,9 +71,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -87,11 +87,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -167,17 +167,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -188,10 +190,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -205,11 +209,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -267,7 +273,7 @@ "This way, we can show two results of the same test in the model document. Here, the `training_data` and `test_data` could be any string. However, they should be unique for the same test.\n", "\n", "- Click on **Prepare new version**, provide some version notes and click on **Save new version** to save a new version of this template.\n", - "- Next, we need to swap our model documentation to use this new version of the template. Follow the steps on [Swap documentation templates](https://docs.validmind.ai/guide/model-documentation/swap-documentation-templates.html) to swap the template of our customer churn model.\n", + "- Next, we need to swap our model documentation to use this new version of the template. Follow the steps on [Manage document templates](https://docs.validmind.ai/guide/templates/manage-document-templates.html) to swap the template of our customer churn model.\n", "\n", "In the following sections we provide more context on how these `content_id` fields mentioned earlier get mapped to the actual tests." ] @@ -517,9 +523,9 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", @@ -527,17 +533,17 @@ "\n", " You can now see the skewness tests results of training and test datasets in the `Data Preparation` section.\n", "\n", - "From here, you can also make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html)\n", + "From here, you can also make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/tests/run_tests/documentation_tests/run_documentation_sections.ipynb b/site/notebooks/how_to/tests/run_tests/documentation_tests/run_documentation_sections.ipynb index 63c8d02a6..56eedd897 100644 --- a/site/notebooks/how_to/tests/run_tests/documentation_tests/run_documentation_sections.ipynb +++ b/site/notebooks/how_to/tests/run_tests/documentation_tests/run_documentation_sections.ipynb @@ -62,9 +62,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -78,11 +78,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -160,17 +160,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -181,10 +183,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -198,11 +202,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -493,23 +499,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/how_to/tests/run_tests/documentation_tests/run_documentation_tests_with_config.ipynb b/site/notebooks/how_to/tests/run_tests/documentation_tests/run_documentation_tests_with_config.ipynb index d74a3773f..839df7542 100644 --- a/site/notebooks/how_to/tests/run_tests/documentation_tests/run_documentation_tests_with_config.ipynb +++ b/site/notebooks/how_to/tests/run_tests/documentation_tests/run_documentation_tests_with_config.ipynb @@ -35,7 +35,7 @@ "- [Prepocess the raw dataset](#toc5__) \n", "- [Train a model for testing](#toc6__) \n", "- [Initialize ValidMind objects](#toc7__) \n", - " - [Initialize ValidMind model object](#toc7_1__) \n", + " - [Initialize the ValidMind model](#toc7_1__) \n", " - [Initialize the ValidMind datasets](#toc7_2__) \n", " - [Run predictions through `assign_predictions` interface](#toc7_3__) \n", "- [Run documentation tests](#toc8__) \n", @@ -43,7 +43,7 @@ " - [Updating config](#toc8_2__) \n", " - [Run documentation tests](#toc8_3__) \n", "- [Next steps](#toc9__) \n", - " - [Work with your model documentation](#toc9_1__) \n", + " - [Work with your documentation](#toc9_1__) \n", " - [Discover more learning resources](#toc9_2__) \n", "- [Upgrade ValidMind](#toc10__) \n", "\n", @@ -66,9 +66,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -82,11 +82,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -164,17 +164,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -185,10 +187,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -202,11 +206,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -373,14 +379,14 @@ "source": [ "\n", "\n", - "### Initialize ValidMind model object\n", + "### Initialize the ValidMind model\n", "\n", - "Before you can run tests, you must first initialize a ValidMind model object using the [`init_model`](https://docs.validmind.ai/validmind/validmind.html#init_model) function from the ValidMind (`vm`) module.\n", + "Before you run tests, you'll need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for our model.\n", "\n", - "This function takes a number of arguments:\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "- `model` — the model that you want to provide as input to tests\n", - "- `input_id` - a unique identifier that allows tracking what inputs are used when running each individual test" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -389,6 +395,10 @@ "metadata": {}, "outputs": [], "source": [ + "# FUNCTION ARGUMENTS:\n", + "# model - the model that you want to provide as input to tests\n", + "# input_id - a unique identifier that allows tracking what inputs are used when running each individual test\n", + "\n", "vm_model_xgb = vm.init_model(\n", " xgb,\n", " input_id=\"xgb\",\n", @@ -618,23 +628,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -681,7 +691,7 @@ }, { "cell_type": "markdown", - "id": "copyright-d1660c97181e4b7e9470b3529ffef83d", + "id": "copyright-d0990f47a72e4eaab065be1540234792", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/quickstart/quickstart_model_documentation.Rmd b/site/notebooks/quickstart/quickstart_documentation.Rmd similarity index 69% rename from site/notebooks/quickstart/quickstart_model_documentation.Rmd rename to site/notebooks/quickstart/quickstart_documentation.Rmd index fc48d8c44..d9bfdc2c5 100644 --- a/site/notebooks/quickstart/quickstart_model_documentation.Rmd +++ b/site/notebooks/quickstart/quickstart_documentation.Rmd @@ -1,20 +1,20 @@ --- -title: "Quickstart for Model Documentation (R)" +title: "Quickstart for documentation (R)" author: "ValidMind" date: "2026-03-18" output: html_document --- -# Quickstart for Model Documentation +# Quickstart for documentation -Learn the basics of using ValidMind to document models as part of a model development workflow using R. This notebook uses the ValidMind R package (a `reticulate` wrapper around the Python library) to generate a draft of documentation for a binary classification model. +Learn the basics of using ValidMind to document records as part of a development workflow with R. Using the ValidMind R package (a `reticulate` wrapper around the Python library), you'll generate a draft of documentation using ValidMind tests for a binary classification model. -We will: +To document our model with the ValidMind Library, we'll: 1. Import a sample dataset and preprocess it 2. Split the datasets and initialize them for use with ValidMind -3. Train a logistic regression (GLM) model and initialize it for use with testing -4. Run the full suite of documentation tests, sending results to the ValidMind Platform +3. Initialize a ValidMind model object for use with testing +4. Run a full suite of tests as defined by our documentation template, which will send the results of those tests to the ValidMind Platform ## Setting up @@ -39,15 +39,41 @@ library(knitr) knitr::opts_chunk$set(warning = FALSE, message = FALSE) ``` -## Initialize the ValidMind Library +### Initialize the ValidMind Library -Log in to the [ValidMind Platform](https://app.prod.validmind.ai) and register a model: +#### Register sample model -1. Navigate to **Inventory** and click **+ Register Model**. -2. Under **Documents > Development**, select the `Binary classification` template. -3. Go to **Getting Started**, select `Development` from the **DOCUMENT** drop-down, and copy the code snippet. +Log in to the [ValidMind Platform](https://app.prod.validmind.ai) and register a sample record (model): -Replace the placeholder values below with your own credentials: +1. In the left sidebar, select **Inventory**. + +2. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html)) + +3. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders. + +4. Select your own name under the **RECORD OWNER** drop-down. + +5. Click **Register Model** to add the model to your inventory. + +#### Apply documentation template + +Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier. + +1. In the left sidebar that appears for your model, click **Documents** and select **Development**. + +2. Under **TEMPLATE**, select `Binary classification`. + +3. Click **Use Template** to apply the template. + +#### Get your code snippet + +Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library. + +1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu. + +2. Click **Copy snippet to clipboard**. Paste the snippet into an editor and make note of the credentials. + +3. Next, replace the placeholder values below with your own credentials: ```{r} vm_r <- vm( @@ -164,7 +190,7 @@ vm_test_ds <- vm_r$init_dataset( ) ``` -## Initialize a model object +## Initialize the ValidMind model Save the R model and initialize it with ValidMind: @@ -216,7 +242,7 @@ full_suite <- vm_r$run_documentation_tests(config = test_config) Head to the [ValidMind Platform](https://app.prod.validmind.ai) to view the generated documentation: 1. Navigate to **Inventory** and select your model. -2. Click **Development** under Documents to see the full draft of your model documentation. +2. Click **Development** under Documents to see the full draft of your documentation. From there, you can make qualitative edits, collaborate with validators, and submit for approval. diff --git a/site/notebooks/quickstart/quickstart_model_documentation.ipynb b/site/notebooks/quickstart/quickstart_documentation.ipynb similarity index 78% rename from site/notebooks/quickstart/quickstart_model_documentation.ipynb rename to site/notebooks/quickstart/quickstart_documentation.ipynb index 40287aa57..b2d5c5d28 100644 --- a/site/notebooks/quickstart/quickstart_model_documentation.ipynb +++ b/site/notebooks/quickstart/quickstart_documentation.ipynb @@ -2,24 +2,24 @@ "cells": [ { "cell_type": "markdown", - "id": "686bdc65", + "id": "7b021b0d", "metadata": {}, "source": [ - "# Quickstart for model documentation\n", + "# Quickstart for documentation\n", "\n", - "Learn the basics of using ValidMind to document models as part of a model development workflow. Set up the ValidMind Library in your environment, and generate a draft of documentation using ValidMind tests for a binary classification model.\n", + "Learn the basics of using ValidMind to document records as part of a development workflow. Set up the ValidMind Library in your environment, and generate a draft of documentation using ValidMind tests for a binary classification model.\n", "\n", - "To document a model with the ValidMind Library, we'll:\n", + "To document our model with the ValidMind Library, we'll:\n", "\n", "1. Import a sample dataset and preprocess it\n", "2. Split the datasets and initialize them for use with ValidMind\n", - "3. Initialize a model object for use with testing\n", + "3. Initialize a ValidMind model object for use with testing\n", "4. Run a full suite of tests as defined by our documentation template, which will send the results of those tests to the ValidMind Platform" ] }, { "cell_type": "markdown", - "id": "17e1b850", + "id": "167aef58", "metadata": {}, "source": [ "::: {.content-hidden when-format=\"html\"}\n", @@ -38,23 +38,26 @@ " - [Initialize the Python environment](#toc3_3__) \n", "- [Getting to know ValidMind](#toc4__) \n", " - [Preview the documentation template](#toc4_1__) \n", - " - [View model documentation in the ValidMind Platform](#toc4_2__) \n", - "- [Import the sample dataset](#toc5__) \n", - "- [Preprocessing the raw dataset](#toc6__) \n", - " - [Split the dataset](#toc6_1__) \n", - " - [Separate features and targets](#toc6_2__) \n", - "- [Training an XGBoost classifier model](#toc7__) \n", - " - [Set evaluation metrics](#toc7_1__) \n", - " - [Fit the model](#toc7_2__) \n", - "- [Initialize the ValidMind datasets](#toc8__) \n", - "- [Initialize a model object](#toc9__) \n", - " - [Assign predictions](#toc9_1__) \n", - "- [Run the full suite of tests](#toc10__) \n", - "- [In summary](#toc11__) \n", - "- [Next steps](#toc12__) \n", - " - [Work with your model documentation](#toc12_1__) \n", - " - [Discover more learning resources](#toc12_2__) \n", - "- [Upgrade ValidMind](#toc13__) \n", + " - [View documentation in the ValidMind Platform](#toc4_2__) \n", + "- [Working with ValidMind datasets](#toc5__) \n", + " - [Prepare the sample dataset](#toc5_1__) \n", + " - [Import the sample dataset](#toc5_1_1__) \n", + " - [Preprocess the raw dataset](#toc5_1_2__) \n", + " - [Split the dataset](#toc5_1_3__) \n", + " - [Separate features and targets](#toc5_1_4__) \n", + " - [Initialize the ValidMind datasets](#toc5_2__) \n", + "- [Working with ValidMind models](#toc6__) \n", + " - [Train an XGBoost classifier model](#toc6_1__) \n", + " - [Set evaluation metrics](#toc6_1_1__) \n", + " - [Fit the model](#toc6_1_2__) \n", + " - [Initialize the ValidMind model](#toc6_2__) \n", + " - [Assign predictions](#toc6_3__) \n", + "- [Run a ValidMind test suite](#toc7__) \n", + "- [In summary](#toc8__) \n", + "- [Next steps](#toc9__) \n", + " - [Work with your documentation](#toc9_1__) \n", + " - [Discover more learning resources](#toc9_2__) \n", + "- [Upgrade ValidMind](#toc10__) \n", "\n", ":::\n", "\n", @@ -876,7 +918,7 @@ }, "language_info": { "name": "python", - "version": "3.10.13" + "version": "3.12.12" } }, "nbformat": 4, diff --git a/site/notebooks/quickstart/quickstart_model_validation.Rmd b/site/notebooks/quickstart/quickstart_validation.Rmd similarity index 69% rename from site/notebooks/quickstart/quickstart_model_validation.Rmd rename to site/notebooks/quickstart/quickstart_validation.Rmd index 547aaf29d..b28d319a5 100644 --- a/site/notebooks/quickstart/quickstart_model_validation.Rmd +++ b/site/notebooks/quickstart/quickstart_validation.Rmd @@ -1,20 +1,20 @@ --- -title: "Quickstart for Model Validation (R)" +title: "Quickstart for validation (R)" author: "ValidMind" date: "2026-03-18" output: html_document --- -# Quickstart for Model Validation +# Quickstart for validation -Learn the basics of using ValidMind to validate models as part of a model validation workflow using R. This notebook uses the ValidMind R package (a `reticulate` wrapper around the Python library) to generate a draft of a validation report for a binary classification model. +Learn the basics of using ValidMind to validate records as part of a validation workflow with R. Using the ValidMind R package (a `reticulate` wrapper around the Python library), you'll generate a draft of a validation report using ValidMind tests for a binary classification model. -We will: +To validate our model with the ValidMind Library, we'll: -1. Import a sample dataset and preprocess it, then initialize datasets for use with ValidMind +1. Import a sample dataset and preprocess it, then split the datasets and initialize them for use with ValidMind 2. Independently verify data quality tests performed on datasets by model development -3. Train a champion model for evaluation -4. Run model evaluation tests with the ValidMind Library +3. Import a champion model for evaluation +4. Run model evaluation tests with the ValidMind Library, which will send the results of those tests to the ValidMind Platform ## Setting up @@ -41,14 +41,63 @@ knitr::opts_chunk$set(warning = FALSE, message = FALSE) ## Initialize the ValidMind Library -Log in to the [ValidMind Platform](https://app.prod.validmind.ai) and register a model: +#### Register sample model -1. Navigate to **Inventory** and click **+ Register Model**. -2. Assign yourself as a **Validator** (remove yourself from Owner and Developer roles). -3. Under **Documents > Validation**, select the `Generic Validation Report` template. -4. Go to **Getting Started**, select `Validation` from the **DOCUMENT** drop-down, and copy the code snippet. +In a usual lifecycle, a champion will have been independently registered in your inventory and submitted to you for validation by your development team as part of the effective challenge process. -Replace the placeholder values below with your own credentials: +For this exercise, log in to the [ValidMind Platform](https://app.prod.validmind.ai) and register a sample record (model) to circumvent the need for an existing model: + +1. In the left sidebar, select **Inventory**. + +2. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html)) + +3. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders. + +4. Select your own name under the **RECORD OWNER** drop-down — don’t worry, we’ll adjust these permissions next for validation. + +6. Click **Register Model** to add the model to your inventory. + +#### Assign validator credentials + +In order to log tests as a validator instead of as a developer, on the details page that appears after you've successfully registered your sample model: + +1. Remove yourself as an owner: + + - Click on the **OWNERS** tile. + - Click the **x** next to your name to remove yourself from that role. + - Click **Save** to apply your changes. + +2. Remove yourself as a developer: + + - Click on the **DEVELOPERS** tile. + - Click the **x** next to your name to remove yourself from that role. + - Click **Save** to apply your changes. + +3. Add yourself as a validator: + + - Click on the **VALIDATORS** tile. + - Select your name from the drop-down menu. + - Click **Save** to apply your changes. + +#### Apply validation report template + +Next, let's select a validation report template. A template predefines sections for your report and provides a general outline to follow, making the validation process much easier. + +1. In the model's left sidebar, click **Documents** and select **Validation**. + +2. Under **TEMPLATE**, select `Generic Validation Report`. + +3. Click **Use Template** to apply the template. + +#### Get your code snippet + +Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library. + +1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu. + +2. Click **Copy snippet to clipboard**. Paste the snippet into an editor and make note of the credentials. + +3. Next, replace the placeholder values below with your own credentials: ```{r} vm_r <- vm( @@ -227,7 +276,7 @@ model <- glm(formula, data = train_data, family = binomial) summary(model) ``` -## Initialize the model object +## Initialize the ValidMind model Save the R model and initialize it with ValidMind: diff --git a/site/notebooks/quickstart/quickstart_model_validation.ipynb b/site/notebooks/quickstart/quickstart_validation.ipynb similarity index 80% rename from site/notebooks/quickstart/quickstart_model_validation.ipynb rename to site/notebooks/quickstart/quickstart_validation.ipynb index 63e17f2a8..129080917 100644 --- a/site/notebooks/quickstart/quickstart_model_validation.ipynb +++ b/site/notebooks/quickstart/quickstart_validation.ipynb @@ -2,14 +2,14 @@ "cells": [ { "cell_type": "markdown", - "id": "395ae75c", + "id": "1a88a895", "metadata": {}, "source": [ - "# Quickstart for model validation\n", + "# Quickstart for validation\n", "\n", - "Learn the basics of using ValidMind to validate models as part of a model validation workflow. Set up the ValidMind Library in your environment, and generate a draft of a validation report using ValidMind tests for a binary classification model.\n", + "Learn the basics of using ValidMind to validate records as part of a validation workflow. Set up the ValidMind Library in your environment, and generate a draft of a validation report using ValidMind tests for a binary classification model.\n", "\n", - "To validate a model with the ValidMind Library, we'll:\n", + "To validate our model with the ValidMind Library, we'll:\n", "\n", "1. Import a sample dataset and preprocess it, then split the datasets and initialize them for use with ValidMind\n", "2. Independently verify data quality tests performed on datasets by model development\n", @@ -19,7 +19,7 @@ }, { "cell_type": "markdown", - "id": "2e85681d", + "id": "0493b0cb", "metadata": {}, "source": [ "::: {.content-hidden when-format=\"html\"}\n", @@ -40,19 +40,21 @@ "- [Getting to know ValidMind](#toc4__) \n", " - [Preview the validation report template](#toc4_1__) \n", " - [View validation report in the ValidMind Platform](#toc4_2__) \n", - "- [Importing the sample dataset](#toc5__) \n", - " - [Load the sample dataset](#toc5_1__) \n", - " - [Preprocess the raw dataset](#toc5_2__) \n", - " - [Split the dataset](#toc5_2_1__) \n", - " - [Separate features and targets](#toc5_2_2__) \n", + "- [Working with ValidMind datasets](#toc5__) \n", + " - [Prepare the sample dataset](#toc5_1__) \n", + " - [Load the sample dataset](#toc5_1_1__) \n", + " - [Preprocess the raw dataset](#toc5_1_2__) \n", + " - [Split the dataset](#toc5_1_3__) \n", + " - [Separate features and targets](#toc5_1_4__) \n", + " - [Initialize the ValidMind datasets](#toc5_2__) \n", "- [Running data quality tests](#toc6__) \n", " - [Identify qualitative tests](#toc6_1__) \n", - " - [Initialize the ValidMind datasets](#toc6_2__) \n", - " - [Run an individual data quality test](#toc6_3__) \n", - " - [Run data comparison tests](#toc6_4__) \n", - "- [Importing the champion model](#toc7__) \n", - " - [Initialize a model object](#toc7_1__) \n", - " - [Assign predictions](#toc7_2__) \n", + " - [Run an individual data quality test](#toc6_2__) \n", + " - [Run data comparison tests](#toc6_3__) \n", + "- [Working with ValidMind models](#toc7__) \n", + " - [Import the champion model](#toc7_1__) \n", + " - [Initialize the ValidMind model](#toc7_2__) \n", + " - [Assign predictions](#toc7_3__) \n", "- [Running model evaluation tests](#toc8__) \n", " - [Run model performance tests](#toc8_1__) \n", " - [Run diagnostic tests](#toc8_2__) \n", @@ -76,14 +78,14 @@ }, { "cell_type": "markdown", - "id": "5156da5e", + "id": "717d2a16", "metadata": {}, "source": [ "\n", "\n", "## Introduction\n", "\n", - "Model validation aims to independently assess the compliance of *champion models* created by model developers with regulatory guidance by conducting thorough testing and analysis, potentially including the use of challenger models to benchmark performance. Assessments, presented in the form of a validation report, typically include *artifacts (findings)* and recommendations to address those issues.\n", + "Validation aims to independently assess the compliance of *champions* created by developers with regulatory guidance by conducting thorough testing and analysis, potentially including the use of challengers to benchmark performance. Assessments, presented in the form of a validation report, typically include *artifacts (findings)* and recommendations to address those issues.\n", "\n", "A *binary classification model* is a type of predictive model used in churn analysis to identify customers who are likely to leave a service or subscription by analyzing various behavioral, transactional, and demographic factors.\n", "\n", @@ -93,21 +95,21 @@ }, { "cell_type": "markdown", - "id": "76b38b30", + "id": "369d00db", "metadata": {}, "source": [ "\n", "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate comparison and other validation tests, and then use the ValidMind Platform to submit compliance assessments of champion models via comprehensive validation reports. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model developers." + "You use the ValidMind Library to automate comparison and other validation tests, and then use the ValidMind Platform to submit compliance assessments of champions via comprehensive validation reports. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and developers." ] }, { "cell_type": "markdown", - "id": "cb0042c8", + "id": "72800fc2", "metadata": {}, "source": [ "\n", @@ -121,23 +123,23 @@ }, { "cell_type": "markdown", - "id": "67b0915f", + "id": "e2beb1bb", "metadata": {}, "source": [ "\n", "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about validating records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { "cell_type": "markdown", - "id": "d0f2ef91", + "id": "78c8388c", "metadata": {}, "source": [ "\n", @@ -168,7 +170,7 @@ }, { "cell_type": "markdown", - "id": "d5a91730", + "id": "ec7b4755", "metadata": {}, "source": [ "\n", @@ -178,52 +180,54 @@ }, { "cell_type": "markdown", - "id": "144c69e9", + "id": "97d44f44", "metadata": {}, "source": [ "\n", "\n", "### Register a sample model\n", "\n", - "In a usual model lifecycle, a champion model will have been independently registered in your model inventory and submitted to you for validation by your model development team as part of the effective challenge process. (**Learn more:** [Submit for approval](https://docs.validmind.ai/guide/model-documentation/submit-for-approval.html))\n", + "In a usual lifecycle, a champion will have been independently registered in your inventory and submitted to you for validation by your development team as part of the effective challenge process. (**Learn more:** [Submit documents](https://docs.validmind.ai/guide/documentation/submit-documents.html))\n", "\n", - "For this notebook, we'll have you register a dummy model in the ValidMind Platform inventory and assign yourself as the validator to familiarize you with the ValidMind interface and circumvent the need for an existing model:\n", + "For this notebook, we'll have you register a dummy record (model) in the ValidMind Platform inventory and assign yourself as the validator to familiarize you with the ValidMind interface and circumvent the need for an existing model:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down — don’t worry, we’ll adjust these permissions next for validation.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down — don’t worry, we’ll adjust these permissions next for validation.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { "cell_type": "markdown", - "id": "45c2cd47", + "id": "fc3e48e1", "metadata": {}, "source": [ "\n", "\n", "#### Assign validator credentials\n", "\n", - "In order to log tests as a validator instead of as a developer, on the model details page that appears after you've successfully registered your sample model:\n", + "In order to log tests as a validator instead of as a developer, on the details page that appears after you've successfully registered your sample model:\n", "\n", - "1. Remove yourself as a model owner: \n", + "1. Remove yourself as an owner:\n", "\n", " - Click on the **OWNERS** tile.\n", " - Click the **x** next to your name to remove yourself from that model's role.\n", " - Click **Save** to apply your changes to that role.\n", "\n", - "2. Remove yourself as a developer: \n", + "2. Remove yourself as a developer:\n", "\n", " - Click on the **DEVELOPERS** tile.\n", " - Click the **x** next to your name to remove yourself from that model's role.\n", " - Click **Save** to apply your changes to that role.\n", "\n", - "3. Add yourself as a validator: \n", + "3. Add yourself as a validator:\n", "\n", " - Click on the **VALIDATORS** tile.\n", " - Select your name from the drop-down menu.\n", @@ -232,7 +236,7 @@ }, { "cell_type": "markdown", - "id": "15b34a9e", + "id": "428260e0", "metadata": {}, "source": [ "\n", @@ -243,6 +247,8 @@ "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Validation**.\n", "\n", + " If you cannot locate your Validation document, make sure Validation type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Generic Validation Report`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -250,7 +256,7 @@ }, { "cell_type": "markdown", - "id": "26218040", + "id": "7b16c381", "metadata": {}, "source": [ "\n", @@ -276,7 +282,7 @@ }, { "cell_type": "markdown", - "id": "b3f92287", + "id": "bf77550e", "metadata": {}, "source": [ "\n", @@ -286,18 +292,20 @@ }, { "cell_type": "markdown", - "id": "ad3be9e8", + "id": "ae918c6c", "metadata": {}, "source": [ "\n", "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -327,7 +335,7 @@ }, { "cell_type": "markdown", - "id": "b488736f", + "id": "f9bc73e9", "metadata": {}, "source": [ "\n", @@ -352,7 +360,7 @@ }, { "cell_type": "markdown", - "id": "014592ea", + "id": "e0e942dd", "metadata": {}, "source": [ "\n", @@ -362,14 +370,14 @@ }, { "cell_type": "markdown", - "id": "a880167f", + "id": "0361d8bf", "metadata": {}, "source": [ "\n", "\n", "### Preview the validation report template\n", "\n", - "Let's verify that you have connected the ValidMind Library to the ValidMind Platform and that the appropriate *template* is selected for model validation. A template predefines sections for your validation report and provides a general outline to follow, making the validation process much easier.\n", + "Let's verify that you have connected the ValidMind Library to the ValidMind Platform and that the appropriate *template* is selected for validation. A template predefines sections for your validation report and provides a general outline to follow, making the validation process much easier.\n", "\n", "You will attach evidence to this template in the form of risk assessment notes, artifacts, and test results later on. For now, **take a look at the default structure that the template provides with [the `vm.preview_template()` function](https://docs.validmind.ai/validmind/validmind.html#preview_template)** from the ValidMind library:" ] @@ -386,7 +394,7 @@ }, { "cell_type": "markdown", - "id": "2fd993fa", + "id": "4124c3d7", "metadata": {}, "source": [ "\n", @@ -395,7 +403,7 @@ "\n", "Next, let's head to the ValidMind Platform to see the template in action:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", "2. In the left sidebar, navigate to **Inventory** and select the model you registered for this notebook.\n", "\n", @@ -404,32 +412,42 @@ " - [x] The risk assessment compliance summary at the top of the report (screenshot below)\n", " - [x] How the structure of the validation report reflects the previewed template\n", "\n", - " \"Screenshot\n", + " \"Screenshot\n", "

" ] }, { "cell_type": "markdown", - "id": "832a2dc2", + "id": "767ea445", "metadata": {}, "source": [ "\n", "\n", - "## Importing the sample dataset" + "## Working with ValidMind datasets" ] }, { "cell_type": "markdown", - "id": "dd3c2581", + "id": "ae3f832d", "metadata": {}, "source": [ "\n", "\n", - "### Load the sample dataset\n", + "### Prepare the sample dataset" + ] + }, + { + "cell_type": "markdown", + "id": "f91775e8", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Load the sample dataset\n", "\n", - "First, let's import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle, which was used to develop the dummy champion model.\n", + "First, let's import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle, which was used to develop the dummy champion.\n", "\n", - "We'll use this dataset to review steps that should have been conducted during the initial development and documentation of the model to ensure that the model was built correctly. By independently performing steps taken by the model development team, we can confirm whether the model was built using appropriate and properly processed data.\n", + "We'll use this dataset to review steps that should have been conducted during the initial development and documentation of the champion to ensure that the model was built correctly. By independently performing steps taken by the development team, we can confirm whether the model was built using appropriate and properly processed data.\n", "\n", "In our below example, note that:\n", "\n", @@ -456,24 +474,24 @@ }, { "cell_type": "markdown", - "id": "049683d2", + "id": "6ab7fd19", "metadata": {}, "source": [ - "\n", + "\n", "\n", - "### Preprocess the raw dataset\n", + "#### Preprocess the raw dataset\n", "\n", - "Let's say that thanks to the documentation submitted by the model development team ([Learn more ...](quickstart_model_documentation.ipynb)), we know that the sample dataset was first preprocessed before being used to train the champion model.\n", + "Let's say that thanks to the documentation submitted by the development team (**Learn more:** [Quickstart for documentation](quickstart_documentation.ipynb)), we know that the sample dataset was first preprocessed before being used to train the champion.\n", "\n", - "During model validation, we use the same data processing logic and training procedure to confirm that the model's results can be reproduced independently, so let's also start by preprocessing our imported dataset to verify that preprocessing was done correctly. This involves splitting the data and separating the features (inputs) from the targets (outputs)." + "During validation, we use the same data processing logic and training procedure to confirm that the champion's results can be reproduced independently, so let's also start by preprocessing our imported dataset to verify that preprocessing was done correctly. This involves splitting the data and separating the features (inputs) from the targets (outputs)." ] }, { "cell_type": "markdown", - "id": "6c8f5916", + "id": "af660bf4", "metadata": {}, "source": [ - "\n", + "\n", "\n", "#### Split the dataset\n", "\n", @@ -498,10 +516,10 @@ }, { "cell_type": "markdown", - "id": "39883f88", + "id": "125a39e6", "metadata": {}, "source": [ - "\n", + "\n", "\n", "#### Separate features and targets\n", "\n", @@ -526,67 +544,10 @@ }, { "cell_type": "markdown", - "id": "6c54dacc", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Running data quality tests\n", - "\n", - "With everything ready to go, let's explore some of ValidMind's available tests to help us assess the quality of our datasets. Using ValidMind’s repository of tests streamlines your validation testing, and helps you ensure that your models are being validated appropriately." - ] - }, - { - "cell_type": "markdown", - "id": "e2682c35", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Identify qualitative tests\n", - "\n", - "We want to narrow down the tests we want to run from the selection provided by ValidMind, so we'll use the [`vm.tests.list_tasks_and_tags()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tasks_and_tags) to list which `tags` are associated with each `task` type:\n", - "\n", - "- **`tasks`** represent the kind of modeling task associated with a test. Here we'll focus on `classification` tasks.\n", - "- **`tags`** are free-form descriptions providing more details about the test, for example, what category the test falls into. Here we'll focus on the `data_quality` tag." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "85bc2f85", - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.list_tasks_and_tags()" - ] - }, - { - "cell_type": "markdown", - "id": "ae249675", - "metadata": {}, - "source": [ - "Then we'll call [the `vm.tests.list_tests()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) to list all the data quality tests for classification:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "31b31a51", - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.list_tests(\n", - " tags=[\"data_quality\"], task=\"classification\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "1540287c", + "id": "b6674505", "metadata": {}, "source": [ - "\n", + "\n", "\n", "### Initialize the ValidMind datasets\n", "\n", @@ -639,10 +600,67 @@ }, { "cell_type": "markdown", - "id": "610e8c3e", + "id": "c53c6d35", "metadata": {}, "source": [ - "\n", + "\n", + "\n", + "## Running data quality tests\n", + "\n", + "With everything ready to go, let's explore some of ValidMind's available tests to help us assess the quality of our datasets. Using ValidMind’s repository of tests streamlines your validation testing, and helps you ensure that your records are being validated appropriately." + ] + }, + { + "cell_type": "markdown", + "id": "b6acd486", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Identify qualitative tests\n", + "\n", + "We want to narrow down the tests we want to run from the selection provided by ValidMind, so we'll use the [`vm.tests.list_tasks_and_tags()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tasks_and_tags) to list which `tags` are associated with each `task` type:\n", + "\n", + "- **`tasks`** represent the kind of modeling task associated with a test. Here we'll focus on `classification` tasks.\n", + "- **`tags`** are free-form descriptions providing more details about the test, for example, what category the test falls into. Here we'll focus on the `data_quality` tag." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85bc2f85", + "metadata": {}, + "outputs": [], + "source": [ + "vm.tests.list_tasks_and_tags()" + ] + }, + { + "cell_type": "markdown", + "id": "9881e58a", + "metadata": {}, + "source": [ + "Then we'll call [the `vm.tests.list_tests()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) to list all the data quality tests for classification:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31b31a51", + "metadata": {}, + "outputs": [], + "source": [ + "vm.tests.list_tests(\n", + " tags=[\"data_quality\"], task=\"classification\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d3e27375", + "metadata": {}, + "source": [ + "\n", "\n", "### Run an individual data quality test\n", "\n", @@ -671,20 +689,20 @@ }, { "cell_type": "markdown", - "id": "74546420", + "id": "f6b7567b", "metadata": {}, "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for some test IDs. \n", + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for some test IDs. \n", "

\n", "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform. You'll continue to see this message throughout this notebook as we run and log more tests.
" ] }, { "cell_type": "markdown", - "id": "91c2efb2", + "id": "97286c0e", "metadata": {}, "source": [ - "\n", + "\n", "\n", "### Run data comparison tests\n", "\n", @@ -717,7 +735,7 @@ }, { "cell_type": "markdown", - "id": "676f342e", + "id": "1f1b796b", "metadata": {}, "source": [ "Then batch run and log our tests in `test_config`:" @@ -752,14 +770,24 @@ }, { "cell_type": "markdown", - "id": "6b2087c7", + "id": "1ca8c343", "metadata": {}, "source": [ "\n", "\n", - "## Importing the champion model\n", + "## Working with ValidMind models" + ] + }, + { + "cell_type": "markdown", + "id": "1fd05953", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Import the champion model\n", "\n", - "With our raw dataset preprocessed, let's go ahead and import the champion model submitted by the model development team in the format of a `.pkl` file: **[xgboost_model_champion.pkl](xgboost_model_champion.pkl)**" + "With our raw dataset preprocessed, let's go ahead and import the champion submitted by the development team in the format of a `.pkl` file: **[xgboost_model_champion.pkl](xgboost_model_champion.pkl)**" ] }, { @@ -777,16 +805,19 @@ }, { "cell_type": "markdown", - "id": "8a4b4bb3", + "id": "ee26b0b6", "metadata": {}, "source": [ - "\n", + "\n", "\n", - "### Initialize a model object\n", + "### Initialize the ValidMind model\n", "\n", - "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for our champion model.\n", + "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for our champion.\n", "\n", - "You simply initialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", + "\n", + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -805,10 +836,10 @@ }, { "cell_type": "markdown", - "id": "b8174798", + "id": "823e49c5", "metadata": {}, "source": [ - "\n", + "\n", "\n", "### Assign predictions\n", "\n", @@ -838,19 +869,19 @@ }, { "cell_type": "markdown", - "id": "ddd1e977", + "id": "2e29df90", "metadata": {}, "source": [ "\n", "\n", "## Running model evaluation tests\n", "\n", - "With our setup complete, let's run the rest of our validation tests. Since we have already verified the data quality of the dataset used to train our champion model, we will now focus on evaluating the model's performance." + "With our setup complete, let's run the rest of our validation tests. Since we have already verified the data quality of the dataset used to train our champion, we will now focus on evaluating the model's performance." ] }, { "cell_type": "markdown", - "id": "a443989f", + "id": "fc6af0e0", "metadata": {}, "source": [ "\n", @@ -872,7 +903,7 @@ }, { "cell_type": "markdown", - "id": "24f889e5", + "id": "011b7c09", "metadata": {}, "source": [ "We'll isolate the specific tests we want to run in `mpt`, and append an identifier for our champion model here to the `result_id` with a `:` separator like we did above in another test:" @@ -894,7 +925,7 @@ }, { "cell_type": "markdown", - "id": "69692f9c", + "id": "52096118", "metadata": {}, "source": [ "Now, let's run and log our batch of model performance tests using our testing dataset (`vm_test_ds`) for our champion model:\n", @@ -921,14 +952,14 @@ }, { "cell_type": "markdown", - "id": "bb3dd6ad", + "id": "842707f9", "metadata": {}, "source": [ "\n", "\n", "### Run diagnostic tests\n", "\n", - "Next, we want to inspect the robustness and stability of our champion model. Use `list_tests()` to list all available diagnosis tests applicable to classification tasks:" + "Next, we want to inspect the robustness and stability of our champion. Use `list_tests()` to list all available diagnosis tests applicable to classification tasks:" ] }, { @@ -943,7 +974,7 @@ }, { "cell_type": "markdown", - "id": "83da587e", + "id": "5295d37b", "metadata": {}, "source": [ "Let’s now assess the model for potential signs of *overfitting* and identify any sub-segments where performance may inconsistent.\n", @@ -972,7 +1003,7 @@ }, { "cell_type": "markdown", - "id": "917342c5", + "id": "88db22ed", "metadata": {}, "source": [ "Let's also conduct *robustness* and *stability* tests.\n", @@ -1001,7 +1032,7 @@ }, { "cell_type": "markdown", - "id": "36b92e50", + "id": "9226c6ea", "metadata": {}, "source": [ "\n", @@ -1025,7 +1056,7 @@ }, { "cell_type": "markdown", - "id": "22f48ec7", + "id": "d36a3544", "metadata": {}, "source": [ "We'll only use our testing dataset (`vm_test_ds`) here, to provide a realistic, unseen sample that mimic future or production data, as the training dataset has already influenced our model during learning:" @@ -1050,7 +1081,7 @@ }, { "cell_type": "markdown", - "id": "3df0f5b6", + "id": "293bf4ca", "metadata": {}, "source": [ "\n", @@ -1059,7 +1090,7 @@ "\n", "In this notebook, you learned how to:\n", "\n", - "- [x] Register a model within the ValidMind Platform\n", + "- [x] Register a record (model) within the ValidMind Platform\n", "- [x] Install and initialize the ValidMind Library\n", "- [x] Preview the validation report template for your model\n", "- [x] Import a sample dataset and champion model\n", @@ -1067,19 +1098,19 @@ "- [x] Assign model predictions to your ValidMind model objects\n", "- [x] Identify and run various validation tests\n", "\n", - "In a usual model validation workflow, you would wrap up your validation testing by verifying that all the tests provided by the model development team were run and reported accurately, and perhaps even propose a challenger model, comparing the performance of the challenger with the running champion.\n", + "In a usual validation workflow, you would wrap up your validation testing by verifying that all the tests provided by the development team were run and reported accurately, and perhaps even propose a challenger, comparing the performance of the challenger with the running champion.\n", "\n", "
With ValidMind, you can easily:\n", "\n", "
" ] }, { "cell_type": "markdown", - "id": "71dd2d3c", + "id": "b7fe1ed3", "metadata": {}, "source": [ "\n", @@ -1091,25 +1122,25 @@ }, { "cell_type": "markdown", - "id": "83648605", + "id": "1e30826e", "metadata": {}, "source": [ "\n", "\n", "### Work with your validation report\n", "\n", - "Now that you've logged all your test results and verified the work done by the model development team, head to the ValidMind Platform to wrap up your validation report:\n", + "Now that you've logged all your test results and verified the work done by the development team, head to the ValidMind Platform to wrap up your validation report:\n", "\n", "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", "\n", "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", "\n", - "Include your logged test results as evidence, create risk assessment notes, add artifacts, and assess compliance, then submit your report for review when it's ready. **Learn more:** [Preparing validation reports](https://docs.validmind.ai/guide/model-validation/preparing-validation-reports.html)" + "Include your logged test results as evidence, create risk assessment notes, add artifacts, and assess compliance, then submit your report for review when it's ready. (**Learn more:** [Preparing validation reports](https://docs.validmind.ai/guide/validation/preparing-validation-reports.html))" ] }, { "cell_type": "markdown", - "id": "c901f28f", + "id": "8511e2f8", "metadata": {}, "source": [ "\n", @@ -1118,21 +1149,21 @@ "\n", "For a more in-depth introduction to using the ValidMind Library for validation, check out our introductory validation series and the accompanying interactive training:\n", "\n", - "- **[ValidMind for model validation](https://docs.validmind.ai/developer/validmind-library.html#for-model-validation)**\n", + "- **[ValidMind for validation](https://docs.validmind.ai/developer/validmind-library.html#validation)**\n", "- **[Validator Fundamentals](https://docs.validmind.ai/training/validator-fundamentals/validator-fundamentals-register.html)**\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:q\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] }, { "cell_type": "markdown", - "id": "62f2d2ea", + "id": "58d2d5da", "metadata": {}, "source": [ "\n", @@ -1156,7 +1187,7 @@ }, { "cell_type": "markdown", - "id": "b3143537", + "id": "7e76ca12", "metadata": {}, "source": [ "If the version returned is lower than the version indicated in our [production open-source code](https://github.com/validmind/validmind-library/blob/prod/validmind/__version__.py), restart your notebook and run:\n", @@ -1168,7 +1199,7 @@ }, { "cell_type": "markdown", - "id": "f7a7527f", + "id": "6d3e2933", "metadata": {}, "source": [ "You may need to restart your kernel after running the upgrade package for changes to be applied." @@ -1176,7 +1207,7 @@ }, { "cell_type": "markdown", - "id": "copyright-09361e6dcd874470819686c63660be51", + "id": "copyright-2427447e4fe348908b3423e86473bfeb", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/tutorials/model_development/1-set_up_validmind.ipynb b/site/notebooks/tutorials/development/1-set_up_validmind.ipynb similarity index 80% rename from site/notebooks/tutorials/model_development/1-set_up_validmind.ipynb rename to site/notebooks/tutorials/development/1-set_up_validmind.ipynb index 4244924b9..0c8316c27 100644 --- a/site/notebooks/tutorials/model_development/1-set_up_validmind.ipynb +++ b/site/notebooks/tutorials/development/1-set_up_validmind.ipynb @@ -2,14 +2,14 @@ "cells": [ { "cell_type": "markdown", - "id": "06993494", + "id": "3bd9bc41", "metadata": {}, "source": [ - "# ValidMind for model development 1 — Set up the ValidMind Library\n", + "# ValidMind for development 1 — Set up the ValidMind Library\n", "\n", - "Learn how to use ValidMind for your end-to-end model documentation process based on common model development scenarios with our series of four introductory notebooks. This first notebook walks you through the initial setup of the ValidMind Library.\n", + "Learn how to use ValidMind for your end-to-end documentation process based on common development scenarios with our series of four introductory notebooks. This first notebook walks you through the initial setup of the ValidMind Library.\n", "\n", - "These notebooks use a binary classification model as an example, but the same principles shown here apply to other model types.\n", + "These notebooks use a binary classification model as an example, but the same principles shown here apply to other record (model) types.\n", "\n", "
Learn by doing\n", "

\n", @@ -18,7 +18,7 @@ }, { "cell_type": "markdown", - "id": "5269a388", + "id": "b4b7c002", "metadata": {}, "source": [ "::: {.content-hidden when-format=\"html\"}\n", @@ -36,7 +36,7 @@ " - [Get your code snippet](#toc3_2_3__) \n", "- [Getting to know ValidMind](#toc4__) \n", " - [Preview the documentation template](#toc4_1__) \n", - " - [View model documentation in the ValidMind Platform](#toc4_1_1__) \n", + " - [View documentation in the ValidMind Platform](#toc4_1_1__) \n", " - [Explore available tests](#toc4_2__) \n", "- [Upgrade ValidMind](#toc5__) \n", "- [In summary](#toc6__) \n", @@ -56,14 +56,14 @@ }, { "cell_type": "markdown", - "id": "1020f3fa", + "id": "7b7de259", "metadata": {}, "source": [ "\n", "\n", "## Introduction\n", "\n", - "Model development aims to produce a fit-for-purpose *champion model* by conducting thorough testing and analysis, supporting the capabilities of the model with evidence in the form of documentation and test results. Model documentation should be clear and comprehensive, ideally following a structure or template covering all aspects of compliance with model risk regulation.\n", + "Development aims to produce a fit-for-purpose *champion* by conducting thorough testing and analysis, supporting the capabilities of the champion with evidence in the form of documentation and test results. Documentation should be clear and comprehensive, ideally following a structure or template covering all aspects of compliance with risk regulation.\n", "\n", "A *binary classification model* is a type of predictive model used in churn analysis to identify customers who are likely to leave a service or subscription by analyzing various behavioral, transactional, and demographic factors.\n", "\n", @@ -73,21 +73,21 @@ }, { "cell_type": "markdown", - "id": "4424a3e8", + "id": "b68b9958", "metadata": {}, "source": [ "\n", "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models. \n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models. \n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators." + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators." ] }, { "cell_type": "markdown", - "id": "ed8cfd11", + "id": "3b520a7e", "metadata": {}, "source": [ "\n", @@ -101,23 +101,23 @@ }, { "cell_type": "markdown", - "id": "353613e5", + "id": "9b3108db", "metadata": {}, "source": [ "\n", "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind
" ] }, { "cell_type": "markdown", - "id": "63912e66", + "id": "f97d4266", "metadata": {}, "source": [ "\n", @@ -152,7 +152,7 @@ }, { "cell_type": "markdown", - "id": "7d039206", + "id": "bf5cd6c2", "metadata": {}, "source": [ "\n", @@ -162,7 +162,7 @@ }, { "cell_type": "markdown", - "id": "d6758437", + "id": "95bf9e4b", "metadata": {}, "source": [ "\n", @@ -188,51 +188,55 @@ }, { "cell_type": "markdown", - "id": "02f8b26f", + "id": "ad74254d", "metadata": {}, "source": [ "\n", "\n", "### Initialize the ValidMind Library\n", "\n", - "The ValidMind Library provides a rich collection of documentation tools and test suites, from documenting descriptions of datasets to validation and testing of models using a variety of open-source testing frameworks." + "The ValidMind Library provides a rich collection of documentation tools and test suites, from documenting descriptions of datasets to validation and testing using a variety of open-source testing frameworks." ] }, { "cell_type": "markdown", - "id": "706a1004", + "id": "a48cd34d", "metadata": {}, "source": [ "\n", "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { "cell_type": "markdown", - "id": "8ceb6261", + "id": "8ad7e39a", "metadata": {}, "source": [ "\n", "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -240,18 +244,20 @@ }, { "cell_type": "markdown", - "id": "acf3e1db", + "id": "3339f683", "metadata": {}, "source": [ "\n", "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -281,7 +287,7 @@ }, { "cell_type": "markdown", - "id": "3e0596f8", + "id": "61a021f3", "metadata": {}, "source": [ "\n", @@ -291,7 +297,7 @@ }, { "cell_type": "markdown", - "id": "bcd77028", + "id": "852db20d", "metadata": {}, "source": [ "\n", @@ -315,25 +321,25 @@ }, { "cell_type": "markdown", - "id": "025a518c", + "id": "65ed2873", "metadata": {}, "source": [ "\n", "\n", - "#### View model documentation in the ValidMind Platform\n", + "#### View documentation in the ValidMind Platform\n", "\n", "Next, let's head to the ValidMind Platform to see the template in action:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and select the model you registered for this \"ValidMind for model development\" series of notebooks.\n", + "2. In the left sidebar, navigate to **Inventory** and select the model you registered for this \"ValidMind for development\" series of notebooks.\n", "\n", "3. Click **Development** under Documents for your model and note how the structure of the documentation matches our preview above." ] }, { "cell_type": "markdown", - "id": "596d6d16", + "id": "cdbb94d2", "metadata": {}, "source": [ "\n", @@ -357,7 +363,7 @@ }, { "cell_type": "markdown", - "id": "30c4a1bc", + "id": "786f0d9c", "metadata": {}, "source": [ "\n", @@ -381,7 +387,7 @@ }, { "cell_type": "markdown", - "id": "e27b286f", + "id": "d2010ad4", "metadata": {}, "source": [ "If the version returned is lower than the version indicated in our [production open-source code](https://github.com/validmind/validmind-library/blob/prod/validmind/__version__.py), restart your notebook and run:\n", @@ -393,7 +399,7 @@ }, { "cell_type": "markdown", - "id": "75bf527b", + "id": "b637c5c6", "metadata": {}, "source": [ "You may need to restart your kernel after running the upgrade package for changes to be applied." @@ -401,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "b919c3a0", + "id": "dfef8925", "metadata": {}, "source": [ "\n", @@ -410,7 +416,7 @@ "\n", "In this first notebook, you learned how to:\n", "\n", - "- [x] Register a model within the ValidMind Platform\n", + "- [x] Register a record (model) within the ValidMind Platform\n", "- [x] Install and initialize the ValidMind Library\n", "- [x] Preview the documentation template for your model\n", "- [x] Explore the available tests offered by the ValidMind Library" @@ -418,7 +424,7 @@ }, { "cell_type": "markdown", - "id": "e9c62e9d", + "id": "186bee4f", "metadata": {}, "source": [ "\n", @@ -428,19 +434,19 @@ }, { "cell_type": "markdown", - "id": "8f1a7063", + "id": "7dbb07a1", "metadata": {}, "source": [ "\n", "\n", - "### Start the model development process\n", + "### Start the development process\n", "\n", - "Now that the ValidMind Library is connected to your model in the ValidMind Library with the correct template applied, we can go ahead and start the model development process: **[2 — Start the model development process](2-start_development_process.ipynb)**" + "Now that the ValidMind Library is connected to your model in the ValidMind Library with the correct template applied, we can go ahead and start the development process: **[2 — Start the development process](2-start_development_process.ipynb)**" ] }, { "cell_type": "markdown", - "id": "copyright-3e02e70c1d4d4840bf8d9ef44e2cf20c", + "id": "copyright-63fcb66be39b42d38ad874a72a66581b", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/tutorials/model_development/2-start_development_process.ipynb b/site/notebooks/tutorials/development/2-start_development_process.ipynb similarity index 91% rename from site/notebooks/tutorials/model_development/2-start_development_process.ipynb rename to site/notebooks/tutorials/development/2-start_development_process.ipynb index b01cb3536..abb3218ab 100644 --- a/site/notebooks/tutorials/model_development/2-start_development_process.ipynb +++ b/site/notebooks/tutorials/development/2-start_development_process.ipynb @@ -4,11 +4,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# ValidMind for model development 2 — Start the model development process\n", + "# ValidMind for development 2 — Start the development process\n", "\n", - "Learn how to use ValidMind for your end-to-end model documentation process with our series of four introductory notebooks. In this second notebook, you'll run tests and investigate results, then add the results or evidence to your documentation.\n", + "Learn how to use ValidMind for your end-to-end documentation process with our series of four introductory notebooks. In this second notebook, you'll run tests and investigate results, then add the results or evidence to your documentation.\n", "\n", - "You'll become familiar with the individual tests available in ValidMind, as well as how to run them and change parameters as necessary. Using ValidMind's repository of individual tests as building blocks helps you ensure that a model is being built appropriately. \n", + "You'll become familiar with the individual tests available in ValidMind, as well as how to run them and change parameters as necessary. Using ValidMind's repository of individual tests as building blocks helps you ensure that a record (model) is being built appropriately.\n", "\n", "**For a full list of out-of-the-box tests,** refer to our [Test descriptions](https://docs.validmind.ai/developer/model-testing/test-descriptions.html) or try the interactive [Test sandbox](https://docs.validmind.ai/developer/model-testing/test-sandbox.html).\n", "\n", @@ -29,24 +29,25 @@ " - [Import sample dataset](#toc2_2__) \n", " - [Identify qualitative tests](#toc2_3__) \n", " - [Initialize the ValidMind dataset](#toc2_4__) \n", - "- [Running tests](#toc3__) \n", + "- [Running tests on datasets](#toc3__) \n", " - [Run tabular data tests](#toc3_1__) \n", " - [Utilize test output](#toc3_2__) \n", "- [Documenting test results](#toc4__) \n", " - [Run and log multiple tests](#toc4_1__) \n", " - [Run and log an individual test](#toc4_2__) \n", - " - [Add individual test results to model documentation](#toc4_2_1__) \n", - "- [Model testing](#toc5__) \n", + " - [Add individual test results to documentation](#toc4_2_1__) \n", + "- [Running model evaluation tests](#toc5__) \n", " - [Train simple logistic regression model](#toc5_1__) \n", - " - [Initialize model evaluation objects](#toc5_2__) \n", - " - [Assign predictions](#toc5_3__) \n", + " - [Initialize ValidMind datasets](#toc5_2__) \n", + " - [Initialize a ValidMind model](#toc5_3__) \n", + " - [Assign predictions](#toc5_3_1__) \n", " - [Run the model evaluation tests](#toc5_4__) \n", "- [In summary](#toc6__) \n", "- [Next steps](#toc7__) \n", " - [Integrate custom tests](#toc7_1__) \n", "\n", ":::\n", - "\n", diff --git a/site/notebooks/EXECUTED/model_development/3-integrate_custom_tests.ipynb b/site/notebooks/tutorials/development/3-integrate_custom_tests.ipynb similarity index 95% rename from site/notebooks/EXECUTED/model_development/3-integrate_custom_tests.ipynb rename to site/notebooks/tutorials/development/3-integrate_custom_tests.ipynb index b4b990346..7f32f3e45 100644 --- a/site/notebooks/EXECUTED/model_development/3-integrate_custom_tests.ipynb +++ b/site/notebooks/tutorials/development/3-integrate_custom_tests.ipynb @@ -4,14 +4,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# ValidMind for model development 3 — Integrate custom tests\n", + "# ValidMind for development 3 — Integrate custom tests\n", "\n", - "Learn how to use ValidMind for your end-to-end model documentation process with our series of four introductory notebooks. In this third notebook, supplement ValidMind tests with your own and include them as additional evidence in your documentation.\n", + "Learn how to use ValidMind for your end-to-end documentation process with our series of four introductory notebooks. In this third notebook, supplement ValidMind tests with your own and include them as additional evidence in your documentation.\n", "\n", "This notebook assumes that you already have a repository of custom made tests considered critical to include in your documentation. A custom test is any function that takes a set of inputs and parameters as arguments and returns one or more outputs:\n", "\n", "- The function can be as simple or as complex as you need it to be — it can use external libraries, make API calls, or do anything else that you can do in Python.\n", - "- The only requirement is that the function signature and return values can be \"understood\" and handled by the ValidMind Library. As such, custom tests offer added flexibility by extending the default tests provided by ValidMind, enabling you to document any type of model or use case.\n", + "- The only requirement is that the function signature and return values can be \"understood\" and handled by the ValidMind Library. As such, custom tests offer added flexibility by extending the default tests provided by ValidMind, enabling you to document any type of record (model) or use case.\n", "\n", "**For a more in-depth introduction to custom tests,** refer to our [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb) notebook.\n", "\n", @@ -69,7 +69,7 @@ "\n", "## Prerequisites\n", "\n", - "In order to integrate custom tests with your model documentation with this notebook, you'll need to first have:\n", + "In order to integrate custom tests with your documentation with this notebook, you'll need to first have:\n", "\n", "- [x] Registered a model within the ValidMind Platform with a predefined documentation template\n", "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", @@ -82,7 +82,7 @@ "Refer to the first two notebooks in this series:\n", "\n", "- 1 — Set up the ValidMind Library\n", - "- 2 — Start the model development process\n", + "- 2 — Start the development process\n", "\n", "
\n" ] @@ -95,7 +95,7 @@ "\n", "## Setting up\n", "\n", - "This section should be quite familiar to you — as we performed the same actions in the previous notebook, **[2 — Start the model development process](2-start_development_process.ipynb)**." + "This section should be quite familiar to you — as we performed the same actions in the previous notebook, **[2 — Start the development process](2-start_development_process.ipynb)**." ] }, { @@ -109,8 +109,10 @@ "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -385,7 +387,7 @@ "\n", "#### Initialize the ValidMind objects\n", "\n", - "Let's initialize the ValidMind `Dataset` and `Model` objects in preparation for assigning model predictions to each dataset:" + "Let's initialize the ValidMind `Dataset` and `Model` objects in preparation for assigning predictions to each dataset:" ] }, { @@ -394,7 +396,7 @@ "metadata": {}, "outputs": [], "source": [ - "# Initialize the datasets into their own dataset objects\n", + "# Initialize the datasets into their own ValidMind dataset objects\n", "vm_train_ds = vm.init_dataset(\n", " input_id=\"train_dataset_final\",\n", " dataset=train_df,\n", @@ -407,7 +409,7 @@ " target_column=\"Exited\",\n", ")\n", "\n", - "# Initialize a model object\n", + "# Initialize the ValidMind model object\n", "vm_model = vm.init_model(log_reg, input_id=\"log_reg_model_v1\")" ] }, @@ -487,7 +489,7 @@ "\n", "- The function `confusion_matrix` takes two arguments `dataset` and `model`. This is a `VMDataset` and `VMModel` object respectively.\n", " - `VMDataset` objects allow you to access the dataset's true (target) values by accessing the `.y` attribute.\n", - " - `VMDataset` objects allow you to access the predictions for a given model by accessing the `.y_pred()` method.\n", + " - `VMDataset` objects allow you to access the predictions for a given record (model) by accessing the `.y_pred()` method.\n", "- The function docstring provides a description of what the test does. This will be displayed along with the result in this notebook as well as in the ValidMind Platform.\n", "- The function body calculates the confusion matrix using the `sklearn.metrics.confusion_matrix` function as we just did above.\n", "- The function then returns the `ConfusionMatrixDisplay.figure_` object — this is important as the ValidMind Library expects the output of the custom test to be a plot or a table.\n", @@ -672,7 +674,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for this particular test ID. \n", + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for this particular test ID. \n", "

\n", "That's expected, as when we run individual tests the results logged need to be manually added to your documentation within the ValidMind Platform.
" ] @@ -685,7 +687,7 @@ "\n", "## Using external test providers\n", "\n", - "Creating inline custom tests with a function is a great way to customize your model documentation. However, sometimes you may want to reuse the same set of tests across multiple models and share them with others in your organization. In this case, you can create an external custom *test provider* that will allow you to load custom tests from a local folder or a Git repository.\n", + "Creating inline custom tests with a function is a great way to customize your documentation. However, sometimes you may want to reuse the same set of tests across multiple records (models) and share them with others in your organization. In this case, you can create an external custom *test provider* that will allow you to load custom tests from a local folder or a Git repository.\n", "\n", "In this section you will learn how to declare a local filesystem test provider that allows loading tests from a local folder following these high level steps:\n", "\n", @@ -738,7 +740,7 @@ "After running the command above, confirm that a new `my_tests` directory was created successfully. For example:\n", "\n", "```\n", - "~/notebooks/tutorials/model_development/my_tests/\n", + "~/notebooks/tutorials/development/my_tests/\n", "```" ] }, @@ -901,7 +903,7 @@ "\n", "## Add test results to documentation\n", "\n", - "With our custom tests run and results logged to the ValidMind Platform, let's head to the model we connected to at the beginning of this notebook and insert our test results into the documentation ([Need more help?](https://docs.validmind.ai/developer/model-documentation/work-with-test-results.html)):\n", + "With our custom tests run and results logged to the ValidMind Platform, let's head to the model we connected to at the beginning of this notebook and insert our test results into the documentation (**Learn more:** [Work with test results](https://docs.validmind.ai/guide/documentation/work-with-test-results.html)):\n", "\n", "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", "\n", diff --git a/site/notebooks/EXECUTED/model_development/4-finalize_testing_documentation.ipynb b/site/notebooks/tutorials/development/4-finalize_testing_documentation.ipynb similarity index 88% rename from site/notebooks/EXECUTED/model_development/4-finalize_testing_documentation.ipynb rename to site/notebooks/tutorials/development/4-finalize_testing_documentation.ipynb index 086ccc202..0dbc8d3be 100644 --- a/site/notebooks/EXECUTED/model_development/4-finalize_testing_documentation.ipynb +++ b/site/notebooks/tutorials/development/4-finalize_testing_documentation.ipynb @@ -4,11 +4,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# ValidMind for model development 4 — Finalize testing and documentation\n", + "# ValidMind for development 4 — Finalize testing and documentation\n", "\n", - "Learn how to use ValidMind for your end-to-end model documentation process with our introductory notebook series. In this last notebook, finalize the testing and documentation of your model and have a fully documented sample model ready for review.\n", + "Learn how to use ValidMind for your end-to-end documentation process with our introductory notebook series. In this last notebook, finalize the testing and documentation of your model and have a fully documented sample model ready for review.\n", "\n", - "We'll first use [`run_documentation_tests()`](https://docs.validmind.ai/validmind/validmind.html#run_documentation_tests) previously covered in **[2 — Start the model development process](2-start_development_process.ipynb)** to ensure that your custom test results generated in **[3 — Integrate custom tests](3-integrate_custom_tests.ipynb)** are included in your documentation. Then, we'll view and update the configuration for the entire model documentation template to suit your needs.\n", + "We'll first use [`run_documentation_tests()`](https://docs.validmind.ai/validmind/validmind.html#run_documentation_tests) previously covered in **[2 — Start the development process](2-start_development_process.ipynb)** to ensure that your custom test results generated in **[3 — Integrate custom tests](3-integrate_custom_tests.ipynb)** are included in your documentation. Then, we'll view and update the configuration for the entire documentation template to suit your needs.\n", "\n", "
Learn by doing\n", "

\n", @@ -34,11 +34,12 @@ " - [Add a local test provider](#toc2_4_2__) \n", "- [Reconnect to ValidMind](#toc3__) \n", "- [Include custom test results](#toc4__) \n", - "- [Documentation template configuration](#toc5__) \n", - " - [Update the config](#toc5_1__) \n", + "- [Configuring documentation template tests](#toc5__) \n", + " - [Preview test configuration](#toc5_1__) \n", + " - [Run updated documentation section tests](#toc5_2__) \n", "- [In summary](#toc6__) \n", "- [Next steps](#toc7__) \n", - " - [Work with your model documentation](#toc7_1__) \n", + " - [Work with your documentation](#toc7_1__) \n", " - [Learn more](#toc7_2__) \n", " - [Use cases](#toc7_2_1__) \n", " - [Discover more learning resources](#toc7_2_2__) \n", @@ -78,7 +79,7 @@ "Refer to the first three notebooks in this series:\n", "\n", "- 1 — Set up the ValidMind Library\n", - "- 2 — Start the model development process\n", + "- 2 — Start the development process\n", "- 3 — Integrate custom tests\n", "\n", "
" @@ -106,8 +107,10 @@ "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -391,7 +394,7 @@ "metadata": {}, "outputs": [], "source": [ - "# Initialize the datasets into their own dataset objects\n", + "# Initialize the datasets into their own ValidMind dataset objects\n", "vm_train_ds = vm.init_dataset(\n", " input_id=\"train_dataset_final\",\n", " dataset=train_df,\n", @@ -404,7 +407,7 @@ " target_column=\"Exited\",\n", ")\n", "\n", - "# Initialize a model object\n", + "# Initialize the ValidMind model object\n", "vm_model = vm.init_model(log_reg, input_id=\"log_reg_model_v1\")" ] }, @@ -637,7 +640,7 @@ "\n", "Let's run all tests in the Model Evaluation section of the documentation. Note that we have been running the sample custom confusion matrix with `normalize=True` to demonstrate the ability to provide custom parameters.\n", "\n", - "In the **Run the model evaluation tests** section of **[2 — Start the model development process](2-start_development_process.ipynb)**, you learned how to assign inputs to individual tests with [`run_documentation_tests()`](https://docs.validmind.ai/validmind/validmind.html#run_documentation_tests). Assigning parameters is similar, you only need to provide assign a `params` dictionary to a given test ID, `my_test_provider.ConfusionMatrix` in this case." + "In the **Run the model evaluation tests** section of **[2 — Start the development process](2-start_development_process.ipynb)**, you learned how to assign inputs to individual tests with [`run_documentation_tests()`](https://docs.validmind.ai/validmind/validmind.html#run_documentation_tests). Assigning parameters is similar, you only need to provide assign a `params` dictionary to a given test ID, `my_test_provider.ConfusionMatrix` in this case." ] }, { @@ -678,7 +681,7 @@ "source": [ "\n", "\n", - "## Documentation template configuration\n", + "## Configuring documentation template tests\n", "\n", "Let's call the utility function [`vm.get_test_suite().get_default_config()`](https://docs.validmind.ai/validmind/validmind/vm_models.html#TestSuite.get_default_config) which will return the **default configuration for the entire documentation template as a dictionary:**\n", "\n", @@ -706,11 +709,11 @@ "source": [ "\n", "\n", - "### Update the config\n", + "### Preview test configuration\n", "\n", - "The default config does not assign any inputs to a test, but you can assign inputs to individual tests as needed depending on the datasets and models you want to pass to individual tests.\n", + "The default config does not assign any inputs to a test, but you can assign inputs to individual tests as needed depending on the datasets and records (models) you want to pass to individual tests.\n", "\n", - "For this particular documentation template (binary classification), the ValidMind Library provides a sample configuration that can be used to populate the entire model documentation using the following inputs as placeholders:\n", + "For this particular documentation template (binary classification), the ValidMind Library provides a sample configuration that can be used to populate the entire documentation using the following inputs as placeholders:\n", "\n", "- A **`raw_dataset`** raw dataset\n", "- A **`train_dataset`** training dataset\n", @@ -739,7 +742,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Using this sample configuration, let's finish populating model documentation by running all tests for the Model Development section of the documentation.\n", + "\n", + "\n", + "### Run updated documentation section tests\n", + "\n", + "Using this sample configuration, let's finish populating documentation by running all tests for the Model Development section of the documentation.\n", "\n", "Recall that the training and test datasets in our exercise have the following `input_id` values:\n", "\n", @@ -863,13 +870,13 @@ "In this final notebook, you learned how to:\n", "\n", "- [x] Refresh the connection from the ValidMind Library to the ValidMind Platform after you've inserted test-driven blocks to your documentation\n", - "- [x] Include custom test results in your model documentation\n", - "- [x] View and configure the configuration for your model documentation template\n", + "- [x] Include custom test results in your documentation\n", + "- [x] View and configure the configuration for your documentation template\n", "\n", - "With our ValidMind for model development series of notebooks, you learned how to document a model end-to-end with the ValidMind Library by running through some common scenarios in a typical model development setting:\n", + "With our ValidMind for development series of notebooks, you learned how to document a record (model) end-to-end with the ValidMind Library by running through some common scenarios in a typical development setting:\n", "\n", "- Running out-of-the-box tests\n", - "- Documenting your model by adding evidence to model documentation\n", + "- Documenting your record (model) by adding evidence to documentation\n", "- Extending the capabilities of the ValidMind Library by implementing custom tests\n", "- Ensuring that the documentation is complete by running all tests in the documentation template" ] @@ -889,21 +896,21 @@ "source": [ "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "Now that you've logged all your test results and generated a draft for your model documentation, head to the ValidMind Platform to wrap up your model documentation. Continue to work on your model documentation by:\n", + "Now that you've logged all your test results and generated a draft for your documentation, head to the ValidMind Platform to wrap up your documentation. Continue to work on your documentation by:\n", "\n", "- **Run and log more tests:** Use the skills you learned in this series of notebooks to run and log more individual tests, including custom tests, then insert them into your documentation as supplementary evidence. (Learn more: [`validmind.tests`](https://docs.validmind.ai/validmind/validmind/tests.html))\n", "\n", - "- **Inserting additional test results:** Add **Test-Driven Blocks** under any relevant section of your model documentation. (Learn more: [Work with test results](https://docs.validmind.ai/guide/model-documentation/work-with-test-results.html))\n", + "- **Inserting additional test results:** Add **Test-Driven Blocks** under any relevant section of your documentation. (Learn more: [Work with test results](https://docs.validmind.ai/guide/documentation/work-with-test-results.html))\n", "\n", - "- **Making qualitative edits to your test descriptions:** Click on the description of any inserted test results to review and edit the ValidMind-generated test descriptions for quality and accuracy. (Learn more: [Working with model documentation](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html#add-or-edit-documentation))\n", + "- **Making qualitative edits to your test descriptions:** Click on the description of any inserted test results to review and edit the ValidMind-generated test descriptions for quality and accuracy. (Learn more: [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html#add-or-edit-documentation))\n", "\n", - "- **View guidelines:** In any section of your model documentation, click **​ValidMind Insights** in the top right corner to reveal the Documentation Guidelines for each section to help guide the contents of your model documentation. (Learn more: [View documentation guidelines](https://docs.validmind.ai/guide/model-documentation/view-documentation-guidelines.html))\n", + "- **View guidelines:** In any section of your documentation, click **ValidMind Insights** in the top right corner to reveal the Documentation Guidelines for each section to help guide the contents of your documentation. (Learn more: [View development guidelines](https://docs.validmind.ai/guide/documentation/view-development-guidelines.html))\n", "\n", - "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including model validators. Review suggested changes in your content blocks, work with versioned history, and use comments to discuss specific portions of your model documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/model-documentation/collaborate-with-others.html))\n", + "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including validators. Review suggested changes in your content blocks, work with versioned history, and use comments to discuss specific portions of your documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/documentation/collaborate-with-others.html))\n", "\n", - "When your model documentation is complete and ready for review, submit it for approval from the same ValidMind Platform where you made your edits and collaborated with the rest of your organization, ensuring transparency and a thorough model development history. (Learn more: [Submit for approval](https://docs.validmind.ai/guide/model-documentation/submit-for-approval.html))" + "When your documentation is complete and ready for review, submit it for approval from the same ValidMind Platform where you made your edits and collaborated with the rest of your organization, ensuring transparency and a thorough development history. (Learn more: [Submit documents](https://docs.validmind.ai/guide/documentation/submit-documents.html))" ] }, { @@ -914,7 +921,7 @@ "\n", "### Learn more\n", "\n", - "Now that you're familiar with the basics, you can explore the following notebooks to get a deeper understanding on how the ValidMind Library allows you generate model documentation for any use case:" + "Now that you're familiar with the basics, you can explore the following notebooks to get a deeper understanding on how the ValidMind Library allows you generate documentation for any use case:" ] }, { @@ -941,7 +948,7 @@ "Learn more about the ValidMind Library tools we used in this notebook:\n", "\n", "- [Explore tests](../../how_to/tests/explore_tests/explore_tests.ipynb)\n", - "- [Run dataset-based tests](../../how_to/tests/run_tests/1_run_dataset_based_tests.ipynb)\n", + "- [Run dataset-based tests](../../how_to/tests/run_tests/1-run_dataset-based_tests.ipynb)\n", "- [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb)\n", "- [Integrate external test providers](../../how_to/tests/custom_tests/integrate_external_test_providers.ipynb)\n", "- [Configure dataset features](../../how_to/data_and_datasets/dataset_inputs/configure_dataset_features.ipynb)\n", @@ -950,14 +957,14 @@ "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] }, { "cell_type": "markdown", - "id": "copyright-2efae7bbb0f74bd5abe37252cd48b951", + "id": "copyright-9be88159d1f24db999931c13536a491c", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/tutorials/model_development/add-content-block.gif b/site/notebooks/tutorials/development/add-content-block.gif similarity index 100% rename from site/notebooks/tutorials/model_development/add-content-block.gif rename to site/notebooks/tutorials/development/add-content-block.gif diff --git a/site/notebooks/tutorials/model_development/high-pearson-correlation-block.png b/site/notebooks/tutorials/development/high-pearson-correlation-block.png similarity index 100% rename from site/notebooks/tutorials/model_development/high-pearson-correlation-block.png rename to site/notebooks/tutorials/development/high-pearson-correlation-block.png diff --git a/site/notebooks/tutorials/model_development/selecting-confusion-matrix-test.png b/site/notebooks/tutorials/development/selecting-confusion-matrix-test.png similarity index 100% rename from site/notebooks/tutorials/model_development/selecting-confusion-matrix-test.png rename to site/notebooks/tutorials/development/selecting-confusion-matrix-test.png diff --git a/site/notebooks/tutorials/model_development/selecting-high-pearson-correlation-test.png b/site/notebooks/tutorials/development/selecting-high-pearson-correlation-test.png similarity index 100% rename from site/notebooks/tutorials/model_development/selecting-high-pearson-correlation-test.png rename to site/notebooks/tutorials/development/selecting-high-pearson-correlation-test.png diff --git a/site/notebooks/tutorials/model_validation/2-start_validation_process.ipynb b/site/notebooks/tutorials/model_validation/2-start_validation_process.ipynb deleted file mode 100644 index 7fafa5ab5..000000000 --- a/site/notebooks/tutorials/model_validation/2-start_validation_process.ipynb +++ /dev/null @@ -1,889 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ValidMind for model validation 2 — Start the model validation process\n", - "\n", - "Learn how to use ValidMind for your end-to-end model validation process with our series of four introductory notebooks. In this second notebook, independently verify the data quality tests performed on the dataset used to train the champion model.\n", - "\n", - "You'll learn how to run relevant validation tests with ValidMind, log the results of those tests to the ValidMind Platform, and insert your logged test results as evidence into your validation report. You'll become familiar with the tests available in ValidMind, as well as how to run them. Running tests during model validation is crucial to the effective challenge process, as we want to independently evaluate the evidence and assessments provided by the model development team.\n", - "\n", - "While running our tests in this notebook, we'll focus on:\n", - "\n", - "- Ensuring that data used for training and testing the model is of appropriate data quality\n", - "- Ensuring that the raw data has been preprocessed appropriately and that the resulting final datasets reflects this\n", - "\n", - "**For a full list of out-of-the-box tests,** refer to our [Test descriptions](https://docs.validmind.ai/developer/model-testing/test-descriptions.html) or try the interactive [Test sandbox](https://docs.validmind.ai/developer/model-testing/test-sandbox.html).\n", - "\n", - "
Learn by doing\n", - "

\n", - "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "::: {.content-hidden when-format=\"html\"}\n", - "## Contents \n", - "- [Prerequisites](#toc1__) \n", - "- [Setting up](#toc2__) \n", - " - [Initialize the ValidMind Library](#toc2_1__) \n", - "- [Load the sample dataset](#toc3__) \n", - "- [Verifying data quality adjustments](#toc4__) \n", - " - [Identify qualitative tests](#toc4_1__) \n", - " - [Initialize the ValidMind dataset](#toc4_2__) \n", - " - [Run data quality tests](#toc4_3__) \n", - " - [Run tabular data tests](#toc4_3_1__) \n", - " - [Remove highly correlated features](#toc4_4__) \n", - "- [Documenting test results](#toc5__) \n", - " - [Configure and run comparison tests](#toc5_1__) \n", - " - [Log tests with unique identifiers](#toc5_2__) \n", - " - [Add test results to reporting](#toc5_3__) \n", - "- [Split the preprocessed dataset](#toc6__) \n", - " - [Initialize the split datasets](#toc6_1__) \n", - "- [In summary](#toc7__) \n", - "- [Next steps](#toc8__) \n", - " - [Develop potential challenger models](#toc8_1__) \n", - "\n", - ":::\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Prerequisites\n", - "\n", - "In order to independently assess the quality of your datasets with notebook, you'll need to first have:\n", - "\n", - "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", - "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", - "\n", - "
Need help with the above steps?\n", - "

\n", - "Refer to the first notebook in this series: 1 — Set up the ValidMind Library for validation
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Setting up" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind Library\n", - "\n", - "First, let's connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", - "\n", - "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", - "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Make sure the ValidMind Library is installed\n", - "\n", - "%pip install -q validmind\n", - "\n", - "# Load your model identifier credentials from an `.env` file\n", - "\n", - "%load_ext dotenv\n", - "%dotenv .env\n", - "\n", - "# Or replace with your code snippet\n", - "\n", - "import validmind as vm\n", - "\n", - "vm.init(\n", - " # api_host=\"...\",\n", - " # api_key=\"...\",\n", - " # api_secret=\"...\",\n", - " # model=\"...\",\n", - " document=\"validation-report\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Load the sample dataset\n", - "\n", - "Let's first import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle, which was used to develop the dummy champion model.\n", - "\n", - "We'll use this dataset to review steps that should have been conducted during the initial development and documentation of the model to ensure that the model was built correctly. By independently performing steps taken by the model development team, we can confirm whether the model was built using appropriate and properly processed data.\n", - "\n", - "In our below example, note that:\n", - "\n", - "- The target column, `Exited` has a value of `1` when a customer has churned and `0` otherwise.\n", - "- The ValidMind Library provides a wrapper to automatically load the dataset as a [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) object. A Pandas Dataframe is a two-dimensional tabular data structure that makes use of rows and columns." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from validmind.datasets.classification import customer_churn as demo_dataset\n", - "\n", - "print(\n", - " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", - ")\n", - "\n", - "raw_df = demo_dataset.load_data()\n", - "raw_df.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Verifying data quality adjustments\n", - "\n", - "Let's say that thanks to the documentation submitted by the model development team ([Learn more ...](https://docs.validmind.ai/developer/validmind-library.html#for-model-development)), we know that the sample dataset was first modified before being used to train the champion model. After performing some data quality assessments on the raw dataset, it was determined that the dataset required rebalancing, and highly correlated features were also removed." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Identify qualitative tests\n", - "\n", - "During model validation, we use the same data processing logic and training procedure to confirm that the model's results can be reproduced independently, so let's start by doing some data quality assessments by running a few individual tests just like the development team did.\n", - "\n", - "Use the [`vm.tests.list_tests()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) introduced by the first notebook in this series in combination with [`vm.tests.list_tags()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tags) and [`vm.tests.list_tasks()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tasks) to find which prebuilt tests are relevant for data quality assessment:\n", - "\n", - "- **`tasks`** represent the kind of modeling task associated with a test. Here we'll focus on `classification` tasks.\n", - "- **`tags`** are free-form descriptions providing more details about the test, for example, what category the test falls into. Here we'll focus on the `data_quality` tag." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Get the list of available task types\n", - "sorted(vm.tests.list_tasks())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Get the list of available tags\n", - "sorted(vm.tests.list_tags())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can pass `tags` and `tasks` as parameters to the `vm.tests.list_tests()` function to filter the tests based on the tags and task types.\n", - "\n", - "For example, to find tests related to tabular data quality for classification models, you can call `list_tests()` like this:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.list_tests(task=\"classification\", tags=[\"tabular_data\", \"data_quality\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Want to learn more about navigating ValidMind tests?\n", - "

\n", - "Refer to our notebook outlining the utilities available for viewing and understanding available ValidMind tests: Explore tests
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind dataset\n", - "\n", - "With the individual tests we want to run identified, the next step is to connect your data with a ValidMind `Dataset` object. **This step is always necessary every time you want to connect a dataset to documentation and produce test results through ValidMind,** but you only need to do it once per dataset.\n", - "\n", - "Initialize a ValidMind dataset object using the [`init_dataset` function](https://docs.validmind.ai/validmind/validmind.html#init_dataset) from the ValidMind (`vm`) module. For this example, we'll pass in the following arguments:\n", - "\n", - "- **`dataset`** — The raw dataset that you want to provide as input to tests.\n", - "- **`input_id`** — A unique identifier that allows tracking what inputs are used when running each individual test.\n", - "- **`target_column`** — A required argument if tests require access to true values. This is the name of the target column in the dataset." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# vm_raw_dataset is now a VMDataset object that you can pass to any ValidMind test\n", - "vm_raw_dataset = vm.init_dataset(\n", - " dataset=raw_df,\n", - " input_id=\"raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Run data quality tests\n", - "\n", - "Now that we know how to initialize a ValidMind `dataset` object, we're ready to run some tests!\n", - "\n", - "You run individual tests by calling [the `run_test` function](https://docs.validmind.ai/validmind/validmind/tests.html#run_test) provided by the `validmind.tests` module. For the examples below, we'll pass in the following arguments:\n", - "\n", - "- **`test_id`** — The ID of the test to run, as seen in the `ID` column when you run `list_tests`. \n", - "- **`params`** — A dictionary of parameters for the test. These will override any `default_params` set in the test definition. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Run tabular data tests\n", - "\n", - "The inputs expected by a test can also be found in the test definition — let's take [`validmind.data_validation.DescriptiveStatistics`](https://docs.validmind.ai/tests/data_validation/DescriptiveStatistics.html) as an example.\n", - "\n", - "Note that the output of the [`describe_test()` function](https://docs.validmind.ai/validmind/validmind/tests.html#describe_test) below shows that this test expects a `dataset` as input:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.describe_test(\"validmind.data_validation.DescriptiveStatistics\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let's run a few tests to assess the quality of the dataset:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "result2 = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.ClassImbalance\",\n", - " inputs={\"dataset\": vm_raw_dataset},\n", - " params={\"min_percent_threshold\": 30},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The output above shows that [the class imbalance test](https://docs.validmind.ai/tests/data_validation/ClassImbalance.html) did not pass according to the value we set for `min_percent_threshold` — great, this matches what was reported by the model development team.\n", - "\n", - "To address this issue, we'll re-run the test on some processed data. In this case let's apply a very simple rebalancing technique to the dataset:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", - "\n", - "# Create a balanced dataset with the same number of exited and not exited customers\n", - "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", - "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", - "\n", - "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", - "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "With this new balanced dataset, you can re-run the individual test to see if it now passes the class imbalance test requirement.\n", - "\n", - "As this is technically a different dataset, **remember to first initialize a new ValidMind `Dataset` object** to pass in as input as required by `run_test()`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", - "vm_balanced_raw_dataset = vm.init_dataset(\n", - " dataset=balanced_raw_df,\n", - " input_id=\"balanced_raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Pass the initialized `balanced_raw_dataset` as input into the test run\n", - "result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.ClassImbalance\",\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - " params={\"min_percent_threshold\": 30},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Remove highly correlated features\n", - "\n", - "Next, let's also remove highly correlated features from our dataset as outlined by the development team. Removing highly correlated features helps make the model simpler, more stable, and easier to understand.\n", - "\n", - "You can utilize the output from a ValidMind test for further use — in this below example, to retrieve the list of features with the highest correlation coefficients and use them to reduce the final list of features for modeling.\n", - "\n", - "First, we'll run [`validmind.data_validation.HighPearsonCorrelation`](https://docs.validmind.ai/tests/data_validation/HighPearsonCorrelation.html) with the `balanced_raw_dataset` we initialized previously as input as is for comparison with later runs:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The output above shows that the test did not pass according to the value we set for `max_threshold` — as reported and expected.\n", - "\n", - "`corr_result` is an object of type `TestResult`. We can inspect the result object to see what the test has produced:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(type(corr_result))\n", - "print(\"Result ID: \", corr_result.result_id)\n", - "print(\"Params: \", corr_result.params)\n", - "print(\"Passed: \", corr_result.passed)\n", - "print(\"Tables: \", corr_result.tables)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's remove the highly correlated features and create a new VM `dataset` object.\n", - "\n", - "We'll begin by checking out the table in the result and extracting a list of features that failed the test:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract table from `corr_result.tables`\n", - "features_df = corr_result.tables[0].data\n", - "features_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract list of features that failed the test\n", - "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", - "high_correlation_features" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, extract the feature names from the list of strings (example: `(Age, Exited)` > `Age`):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", - "high_correlation_features" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, it's time to re-initialize the dataset with the highly correlated features removed.\n", - "\n", - "**Note the use of a different `input_id`.** This allows tracking the inputs used when running each individual test." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Remove the highly correlated features from the dataset\n", - "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", - "\n", - "# Re-initialize the dataset object\n", - "vm_raw_dataset_preprocessed = vm.init_dataset(\n", - " dataset=balanced_raw_no_age_df,\n", - " input_id=\"raw_dataset_preprocessed\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Re-running the test with the reduced feature set should pass the test:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also plot the correlation matrix to visualize the new correlation between features:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.PearsonCorrelationMatrix\",\n", - " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Documenting test results\n", - "\n", - "Now that we've done some analysis on two different datasets, we can use ValidMind to easily document why certain things were done to our raw data with testing to support it. Every test result returned by the `run_test()` function has a `.log()` method that can be used to send the test results to the ValidMind Platform.\n", - "\n", - "When logging validation test results to the platform, you'll need to manually add those results to the desired section of the validation report. To demonstrate how to add test results to your validation report, we'll log our data quality tests and insert the results via the ValidMind Platform." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Configure and run comparison tests\n", - "\n", - "Below, we'll perform comparison tests between the original raw dataset (`raw_dataset`) and the final preprocessed (`raw_dataset_preprocessed`) dataset, again logging the results to the ValidMind Platform. \n", - "\n", - "We can specify all the tests we'd ike to run in a dictionary called `test_config`, and we'll pass in the following arguments for each test:\n", - "\n", - " - **`params`:** Individual test parameters.\n", - " - **`input_grid`:** Individual test inputs to compare. In this case, we'll input our two datasets for comparison.\n", - "\n", - "**Note here that the `input_grid` expects the `input_id` of the dataset as the value rather than the variable name we specified:**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Individual test config with inputs specified\n", - "test_config = {\n", - " \"validmind.data_validation.ClassImbalance\": {\n", - " \"input_grid\": {\"dataset\": [\"raw_dataset\", \"raw_dataset_preprocessed\"]},\n", - " \"params\": {\"min_percent_threshold\": 30}\n", - " },\n", - " \"validmind.data_validation.HighPearsonCorrelation\": {\n", - " \"input_grid\": {\"dataset\": [\"raw_dataset\", \"raw_dataset_preprocessed\"]},\n", - " \"params\": {\"max_threshold\": 0.3}\n", - " },\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Then batch run and log our tests in `test_config`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for t in test_config:\n", - " print(t)\n", - " try:\n", - " # Check if test has input_grid\n", - " if 'input_grid' in test_config[t]:\n", - " # For tests with input_grid, pass the input_grid configuration\n", - " if 'params' in test_config[t]:\n", - " vm.tests.run_test(t, input_grid=test_config[t]['input_grid'], params=test_config[t]['params']).log()\n", - " else:\n", - " vm.tests.run_test(t, input_grid=test_config[t]['input_grid']).log()\n", - " else:\n", - " # Original logic for regular inputs\n", - " if 'params' in test_config[t]:\n", - " vm.tests.run_test(t, inputs=test_config[t]['inputs'], params=test_config[t]['params']).log()\n", - " else:\n", - " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", - " except Exception as e:\n", - " print(f\"Error running test {t}: {str(e)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for some test IDs. \n", - "

\n", - "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Log tests with unique identifiers\n", - "\n", - "Next, we'll use the previously initialized `vm_balanced_raw_dataset` (that still has a highly correlated `Age` column) as input to run an individual test, then log the result to the ValidMind Platform.\n", - "\n", - "When running individual tests, **you can use a custom `result_id` to tag the individual result with a unique identifier:**\n", - "\n", - "- This `result_id` can be appended to `test_id` with a `:` separator.\n", - "- The `balanced_raw_dataset` result identifier will correspond to the `balanced_raw_dataset` input, the dataset that still has the `Age` column." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation:balanced_raw_dataset\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - ")\n", - "result.log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Add test results to reporting\n", - "\n", - "With some test results logged, let's head to the model we connected to at the beginning of this notebook and learn how to insert a test result into our validation report ([Need more help?](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#link-validator-evidence)).\n", - "\n", - "While the example below focuses on a specific test result, you can follow the same general procedure for your other results:\n", - "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", - "\n", - "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", - "\n", - "3. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section.\n", - "\n", - "4. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**:\n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "5. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** \n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "6. Click **Update Linked Evidence** to add the test results to the validation report.\n", - "\n", - " Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report:\n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "7. Note that these test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset.\n", - "\n", - " Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test:\n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "
Here in this text editor, you can make qualitative edits to the draft that ValidMind generated to finalize the test results.\n", - "

\n", - "Learn more: Work with content blocks
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Split the preprocessed dataset\n", - "\n", - "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing.\n", - "\n", - "To start, let's grab the first few rows from the `balanced_raw_no_age_df` dataset we initialized earlier:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "balanced_raw_no_age_df.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Before training the model, we need to encode the categorical features in the dataset:\n", - "\n", - "- Use the `OneHotEncoder` class from the `sklearn.preprocessing` module to encode the categorical features.\n", - "- The categorical features in the dataset are `Geography` and `Gender`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "balanced_raw_no_age_df = pd.get_dummies(\n", - " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", - ")\n", - "balanced_raw_no_age_df.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Splitting our dataset into training and testing is essential for proper validation testing, as this helps assess how well the model generalizes to unseen data:\n", - "\n", - "- We start by dividing our `balanced_raw_no_age_df` dataset into training and test subsets using `train_test_split`, with 80% of the data allocated to training (`train_df`) and 20% to testing (`test_df`).\n", - "- From each subset, we separate the features (all columns except \"Exited\") into `X_train` and `X_test`, and the target column (\"Exited\") into `y_train` and `y_test`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "\n", - "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", - "\n", - "X_train = train_df.drop(\"Exited\", axis=1)\n", - "y_train = train_df[\"Exited\"]\n", - "X_test = test_df.drop(\"Exited\", axis=1)\n", - "y_test = test_df[\"Exited\"]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the split datasets\n", - "\n", - "Next, let's initialize the training and testing datasets so they are available for use:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm_train_ds = vm.init_dataset(\n", - " input_id=\"train_dataset_final\",\n", - " dataset=train_df,\n", - " target_column=\"Exited\",\n", - ")\n", - "\n", - "vm_test_ds = vm.init_dataset(\n", - " input_id=\"test_dataset_final\",\n", - " dataset=test_df,\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## In summary\n", - "\n", - "In this second notebook, you learned how to:\n", - "\n", - "- [x] Import a sample dataset\n", - "- [x] Identify which tests you might want to run with ValidMind\n", - "- [x] Initialize ValidMind datasets\n", - "- [x] Run individual tests\n", - "- [x] Utilize the output from tests you’ve run\n", - "- [x] Log test results as evidence to the ValidMind Platform\n", - "- [x] Insert test results into your validation report" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Next steps\n", - "\n", - "\n", - "\n", - "### Develop potential challenger models\n", - "\n", - "Now that you're familiar with the basics of using the ValidMind Library, let's use it to develop a challenger model: **[3 — Developing a potential challenger model](3-developing_challenger_model.ipynb)**" - ] - }, - { - "cell_type": "markdown", - "id": "copyright-a798ee72616640f5bead3af25e6e9434", - "metadata": {}, - "source": [ - "\n", - "\n", - "\n", - "\n", - "***\n", - "\n", - "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", - "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", - "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ValidMind Library", - "language": "python", - "name": "validmind" - }, - "language_info": { - "name": "python", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/site/notebooks/tutorials/model_validation/3-developing_challenger_model.ipynb b/site/notebooks/tutorials/model_validation/3-developing_challenger_model.ipynb deleted file mode 100644 index e86fde85d..000000000 --- a/site/notebooks/tutorials/model_validation/3-developing_challenger_model.ipynb +++ /dev/null @@ -1,893 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ValidMind for model validation 3 — Developing a potential challenger model\n", - "\n", - "Learn how to use ValidMind for your end-to-end model validation process with our series of four introductory notebooks. In this third notebook, develop a potential challenger model and then pass your model and its predictions to ValidMind.\n", - "\n", - "A *challenger model* is an alternate model that attempts to outperform the champion model, ensuring that the best performing fit-for-purpose model is always considered for deployment. Challenger models also help avoid over-reliance on a single model, and allow testing of new features, algorithms, or data sources without disrupting the production lifecycle.\n", - "\n", - "
Learn by doing\n", - "

\n", - "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "::: {.content-hidden when-format=\"html\"}\n", - "## Contents \n", - "- [Prerequisites](#toc1_) \n", - "- [Setting up](#toc2_) \n", - " - [Initialize the ValidMind Library](#toc2_1_) \n", - " - [Import the sample dataset](#toc2_2_) \n", - " - [Preprocess the dataset](#toc2_2_1_) \n", - " - [Split the preprocessed dataset](#toc2_3_) \n", - "- [Import the champion model](#toc3_) \n", - "- [Training a potential challenger model](#toc4_) \n", - " - [Random forest classification model](#toc4_1_) \n", - "- [Initializing the model objects](#toc5_) \n", - " - [Initialize the model objects](#toc5_1_) \n", - " - [Assign predictions](#toc5_2_) \n", - "- [Running model evaluation tests](#toc6_) \n", - " - [Run model performance tests](#toc6_1_) \n", - " - [Evaluate performance of the champion model](#toc6_1_1_) \n", - " - [Log an artifact](#toc6_1_2_) \n", - " - [Evaluate performance of challenger model](#toc6_1_3_) \n", - " - [Run diagnostic tests](#toc6_2_) \n", - " - [Run feature importance tests](#toc6_3_) \n", - "- [In summary](#toc7_) \n", - "- [Next steps](#toc8_) \n", - " - [Finalize validation and reporting](#toc8_1_) \n", - "\n", - ":::\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Prerequisites\n", - "\n", - "In order to develop potential challenger models with this notebook, you'll need to first have:\n", - "\n", - "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", - "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", - "- [x] Learned how to import and initialize datasets for use with ValidMind\n", - "- [x] Understood the basics of how to run and log tests with ValidMind\n", - "- [x] Run data quality tests on the datasets used to train the champion model, and logged the results of those tests to ValidMind\n", - "- [x] Inserted your logged test results into your validation report\n", - "\n", - "
Need help with the above steps?\n", - "

\n", - "Refer to the first two notebooks in this series:\n", - "\n", - "- 1 — Set up the ValidMind Library for validation\n", - "- 2 — Start the model validation process\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Setting up\n", - "\n", - "This section should be quite familiar to you — as we performed the same actions in the previous notebook, **[2 — Start the model validation process](2-start_validation_process.ipynb)**." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind Library\n", - "\n", - "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", - "\n", - "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", - "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Make sure the ValidMind Library is installed\n", - "\n", - "%pip install -q validmind\n", - "\n", - "# Load your model identifier credentials from an `.env` file\n", - "\n", - "%load_ext dotenv\n", - "%dotenv .env\n", - "\n", - "# Or replace with your code snippet\n", - "\n", - "import validmind as vm\n", - "\n", - "vm.init(\n", - " # api_host=\"...\",\n", - " # api_key=\"...\",\n", - " # api_secret=\"...\",\n", - " # model=\"...\",\n", - " document=\"validation-report\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Import the sample dataset\n", - "\n", - "Next, we'll load in the sample [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset used to develop the champion model that we will independently preprocess:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load the sample dataset\n", - "from validmind.datasets.classification import customer_churn as demo_dataset\n", - "\n", - "print(\n", - " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", - ")\n", - "\n", - "raw_df = demo_dataset.load_data()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Preprocess the dataset\n", - "\n", - "We’ll apply a simple rebalancing technique to the dataset before continuing:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", - "\n", - "# Create a balanced dataset with the same number of exited and not exited customers\n", - "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", - "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", - "\n", - "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", - "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let’s also quickly remove highly correlated features from the dataset using the output from a ValidMind test.\n", - "\n", - "As you know, before we can run tests you’ll need to initialize a ValidMind dataset object with the [`init_dataset` function](https://docs.validmind.ai/validmind/validmind.html#init_dataset):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", - "vm_balanced_raw_dataset = vm.init_dataset(\n", - " dataset=balanced_raw_df,\n", - " input_id=\"balanced_raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "With our balanced dataset initialized, we can then run our test and utilize the output to help us identify the features we want to remove:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# From result object, extract table from `corr_result.tables`\n", - "features_df = corr_result.tables[0].data\n", - "features_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract list of features that failed the test\n", - "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", - "high_correlation_features" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract feature names from the list of strings\n", - "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", - "high_correlation_features" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can then re-initialize the dataset with a different `input_id` and the highly correlated features removed and re-run the test for confirmation:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Remove the highly correlated features from the dataset\n", - "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", - "\n", - "# Re-initialize the dataset object\n", - "vm_raw_dataset_preprocessed = vm.init_dataset(\n", - " dataset=balanced_raw_no_age_df,\n", - " input_id=\"raw_dataset_preprocessed\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Re-run the test with the reduced feature set\n", - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Split the preprocessed dataset\n", - "\n", - "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Encode categorical features in the dataset\n", - "balanced_raw_no_age_df = pd.get_dummies(\n", - " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", - ")\n", - "balanced_raw_no_age_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "\n", - "# Split the dataset into train and test\n", - "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", - "\n", - "X_train = train_df.drop(\"Exited\", axis=1)\n", - "y_train = train_df[\"Exited\"]\n", - "X_test = test_df.drop(\"Exited\", axis=1)\n", - "y_test = test_df[\"Exited\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the split datasets\n", - "vm_train_ds = vm.init_dataset(\n", - " input_id=\"train_dataset_final\",\n", - " dataset=train_df,\n", - " target_column=\"Exited\",\n", - ")\n", - "\n", - "vm_test_ds = vm.init_dataset(\n", - " input_id=\"test_dataset_final\",\n", - " dataset=test_df,\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Import the champion model\n", - "\n", - "With our raw dataset assessed and preprocessed, let's go ahead and import the champion model submitted by the model development team in the format of a `.pkl` file: **[lr_model_champion.pkl](lr_model_champion.pkl)**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import the champion model\n", - "import pickle as pkl\n", - "\n", - "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", - " log_reg = pkl.load(f)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Training a potential challenger model\n", - "\n", - "We're curious how an alternate model compares to our champion model, so let's train a challenger model as a basis for our testing.\n", - "\n", - "Our champion *logistic regression model* is a simpler, parametric model that assumes a linear relationship between the independent variables and the log-odds of the outcome. While logistic regression may not capture complex patterns as effectively, it offers a high degree of interpretability and is easier to explain to stakeholders. However, model risk is not calculated in isolation from a single factor, but rather in consideration with trade-offs in predictive performance, ease of interpretability, and overall alignment with business objectives." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Random forest classification model\n", - "\n", - "A *random forest classification model* is an ensemble machine learning algorithm that uses multiple decision trees to classify data. In ensemble learning, multiple models are combined to improve prediction accuracy and robustness.\n", - "\n", - "Random forest classification models generally have higher accuracy because they capture complex, non-linear relationships, but as a result they lack transparency in their predictions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import the Random Forest Classification model\n", - "from sklearn.ensemble import RandomForestClassifier\n", - "\n", - "# Create the model instance with 50 decision trees\n", - "rf_model = RandomForestClassifier(\n", - " n_estimators=50,\n", - " random_state=42,\n", - ")\n", - "\n", - "# Train the model\n", - "rf_model.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Initializing the model objects" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the model objects\n", - "\n", - "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our two models.\n", - "\n", - "You simply initialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the champion logistic regression model\n", - "vm_log_model = vm.init_model(\n", - " log_reg,\n", - " input_id=\"log_model_champion\",\n", - ")\n", - "\n", - "# Initialize the challenger random forest classification model\n", - "vm_rf_model = vm.init_model(\n", - " rf_model,\n", - " input_id=\"rf_model\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Assign predictions\n", - "\n", - "With our models registered, we'll move on to assigning both the predictive probabilities coming directly from each model's predictions, and the binary prediction after applying the cutoff threshold described in the Compute binary predictions step above.\n", - "\n", - "- The [`assign_predictions()` method](https://docs.validmind.ai/validmind/validmind/vm_models.html#assign_predictions) from the `Dataset` object can link existing predictions to any number of models.\n", - "- This method links the model's class prediction values and probabilities to our `vm_train_ds` and `vm_test_ds` datasets.\n", - "\n", - "If no prediction values are passed, the method will compute predictions automatically:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Champion — Logistic regression model\n", - "vm_train_ds.assign_predictions(model=vm_log_model)\n", - "vm_test_ds.assign_predictions(model=vm_log_model)\n", - "\n", - "# Challenger — Random forest classification model\n", - "vm_train_ds.assign_predictions(model=vm_rf_model)\n", - "vm_test_ds.assign_predictions(model=vm_rf_model)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Running model evaluation tests\n", - "\n", - "With our setup complete, let's run the rest of our validation tests. Since we have already verified the data quality of the dataset used to train our champion model, we will now focus on comprehensive performance evaluations of both the champion and challenger models." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Run model performance tests\n", - "\n", - "Let's run some performance tests, beginning with independent testing of our champion logistic regression model, then moving on to our potential challenger model.\n", - "\n", - "Use [`vm.tests.list_tests()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) to identify all the model performance tests for classification:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "vm.tests.list_tests(tags=[\"model_performance\"], task=\"classification\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We'll isolate the specific tests we want to run in `mpt`:\n", - "\n", - "- [`ClassifierPerformance`](https://docs.validmind.ai/tests/model_validation/sklearn/ClassifierPerformance.html)\n", - "- [`ConfusionMatrix`](https://docs.validmind.ai/tests/model_validation/sklearn/ConfusionMatrix.html)\n", - "- [`MinimumAccuracy`](https://docs.validmind.ai/tests/model_validation/sklearn/MinimumAccuracy.html)\n", - "- [`MinimumF1Score`](https://docs.validmind.ai/tests/model_validation/sklearn/MinimumF1Score.html)\n", - "- [`ROCCurve`](https://docs.validmind.ai/tests/model_validation/sklearn/ROCCurve.html)\n", - "\n", - "As we learned in the previous notebook [2 — Start the model validation process](2-start_validation_process.ipynb), you can use a custom `result_id` to tag the individual result with a unique identifier by appending this `result_id` to the `test_id` with a `:` separator. We'll append an identifier for our champion model here:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "mpt = [\n", - " \"validmind.model_validation.sklearn.ClassifierPerformance:logreg_champion\",\n", - " \"validmind.model_validation.sklearn.ConfusionMatrix:logreg_champion\",\n", - " \"validmind.model_validation.sklearn.MinimumAccuracy:logreg_champion\",\n", - " \"validmind.model_validation.sklearn.MinimumF1Score:logreg_champion\",\n", - " \"validmind.model_validation.sklearn.ROCCurve:logreg_champion\"\n", - "]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Evaluate performance of the champion model\n", - "\n", - "Now, let's run and log our batch of model performance tests using our testing dataset (`vm_test_ds`) for our champion model:\n", - "\n", - "- The test set serves as a proxy for real-world data, providing an unbiased estimate of model performance since it was not used during training or tuning.\n", - "- The test set also acts as protection against selection bias and model tweaking, giving a final, more unbiased checkpoint." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for test in mpt:\n", - " vm.tests.run_test(\n", - " test,\n", - " inputs={\n", - " \"dataset\": vm_test_ds, \"model\" : vm_log_model,\n", - " },\n", - " ).log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for some test IDs. \n", - "

\n", - "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Log an artifact\n", - "\n", - "As we can observe from the output above, our champion model doesn't pass the `MinimumAccuracy` based on the default thresholds of the out-of-the-box test, so let's log an artifact (finding) in the ValidMind Platform ([Need more help?](https://docs.validmind.ai/guide/model-validation/add-manage-artifacts.html)):\n", - "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", - "\n", - "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", - "\n", - "3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section.\n", - "\n", - "4. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report**:\n", - "\n", - " \"Screenshot\n", - "

\n", - "\n", - "5. Select **Validation Issue** as the type of artifact.\n", - "\n", - "6. Click **+ Add Validation Issue** to add a validation issue type artifact.\n", - "\n", - "76. Enter in the details for your validation issue, for example:\n", - "\n", - " - **TITLE** — Champion Logistic Regression Model Fails Minimum Accuracy Threshold\n", - " - **RISK AREA** — Model Performance\n", - " - **DOCUMENTATION SECTION** — 3.2. Model Evaluation\n", - " - **DESCRIPTION** — The logistic regression champion model was subjected to a Minimum Accuracy test to determine whether its predictive accuracy meets the predefined performance threshold of 0.7. The model achieved an accuracy score of 0.6136, which falls below the required minimum. As a result, the test produced a Fail outcome.\n", - "\n", - "8. Click **Save**.\n", - "\n", - "9. Select the validation issue you just added to link to your validation report and click **Update Linked Artifacts** to insert your validation issue.\n", - "\n", - "10. Click on the validation issue to expand the issue, where you can adjust details such as severity, owner, due date, status, etc. as well as include proposed remediation plans or supporting documentation as attachments." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Evaluate performance of challenger model\n", - "\n", - "We've now conducted similar tests as the model development team for our champion model, with the aim of verifying their test results.\n", - "\n", - "Next, let's see how our challenger models compare. We'll use the same batch of tests here as we did in `mpt`, but append a different `result_id` to indicate that these results should be associated with our challenger model:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "mpt_chall = [\n", - " \"validmind.model_validation.sklearn.ClassifierPerformance:champion_vs_challenger\",\n", - " \"validmind.model_validation.sklearn.ConfusionMatrix:champion_vs_challenger\",\n", - " \"validmind.model_validation.sklearn.MinimumAccuracy:champion_vs_challenger\",\n", - " \"validmind.model_validation.sklearn.MinimumF1Score:champion_vs_challenger\",\n", - " \"validmind.model_validation.sklearn.ROCCurve:champion_vs_challenger\"\n", - "]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We'll run each test once for each model with the same `vm_test_ds` dataset to compare them:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for test in mpt_chall:\n", - " vm.tests.run_test(\n", - " test,\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", - " }\n", - " ).log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Based on the performance metrics, our challenger random forest classification model passes the MinimumAccuracy where our champion did not.\n", - "

\n", - "In your validation report, support your recommendation in your validation issue's Proposed Remediation Plan to investigate the usage of our challenger model by inserting the performance tests we logged with this notebook into the appropriate section.
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Run diagnostic tests\n", - "\n", - "Next, we want to inspect the robustness and stability testing comparison between our champion and challenger model.\n", - "\n", - "Use `list_tests()` to list all available diagnosis tests applicable to classification tasks:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.list_tests(tags=[\"model_diagnosis\"], task=\"classification\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let’s now assess the models for potential signs of *overfitting* and identify any sub-segments where performance may inconsistent with the [`OverfitDiagnosis` test](https://docs.validmind.ai/tests/model_validation/sklearn/OverfitDiagnosis.html).\n", - "\n", - "Overfitting occurs when a model learns the training data too well, capturing not only the true pattern but noise and random fluctuations resulting in excellent performance on the training dataset but poor generalization to new, unseen data:\n", - "\n", - "- Since the training dataset (`vm_train_ds`) was used to fit the model, we use this set to establish a baseline performance for how well the model performs on data it has already seen.\n", - "- The testing dataset (`vm_test_ds`) was never seen during training, and here simulates real-world generalization, or how well the model performs on new, unseen data. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.run_test(\n", - " test_id=\"validmind.model_validation.sklearn.OverfitDiagnosis:champion_vs_challenger\",\n", - " input_grid={\n", - " \"datasets\": [[vm_train_ds,vm_test_ds]],\n", - " \"model\" : [vm_log_model,vm_rf_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's also conduct *robustness* and *stability* testing of the two models with the [`RobustnessDiagnosis` test](https://docs.validmind.ai/tests/model_validation/sklearn/RobustnessDiagnosis.html). Robustness refers to a model's ability to maintain consistent performance, and stability refers to a model's ability to produce consistent outputs over time across different data subsets.\n", - "\n", - "Again, we'll use both the training and testing datasets to establish baseline performance and to simulate real-world generalization:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vm.tests.run_test(\n", - " test_id=\"validmind.model_validation.sklearn.RobustnessDiagnosis:Champion_vs_LogRegression\",\n", - " input_grid={\n", - " \"datasets\": [[vm_train_ds,vm_test_ds]],\n", - " \"model\" : [vm_log_model,vm_rf_model]\n", - " },\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Run feature importance tests\n", - "\n", - "We also want to verify the relative influence of different input features on our models' predictions, as well as inspect the differences between our champion and challenger model to see if a certain model offers more understandable or logical importance scores for features.\n", - "\n", - "Use `list_tests()` to identify all the feature importance tests for classification:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Store the feature importance tests\n", - "FI = vm.tests.list_tests(tags=[\"feature_importance\"], task=\"classification\",pretty=False)\n", - "FI" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We'll only use our testing dataset (`vm_test_ds`) here, to provide a realistic, unseen sample that mimic future or production data, as the training dataset has already influenced our model during learning:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Run and log our feature importance tests for both models for the testing dataset\n", - "for test in FI:\n", - " vm.tests.run_test(\n", - " \"\".join((test,':champion_vs_challenger')),\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", - " },\n", - " ).log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## In summary\n", - "\n", - "In this third notebook, you learned how to:\n", - "\n", - "- [x] Initialize ValidMind model objects\n", - "- [x] Assign predictions and probabilities to your ValidMind model objects\n", - "- [x] Use tests from ValidMind to evaluate the potential of models, including comparative tests between champion and challenger models\n", - "- [x] Log an artifact in the ValidMind Platform" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Next steps\n", - "\n", - "\n", - "\n", - "### Finalize validation and reporting\n", - "\n", - "Now that you're familiar with the basics of using the ValidMind Library to run and log validation tests, let's learn how to implement some custom tests and wrap up our validation: **[4 — Finalize validation and reporting](4-finalize_validation_reporting.ipynb)**" - ] - }, - { - "cell_type": "markdown", - "id": "copyright-0b98aebe3459409f848c2c03b413d181", - "metadata": {}, - "source": [ - "\n", - "\n", - "\n", - "\n", - "***\n", - "\n", - "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", - "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", - "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ValidMind Library", - "language": "python", - "name": "validmind" - }, - "language_info": { - "name": "python", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/site/notebooks/tutorials/model_validation/4-finalize_validation_reporting.ipynb b/site/notebooks/tutorials/model_validation/4-finalize_validation_reporting.ipynb deleted file mode 100644 index 7c4f49e81..000000000 --- a/site/notebooks/tutorials/model_validation/4-finalize_validation_reporting.ipynb +++ /dev/null @@ -1,1233 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ValidMind for model validation 4 — Finalize testing and reporting\n", - "\n", - "Learn how to use ValidMind for your end-to-end model validation process with our series of four introductory notebooks. In this last notebook, finalize the compliance assessment process and have a complete validation report ready for review.\n", - "\n", - "This notebook will walk you through how to supplement ValidMind tests with your own custom tests and include them as additional evidence in your validation report. A custom test is any function that takes a set of inputs and parameters as arguments and returns one or more outputs:\n", - "\n", - "- The function can be as simple or as complex as you need it to be — it can use external libraries, make API calls, or do anything else that you can do in Python.\n", - "- The only requirement is that the function signature and return values can be \"understood\" and handled by the ValidMind Library. As such, custom tests offer added flexibility by extending the default tests provided by ValidMind, enabling you to document any type of model or use case.\n", - "\n", - "**For a more in-depth introduction to custom tests,** refer to our [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb) notebook.\n", - "\n", - "
Learn by doing\n", - "

\n", - "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "::: {.content-hidden when-format=\"html\"}\n", - "## Contents \n", - "- [Prerequisites](#toc1__) \n", - "- [Setting up](#toc2__) \n", - " - [Initialize the ValidMind Library](#toc2_1__) \n", - " - [Import the sample dataset](#toc2_2__) \n", - " - [Split the preprocessed dataset](#toc2_3__) \n", - " - [Import the champion model](#toc2_4__) \n", - " - [Train potential challenger model](#toc2_5__) \n", - " - [Initialize the model objects](#toc2_6__) \n", - "- [Implementing custom tests](#toc3__) \n", - " - [Implement a custom inline test](#toc3_1__) \n", - " - [Create a confusion matrix plot](#toc3_1_1__) \n", - " - [Add parameters to custom tests](#toc3_1_2__) \n", - " - [Pass parameters to custom tests](#toc3_1_3__) \n", - " - [Use external test providers](#toc3_2__) \n", - " - [Create custom tests folder](#toc3_2_1__) \n", - " - [Save an inline test](#toc3_2_2__) \n", - " - [Register a local test provider](#toc3_2_3__) \n", - "- [Verify test runs](#toc4__) \n", - "- [In summary](#toc5__) \n", - "- [Next steps](#toc6__) \n", - " - [Work with your validation report](#toc6_1__) \n", - " - [Learn more](#toc6_2__) \n", - " - [Use cases](#toc6_2_1__) \n", - " - [Discover more learning resources](#toc6_2_2__) \n", - "\n", - ":::\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Prerequisites\n", - "\n", - "In order to finalize validation and reporting, you'll need to first have:\n", - "\n", - "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", - "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", - "- [x] Learned how to import and initialize datasets and models for use with ValidMind\n", - "- [x] Understood the basics of how to identify and run validation tests\n", - "- [x] Run validation tests for your champion and challenger models, and logged the results of those tests to the ValidMind Platform\n", - "- [x] Inserted your logged test results into your validation report\n", - "- [x] Added some preliminary artifacts (findings) to your validation report\n", - "\n", - "
Need help with the above steps?\n", - "

\n", - "Refer to the first three notebooks in this series:\n", - "\n", - "- 1 — Set up the ValidMind Library for validation\n", - "- 2 — Start the model validation process\n", - "- 2 — Developing a potential challenger model\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Setting up\n", - "\n", - "This section should be very familiar to you now — as we performed the same actions in the previous two notebooks in this series." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the ValidMind Library\n", - "\n", - "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", - "\n", - "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", - "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Make sure the ValidMind Library is installed\n", - "\n", - "%pip install -q validmind\n", - "\n", - "# Load your model identifier credentials from an `.env` file\n", - "\n", - "%load_ext dotenv\n", - "%dotenv .env\n", - "\n", - "# Or replace with your code snippet\n", - "\n", - "import validmind as vm\n", - "\n", - "vm.init(\n", - " # api_host=\"...\",\n", - " # api_key=\"...\",\n", - " # api_secret=\"...\",\n", - " # model=\"...\",\n", - " document=\"validation-report\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Import the sample dataset\n", - "\n", - "Next, we'll load in the same sample [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset used to develop the champion model that we will independently preprocess:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load the sample dataset\n", - "from validmind.datasets.classification import customer_churn as demo_dataset\n", - "\n", - "print(\n", - " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", - ")\n", - "\n", - "raw_df = demo_dataset.load_data()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the raw dataset for use in ValidMind tests\n", - "vm_raw_dataset = vm.init_dataset(\n", - " dataset=raw_df,\n", - " input_id=\"raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", - "\n", - "# Create a balanced dataset with the same number of exited and not exited customers\n", - "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", - "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", - "\n", - "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", - "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let’s also quickly remove highly correlated features from the dataset using the output from a ValidMind test:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", - "vm_balanced_raw_dataset = vm.init_dataset(\n", - " dataset=balanced_raw_df,\n", - " input_id=\"balanced_raw_dataset\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_balanced_raw_dataset},\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# From result object, extract table from `corr_result.tables`\n", - "features_df = corr_result.tables[0].data\n", - "features_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract list of features that failed the test\n", - "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", - "high_correlation_features" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Extract feature names from the list of strings\n", - "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", - "high_correlation_features" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Remove the highly correlated features from the dataset\n", - "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", - "\n", - "# Re-initialize the dataset object\n", - "vm_raw_dataset_preprocessed = vm.init_dataset(\n", - " dataset=balanced_raw_no_age_df,\n", - " input_id=\"raw_dataset_preprocessed\",\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Re-run the test with the reduced feature set\n", - "corr_result = vm.tests.run_test(\n", - " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", - " params={\"max_threshold\": 0.3},\n", - " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Split the preprocessed dataset\n", - "\n", - "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Encode categorical features in the dataset\n", - "balanced_raw_no_age_df = pd.get_dummies(\n", - " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", - ")\n", - "balanced_raw_no_age_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "\n", - "# Split the dataset into train and test\n", - "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", - "\n", - "X_train = train_df.drop(\"Exited\", axis=1)\n", - "y_train = train_df[\"Exited\"]\n", - "X_test = test_df.drop(\"Exited\", axis=1)\n", - "y_test = test_df[\"Exited\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the split datasets\n", - "vm_train_ds = vm.init_dataset(\n", - " input_id=\"train_dataset_final\",\n", - " dataset=train_df,\n", - " target_column=\"Exited\",\n", - ")\n", - "\n", - "vm_test_ds = vm.init_dataset(\n", - " input_id=\"test_dataset_final\",\n", - " dataset=test_df,\n", - " target_column=\"Exited\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Import the champion model\n", - "\n", - "With our raw dataset assessed and preprocessed, let's go ahead and import the champion model submitted by the model development team in the format of a `.pkl` file: **[lr_model_champion.pkl](lr_model_champion.pkl)**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import the champion model\n", - "import pickle as pkl\n", - "\n", - "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", - " log_reg = pkl.load(f)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Train potential challenger model\n", - "\n", - "We'll also train our random forest classification challenger model to see how it compares:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import the Random Forest Classification model\n", - "from sklearn.ensemble import RandomForestClassifier\n", - "\n", - "# Create the model instance with 50 decision trees\n", - "rf_model = RandomForestClassifier(\n", - " n_estimators=50,\n", - " random_state=42,\n", - ")\n", - "\n", - "# Train the model\n", - "rf_model.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Initialize the model objects\n", - "\n", - "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our two models:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the champion logistic regression model\n", - "vm_log_model = vm.init_model(\n", - " log_reg,\n", - " input_id=\"log_model_champion\",\n", - ")\n", - "\n", - "# Initialize the challenger random forest classification model\n", - "vm_rf_model = vm.init_model(\n", - " rf_model,\n", - " input_id=\"rf_model\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Assign predictions to Champion — Logistic regression model\n", - "vm_train_ds.assign_predictions(model=vm_log_model)\n", - "vm_test_ds.assign_predictions(model=vm_log_model)\n", - "\n", - "# Assign predictions to Challenger — Random forest classification model\n", - "vm_train_ds.assign_predictions(model=vm_rf_model)\n", - "vm_test_ds.assign_predictions(model=vm_rf_model)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Implementing custom tests\n", - "\n", - "Thanks to the model documentation ([Learn more ...](https://docs.validmind.ai/developer/validmind-library.html#for-model-development)), we know that the model development team implemented a custom test to further evaluate the performance of the champion model.\n", - "\n", - "In a usual model validation situation, you would load a saved custom test provided by the model development team. In the following section, we'll have you implement the same custom test and make it available for reuse, to familiarize you with the processes.\n", - "\n", - "
Want to learn more about custom tests?\n", - "

\n", - "Refer to our in-depth introduction to custom tests: Implement custom tests
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Implement a custom inline test\n", - "\n", - "Let's implement the same custom *inline test* that calculates the confusion matrix for a binary classification model that the model development team used in their performance evaluations.\n", - "\n", - "- An inline test refers to a test written and executed within the same environment as the code being tested — in this case, right in this Jupyter Notebook — without requiring a separate test file or framework.\n", - "- You'll note that the custom test function is just a regular Python function that can include and require any Python library as you see fit." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Create a confusion matrix plot\n", - "\n", - "Let's first create a confusion matrix plot using the `confusion_matrix` function from the `sklearn.metrics` module:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "from sklearn import metrics\n", - "\n", - "# Get the predicted classes\n", - "y_pred = log_reg.predict(vm_test_ds.x)\n", - "\n", - "confusion_matrix = metrics.confusion_matrix(y_test, y_pred)\n", - "\n", - "cm_display = metrics.ConfusionMatrixDisplay(\n", - " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", - ")\n", - "cm_display.plot()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, create a [`@vm.test` wrapper](https://docs.validmind.ai/validmind/validmind.html#test) that will allow you to create a reusable test. **Note the following changes in the code below:**\n", - "\n", - "- The function `confusion_matrix` takes two arguments `dataset` and `model`. This is a `VMDataset` and `VMModel` object respectively.\n", - " - `VMDataset` objects allow you to access the dataset's true (target) values by accessing the `.y` attribute.\n", - " - `VMDataset` objects allow you to access the predictions for a given model by accessing the `.y_pred()` method.\n", - "- The function docstring provides a description of what the test does. This will be displayed along with the result in this notebook as well as in the ValidMind Platform.\n", - "- The function body calculates the confusion matrix using the `sklearn.metrics.confusion_matrix` function as we just did above.\n", - "- The function then returns the `ConfusionMatrixDisplay.figure_` object — this is important as the ValidMind Library expects the output of the custom test to be a plot or a table.\n", - "- The `@vm.test` decorator is doing the work of creating a wrapper around the function that will allow it to be run by the ValidMind Library. It also registers the test so it can be found by the ID `my_custom_tests.ConfusionMatrix`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@vm.test(\"my_custom_tests.ConfusionMatrix\")\n", - "def confusion_matrix(dataset, model):\n", - " \"\"\"The confusion matrix is a table that is often used to describe the performance of a classification model on a set of data for which the true values are known.\n", - "\n", - " The confusion matrix is a 2x2 table that contains 4 values:\n", - "\n", - " - True Positive (TP): the number of correct positive predictions\n", - " - True Negative (TN): the number of correct negative predictions\n", - " - False Positive (FP): the number of incorrect positive predictions\n", - " - False Negative (FN): the number of incorrect negative predictions\n", - "\n", - " The confusion matrix can be used to assess the holistic performance of a classification model by showing the accuracy, precision, recall, and F1 score of the model on a single figure.\n", - " \"\"\"\n", - " y_true = dataset.y\n", - " y_pred = dataset.y_pred(model=model)\n", - "\n", - " confusion_matrix = metrics.confusion_matrix(y_true, y_pred)\n", - "\n", - " cm_display = metrics.ConfusionMatrixDisplay(\n", - " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", - " )\n", - " cm_display.plot()\n", - "\n", - " plt.close() # close the plot to avoid displaying it\n", - "\n", - " return cm_display.figure_ # return the figure object itself" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can now run the newly created custom test on both the training and test datasets for both models using the [`run_test()` function](https://docs.validmind.ai/validmind/validmind/tests.html#run_test):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Champion train and test\n", - "vm.tests.run_test(\n", - " test_id=\"my_custom_tests.ConfusionMatrix:champion\",\n", - " input_grid={\n", - " \"dataset\": [vm_train_ds,vm_test_ds],\n", - " \"model\" : [vm_log_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Challenger train and test\n", - "vm.tests.run_test(\n", - " test_id=\"my_custom_tests.ConfusionMatrix:challenger\",\n", - " input_grid={\n", - " \"dataset\": [vm_train_ds,vm_test_ds],\n", - " \"model\" : [vm_rf_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for some test IDs. \n", - "

\n", - "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Add parameters to custom tests\n", - "\n", - "Custom tests can take parameters just like any other function. To demonstrate, let's modify the `confusion_matrix` function to take an additional parameter `normalize` that will allow you to normalize the confusion matrix:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@vm.test(\"my_custom_tests.ConfusionMatrix\")\n", - "def confusion_matrix(dataset, model, normalize=False):\n", - " \"\"\"The confusion matrix is a table that is often used to describe the performance of a classification model on a set of data for which the true values are known.\n", - "\n", - " The confusion matrix is a 2x2 table that contains 4 values:\n", - "\n", - " - True Positive (TP): the number of correct positive predictions\n", - " - True Negative (TN): the number of correct negative predictions\n", - " - False Positive (FP): the number of incorrect positive predictions\n", - " - False Negative (FN): the number of incorrect negative predictions\n", - "\n", - " The confusion matrix can be used to assess the holistic performance of a classification model by showing the accuracy, precision, recall, and F1 score of the model on a single figure.\n", - " \"\"\"\n", - " y_true = dataset.y\n", - " y_pred = dataset.y_pred(model=model)\n", - "\n", - " if normalize:\n", - " confusion_matrix = metrics.confusion_matrix(y_true, y_pred, normalize=\"all\")\n", - " else:\n", - " confusion_matrix = metrics.confusion_matrix(y_true, y_pred)\n", - "\n", - " cm_display = metrics.ConfusionMatrixDisplay(\n", - " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", - " )\n", - " cm_display.plot()\n", - "\n", - " plt.close() # close the plot to avoid displaying it\n", - "\n", - " return cm_display.figure_ # return the figure object itself" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Pass parameters to custom tests\n", - "\n", - "You can pass parameters to custom tests by providing a dictionary of parameters to the `run_test()` function.\n", - "\n", - "- The parameters will override any default parameters set in the custom test definition. Note that `dataset` and `model` are still passed as `inputs`.\n", - "- Since these are `VMDataset` or `VMModel` inputs, they have a special meaning.\n", - "\n", - "Re-running and logging the custom confusion matrix with `normalize=True` for both models and our testing dataset looks like this:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Champion with test dataset and normalize=True\n", - "vm.tests.run_test(\n", - " test_id=\"my_custom_tests.ConfusionMatrix:test_normalized_champion\",\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds],\n", - " \"model\" : [vm_log_model]\n", - " },\n", - " params={\"normalize\": True}\n", - ").log()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Challenger with test dataset and normalize=True\n", - "vm.tests.run_test(\n", - " test_id=\"my_custom_tests.ConfusionMatrix:test_normalized_challenger\",\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds],\n", - " \"model\" : [vm_rf_model]\n", - " },\n", - " params={\"normalize\": True}\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Use external test providers\n", - "\n", - "Sometimes you may want to reuse the same set of custom tests across multiple models and share them with others in your organization, like the model development team would have done with you in this example workflow featured in this series of notebooks. In this case, you can create an external custom *test provider* that will allow you to load custom tests from a local folder or a Git repository.\n", - "\n", - "In this section you will learn how to declare a local filesystem test provider that allows loading tests from a local folder following these high level steps:\n", - "\n", - "1. Create a folder of custom tests from existing inline tests (tests that exist in your active Jupyter Notebook)\n", - "2. Save an inline test to a file\n", - "3. Define and register a [`LocalTestProvider`](https://docs.validmind.ai/validmind/validmind/tests.html#LocalTestProvider) that points to that folder\n", - "4. Run test provider tests\n", - "5. Add the test results to your documentation" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Create custom tests folder\n", - "\n", - "Let's start by creating a new folder that will contain reusable custom tests from your existing inline tests.\n", - "\n", - "The following code snippet will create a new `my_tests` directory in the current working directory if it doesn't exist:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tests_folder = \"my_tests\"\n", - "\n", - "import os\n", - "\n", - "# create tests folder\n", - "os.makedirs(tests_folder, exist_ok=True)\n", - "\n", - "# remove existing tests\n", - "for f in os.listdir(tests_folder):\n", - " # remove files and pycache\n", - " if f.endswith(\".py\") or f == \"__pycache__\":\n", - " os.system(f\"rm -rf {tests_folder}/{f}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After running the command above, confirm that a new `my_tests` directory was created successfully. For example:\n", - "\n", - "```\n", - "~/notebooks/tutorials/model_validation/my_tests/\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Save an inline test\n", - "\n", - "The `@vm.test` decorator we used in **Implement a custom inline test** above to register one-off custom tests also includes a convenience method on the function object that allows you to simply call `.save()` to save the test to a Python file at a specified path.\n", - "\n", - "While `save()` will get you started by creating the file and saving the function code with the correct name, it won't automatically include any imports, or other functions or variables, outside of the functions that are needed for the test to run. To solve this, pass in an optional `imports` argument ensuring necessary imports are added to the file.\n", - "\n", - "The `confusion_matrix` test requires the following additional imports:\n", - "\n", - "```python\n", - "import matplotlib.pyplot as plt\n", - "from sklearn import metrics\n", - "```\n", - "\n", - "Let's pass these imports to the `save()` method to ensure they are included in the file with the following command:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "confusion_matrix.save(\n", - " # Save it to the custom tests folder we created\n", - " tests_folder,\n", - " imports=[\"import matplotlib.pyplot as plt\", \"from sklearn import metrics\"],\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "- [x] Confirm that the `save()` method saved the `confusion_matrix` function to a file named `ConfusionMatrix.py` in the `my_tests` folder.\n", - "- [x] Note that the new file provides some context on the origin of the test, which is useful for traceability:\n", - "\n", - " ```\n", - " # Saved from __main__.confusion_matrix\n", - " # Original Test ID: my_custom_tests.ConfusionMatrix\n", - " # New Test ID: .ConfusionMatrix\n", - " ```\n", - "\n", - "- [x] Additionally, the new test function has been stripped off its decorator, as it now resides in a file that will be loaded by the test provider:\n", - "\n", - " ```python\n", - " def ConfusionMatrix(dataset, model, normalize=False):\n", - " ```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Register a local test provider\n", - "\n", - "Now that your `my_tests` folder has a sample custom test, let's initialize a test provider that will tell the ValidMind Library where to find your custom tests:\n", - "\n", - "- ValidMind offers out-of-the-box test providers for local tests (tests in a folder) or a Github provider for tests in a Github repository.\n", - "- You can also create your own test provider by creating a class that has a [`load_test` method](https://docs.validmind.ai/validmind/validmind/tests.html#load_test) that takes a test ID and returns the test function matching that ID.\n", - "\n", - "
Want to learn more about test providers?\n", - "

\n", - "An extended introduction to test providers can be found in: Integrate external test providers
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "##### Initialize a local test provider\n", - "\n", - "For most use cases, using a `LocalTestProvider` that allows you to load custom tests from a designated directory should be sufficient.\n", - "\n", - "**The most important attribute for a test provider is its `namespace`.** This is a string that will be used to prefix test IDs in model documentation. This allows you to have multiple test providers with tests that can even share the same ID, but are distinguished by their namespace.\n", - "\n", - "Let's go ahead and load the custom tests from our `my_tests` directory:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from validmind.tests import LocalTestProvider\n", - "\n", - "# initialize the test provider with the tests folder we created earlier\n", - "my_test_provider = LocalTestProvider(tests_folder)\n", - "\n", - "vm.tests.register_test_provider(\n", - " namespace=\"my_test_provider\",\n", - " test_provider=my_test_provider,\n", - ")\n", - "# `my_test_provider.load_test()` will be called for any test ID that starts with `my_test_provider`\n", - "# e.g. `my_test_provider.ConfusionMatrix` will look for a function named `ConfusionMatrix` in `my_tests/ConfusionMatrix.py` file" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "##### Run test provider tests\n", - "\n", - "Now that we've set up the test provider, we can run any test that's located in the tests folder by using the `run_test()` method as with any other test:\n", - "\n", - "- For tests that reside in a test provider directory, the test ID will be the `namespace` specified when registering the provider, followed by the path to the test file relative to the tests folder.\n", - "- For example, the Confusion Matrix test we created earlier will have the test ID `my_test_provider.ConfusionMatrix`. You could organize the tests in subfolders, say `classification` and `regression`, and the test ID for the Confusion Matrix test would then be `my_test_provider.classification.ConfusionMatrix`.\n", - "\n", - "Let's go ahead and re-run the confusion matrix test with our testing dataset for our two models by using the test ID `my_test_provider.ConfusionMatrix`. This should load the test from the test provider and run it as before." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Champion with test dataset and test provider custom test\n", - "vm.tests.run_test(\n", - " test_id=\"my_test_provider.ConfusionMatrix:champion\",\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds],\n", - " \"model\" : [vm_log_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Challenger with test dataset and test provider custom test\n", - "vm.tests.run_test(\n", - " test_id=\"my_test_provider.ConfusionMatrix:challenger\",\n", - " input_grid={\n", - " \"dataset\": [vm_test_ds],\n", - " \"model\" : [vm_rf_model]\n", - " }\n", - ").log()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Verify test runs\n", - "\n", - "Our final task is to verify that all the tests provided by the model development team were run and reported accurately. Note the appended `result_ids` to delineate which dataset we ran the test with for the relevant tests.\n", - "\n", - "Here, we'll specify all the tests we'd like to independently rerun in a dictionary called `test_config`. **Note here that `inputs` and `input_grid` expect the `input_id` of the dataset or model as the value rather than the variable name we specified**:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "test_config = {\n", - " # Run with the raw dataset\n", - " 'validmind.data_validation.DatasetDescription:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'}\n", - " },\n", - " 'validmind.data_validation.DescriptiveStatistics:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'}\n", - " },\n", - " 'validmind.data_validation.MissingValues:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'min_percentage_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.ClassImbalance:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'min_percent_threshold': 10}\n", - " },\n", - " 'validmind.data_validation.Duplicates:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'min_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.HighCardinality:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {\n", - " 'num_threshold': 100,\n", - " 'percent_threshold': 0.1,\n", - " 'threshold_type': 'percent'\n", - " }\n", - " },\n", - " 'validmind.data_validation.Skewness:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'max_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.UniqueRows:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'min_percent_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.TooManyZeroValues:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'max_percent_threshold': 0.03}\n", - " },\n", - " 'validmind.data_validation.IQROutliersTable:raw_data': {\n", - " 'inputs': {'dataset': 'raw_dataset'},\n", - " 'params': {'threshold': 5}\n", - " },\n", - " # Run with the preprocessed dataset\n", - " 'validmind.data_validation.DescriptiveStatistics:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", - " },\n", - " 'validmind.data_validation.TabularDescriptionTables:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", - " },\n", - " 'validmind.data_validation.MissingValues:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'},\n", - " 'params': {'min_percentage_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.TabularNumericalHistograms:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", - " },\n", - " 'validmind.data_validation.TabularCategoricalBarPlots:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", - " },\n", - " 'validmind.data_validation.TargetRateBarPlots:preprocessed_data': {\n", - " 'inputs': {'dataset': 'raw_dataset_preprocessed'},\n", - " 'params': {'default_column': 'loan_status'}\n", - " },\n", - " # Run with the training and test datasets\n", - " 'validmind.data_validation.DescriptiveStatistics:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", - " },\n", - " 'validmind.data_validation.TabularDescriptionTables:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", - " },\n", - " 'validmind.data_validation.ClassImbalance:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", - " 'params': {'min_percent_threshold': 10}\n", - " },\n", - " 'validmind.data_validation.UniqueRows:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", - " 'params': {'min_percent_threshold': 1}\n", - " },\n", - " 'validmind.data_validation.TabularNumericalHistograms:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", - " },\n", - " 'validmind.data_validation.MutualInformation:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", - " 'params': {'min_threshold': 0.01}\n", - " },\n", - " 'validmind.data_validation.PearsonCorrelationMatrix:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", - " },\n", - " 'validmind.data_validation.HighPearsonCorrelation:development_data': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", - " 'params': {'max_threshold': 0.3, 'top_n_correlations': 10}\n", - " },\n", - " 'validmind.model_validation.ModelMetadata': {\n", - " 'input_grid': {'model': ['log_model_champion', 'rf_model']}\n", - " },\n", - " 'validmind.model_validation.sklearn.ModelParameters': {\n", - " 'input_grid': {'model': ['log_model_champion', 'rf_model']}\n", - " },\n", - " 'validmind.model_validation.sklearn.ROCCurve': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final'], 'model': ['log_model_champion']}\n", - " },\n", - " 'validmind.model_validation.sklearn.MinimumROCAUCScore': {\n", - " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final'], 'model': ['log_model_champion']},\n", - " 'params': {'min_threshold': 0.5}\n", - " }\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Then batch run and log our tests in `test_config`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for t in test_config:\n", - " print(t)\n", - " try:\n", - " # Check if test has input_grid\n", - " if 'input_grid' in test_config[t]:\n", - " # For tests with input_grid, pass the input_grid configuration\n", - " if 'params' in test_config[t]:\n", - " vm.tests.run_test(t, input_grid=test_config[t]['input_grid'], params=test_config[t]['params']).log()\n", - " else:\n", - " vm.tests.run_test(t, input_grid=test_config[t]['input_grid']).log()\n", - " else:\n", - " # Original logic for regular inputs\n", - " if 'params' in test_config[t]:\n", - " vm.tests.run_test(t, inputs=test_config[t]['inputs'], params=test_config[t]['params']).log()\n", - " else:\n", - " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", - " except Exception as e:\n", - " print(f\"Error running test {t}: {str(e)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## In summary\n", - "\n", - "In this final notebook, you learned how to:\n", - "\n", - "- [x] Implement a custom inline test\n", - "- [x] Run and log your custom inline tests\n", - "- [x] Use external custom test providers\n", - "- [x] Run and log tests from your custom test providers\n", - "- [x] Re-run tests provided by your model development team to verify that they were run and reported accurately\n", - "\n", - "With our ValidMind for model validation series of notebooks, you learned how to validate a model end-to-end with the ValidMind Library by running through some common scenarios in a typical model validation setting:\n", - "\n", - "- Verifying the data quality steps performed by the model development team\n", - "- Independently replicating the champion model's results and conducting additional tests to assess performance, stability, and robustness\n", - "- Setting up test inputs and a challenger model for comparative analysis\n", - "- Running validation tests, analyzing results, and logging artifacts to ValidMind" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "## Next steps" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Work with your validation report\n", - "\n", - "Now that you've logged all your test results and verified the work done by the model development team, head to the ValidMind Platform to wrap up your validation report. Continue to work on your validation report by:\n", - "\n", - "- **Inserting additional test results:** Click **Link Evidence to Report** under any section of 2. Validation in your validation report. (Learn more: [Link evidence to reports](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#link-evidence-to-reports))\n", - "\n", - "- **Making qualitative edits to your test descriptions:** Expand any linked evidence under Validator Evidence and click **See evidence details** to review and edit the ValidMind-generated test descriptions for quality and accuracy. (Learn more: [Preparing validation reports](https://docs.validmind.ai/guide/model-validation/preparing-validation-reports.html#get-started))\n", - "\n", - "- **Adding more findings:** Click **Link Finding to Report** in any validation report section, then click **+ Create New Finding**. (Learn more: [Add and manage model findings](https://docs.validmind.ai/guide/model-validation/add-manage-model-findings.html))\n", - "\n", - "- **Adding risk assessment notes:** Click under **Risk Assessment Notes** in any validation report section to access the text editor and content editing toolbar, including an option to generate a draft with AI. Once generated, edit your ValidMind-generated test descriptions to adhere to your organization's requirements. (Learn more: [Work with content blocks](https://docs.validmind.ai/guide/model-documentation/work-with-content-blocks.html#content-editing-toolbar))\n", - "\n", - "- **Assessing compliance:** Under the Guideline for any validation report section, click **ASSESSMENT** and select the compliance status from the drop-down menu. (Learn more: [Assign compliance assessments](https://docs.validmind.ai/guide/model-validation/assess-compliance.html#assign-compliance-assessments))\n", - "\n", - "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including model developers. Propose suggested changes in the model documentation, work with versioned history, and use comments to discuss specific portions of the model documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/model-documentation/collaborate-with-others.html))\n", - "\n", - "When your validation report is complete and ready for review, submit it for approval from the same ValidMind Platform where you made your edits and collaborated with the rest of your organization, ensuring transparency and a thorough model validation history. (Learn more: [Submit for approval](https://docs.validmind.ai/guide/model-documentation/submit-for-approval.html))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "### Learn more\n", - "\n", - "Now that you're familiar with the basics, you can explore the following notebooks to get a deeper understanding on how the ValidMind Library assists you in streamlining model validation:" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Use cases\n", - "\n", - "- [Validate an application scorecard model](../../use_cases/model_validation/validate_application_scorecard.ipynb)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "#### Discover more learning resources\n", - "\n", - "Learn more about the ValidMind Library tools we used in this notebook:\n", - "\n", - "- [Explore tests](../../how_to/tests/explore_tests/explore_tests.ipynb)\n", - "- [Run dataset-based tests](../../how_to/tests/run_tests/1_run_dataset_based_tests.ipynb)\n", - "- [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb)\n", - "- [Integrate external test providers](../../how_to/tests/custom_tests/integrate_external_test_providers.ipynb)\n", - "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", - "\n", - "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", - "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", - "\n", - "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." - ] - }, - { - "cell_type": "markdown", - "id": "copyright-8028ef6a3da9409a8eab5aa0cf246c57", - "metadata": {}, - "source": [ - "\n", - "\n", - "\n", - "\n", - "***\n", - "\n", - "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", - "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", - "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ValidMind Library", - "language": "python", - "name": "validmind" - }, - "language_info": { - "name": "python", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/site/notebooks/tutorials/model_validation/1-set_up_validmind_for_validation.ipynb b/site/notebooks/tutorials/validation/1-set_up_validmind_for_validation.ipynb similarity index 81% rename from site/notebooks/tutorials/model_validation/1-set_up_validmind_for_validation.ipynb rename to site/notebooks/tutorials/validation/1-set_up_validmind_for_validation.ipynb index 05ad11c2c..6f8d378ce 100644 --- a/site/notebooks/tutorials/model_validation/1-set_up_validmind_for_validation.ipynb +++ b/site/notebooks/tutorials/validation/1-set_up_validmind_for_validation.ipynb @@ -5,11 +5,11 @@ "id": "821a881e", "metadata": {}, "source": [ - "# ValidMind for model validation 1 — Set up the ValidMind Library for validation\n", + "# ValidMind for validation 1 — Set up the ValidMind Library for validation\n", "\n", - "Learn how to use ValidMind for your end-to-end model validation process based on common scenarios with our series of four introductory notebooks. In this first notebook, set up the ValidMind Library in preparation for validating a champion model.\n", + "Learn how to use ValidMind for your end-to-end validation process based on common scenarios with our series of four introductory notebooks. In this first notebook, set up the ValidMind Library in preparation for validating a champion.\n", "\n", - "These notebooks use a binary classification model as an example, but the same principles shown here apply to other model types.\n", + "These notebooks use a binary classification model as an example, but the same principles shown here apply to other record (model) types.\n", "\n", "
Learn by doing\n", "

\n", @@ -43,7 +43,7 @@ "- [Upgrade ValidMind](#toc5__) \n", "- [In summary](#toc6__) \n", "- [Next steps](#toc7__) \n", - " - [Start the model validation process](#toc7_1__) \n", + " - [Start the validation process](#toc7_1__) \n", "\n", ":::\n", "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Prerequisites\n", + "\n", + "In order to independently assess the quality of your datasets with notebook, you'll need to first have:\n", + "\n", + "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", + "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", + "\n", + "
Need help with the above steps?\n", + "

\n", + "Refer to the first notebook in this series: 1 — Set up the ValidMind Library for validation
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Setting up" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind Library\n", + "\n", + "First, let's connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", + "\n", + "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", + "\n", + "2. Click **Copy snippet to clipboard**.\n", + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Make sure the ValidMind Library is installed\n", + "\n", + "%pip install -q validmind\n", + "\n", + "# Load your model identifier credentials from an `.env` file\n", + "\n", + "%load_ext dotenv\n", + "%dotenv .env\n", + "\n", + "# Or replace with your code snippet\n", + "\n", + "import validmind as vm\n", + "\n", + "vm.init(\n", + " # api_host=\"...\",\n", + " # api_key=\"...\",\n", + " # api_secret=\"...\",\n", + " # model=\"...\",\n", + " document=\"validation-report\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Load the sample dataset\n", + "\n", + "Let's first import the public [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset from Kaggle, which was used to develop the dummy champion.\n", + "\n", + "We'll use this dataset to review steps that should have been conducted during the initial development and documentation of the champion to ensure that the model was built correctly. By independently performing steps taken by the development team, we can confirm whether the model was built using appropriate and properly processed data.\n", + "\n", + "In our below example, note that:\n", + "\n", + "- The target column, `Exited` has a value of `1` when a customer has churned and `0` otherwise.\n", + "- The ValidMind Library provides a wrapper to automatically load the dataset as a [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) object. A Pandas Dataframe is a two-dimensional tabular data structure that makes use of rows and columns." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from validmind.datasets.classification import customer_churn as demo_dataset\n", + "\n", + "print(\n", + " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", + ")\n", + "\n", + "raw_df = demo_dataset.load_data()\n", + "raw_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Verifying data quality adjustments\n", + "\n", + "Let's say that thanks to the documentation submitted by the development team (**Learn more:** [ValidMind for development](https://docs.validmind.ai/developer/validmind-library.html#development)), we know that the sample dataset was first modified before being used to train the champion. After performing some data quality assessments on the raw dataset, it was determined that the dataset required rebalancing, and highly correlated features were also removed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Identify qualitative tests\n", + "\n", + "During validation, we use the same data processing logic and training procedure to confirm that the model's results can be reproduced independently, so let's start by doing some data quality assessments by running a few individual tests just like the development team did.\n", + "\n", + "Use the [`vm.tests.list_tests()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) introduced by the first notebook in this series in combination with [`vm.tests.list_tags()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tags) and [`vm.tests.list_tasks()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tasks) to find which prebuilt tests are relevant for data quality assessment:\n", + "\n", + "- **`tasks`** represent the kind of modeling task associated with a test. Here we'll focus on `classification` tasks.\n", + "- **`tags`** are free-form descriptions providing more details about the test, for example, what category the test falls into. Here we'll focus on the `data_quality` tag." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Get the list of available task types\n", + "sorted(vm.tests.list_tasks())" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Get the list of available tags\n", + "sorted(vm.tests.list_tags())" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can pass `tags` and `tasks` as parameters to the `vm.tests.list_tests()` function to filter the tests based on the tags and task types.\n", + "\n", + "For example, to find tests related to tabular data quality for classification models, you can call `list_tests()` like this:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.list_tests(task=\"classification\", tags=[\"tabular_data\", \"data_quality\"])" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Want to learn more about navigating ValidMind tests?\n", + "

\n", + "Refer to our notebook outlining the utilities available for viewing and understanding available ValidMind tests: Explore tests
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind dataset\n", + "\n", + "With the individual tests we want to run identified, the next step is to connect your data with a ValidMind `Dataset` object. **This step is always necessary every time you want to connect a dataset to documentation and produce test results through ValidMind,** but you only need to do it once per dataset.\n", + "\n", + "Initialize a ValidMind dataset object using the [`init_dataset` function](https://docs.validmind.ai/validmind/validmind.html#init_dataset) from the ValidMind (`vm`) module. For this example, we'll pass in the following arguments:\n", + "\n", + "- **`dataset`** — The raw dataset that you want to provide as input to tests.\n", + "- **`input_id`** — A unique identifier that allows tracking what inputs are used when running each individual test.\n", + "- **`target_column`** — A required argument if tests require access to true values. This is the name of the target column in the dataset." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# vm_raw_dataset is now a VMDataset object that you can pass to any ValidMind test\n", + "vm_raw_dataset = vm.init_dataset(\n", + " dataset=raw_df,\n", + " input_id=\"raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Run data quality tests\n", + "\n", + "Now that we know how to initialize a ValidMind `dataset` object, we're ready to run some tests!\n", + "\n", + "You run individual tests by calling [the `run_test` function](https://docs.validmind.ai/validmind/validmind/tests.html#run_test) provided by the `validmind.tests` module. For the examples below, we'll pass in the following arguments:\n", + "\n", + "- **`test_id`** — The ID of the test to run, as seen in the `ID` column when you run `list_tests`. \n", + "- **`params`** — A dictionary of parameters for the test. These will override any `default_params` set in the test definition. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Run tabular data tests\n", + "\n", + "The inputs expected by a test can also be found in the test definition — let's take [`validmind.data_validation.DescriptiveStatistics`](https://docs.validmind.ai/tests/data_validation/DescriptiveStatistics.html) as an example.\n", + "\n", + "Note that the output of the [`describe_test()` function](https://docs.validmind.ai/validmind/validmind/tests.html#describe_test) below shows that this test expects a `dataset` as input:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.describe_test(\"validmind.data_validation.DescriptiveStatistics\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let's run a few tests to assess the quality of the dataset:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "result2 = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.ClassImbalance\",\n", + " inputs={\"dataset\": vm_raw_dataset},\n", + " params={\"min_percent_threshold\": 30},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output above shows that [the class imbalance test](https://docs.validmind.ai/tests/data_validation/ClassImbalance.html) did not pass according to the value we set for `min_percent_threshold` — great, this matches what was reported by the development team.\n", + "\n", + "To address this issue, we'll re-run the test on some processed data. In this case let's apply a very simple rebalancing technique to the dataset:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "import pandas as pd\n", + "\n", + "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", + "\n", + "# Create a balanced dataset with the same number of exited and not exited customers\n", + "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", + "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", + "\n", + "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", + "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With this new balanced dataset, you can re-run the individual test to see if it now passes the class imbalance test requirement.\n", + "\n", + "As this is technically a different dataset, **remember to first initialize a new ValidMind `Dataset` object** to pass in as input as required by `run_test()`:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", + "vm_balanced_raw_dataset = vm.init_dataset(\n", + " dataset=balanced_raw_df,\n", + " input_id=\"balanced_raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Pass the initialized `balanced_raw_dataset` as input into the test run\n", + "result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.ClassImbalance\",\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + " params={\"min_percent_threshold\": 30},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Remove highly correlated features\n", + "\n", + "Next, let's also remove highly correlated features from our dataset as outlined by the development team. Removing highly correlated features helps make the model simpler, more stable, and easier to understand.\n", + "\n", + "You can utilize the output from a ValidMind test for further use — in this below example, to retrieve the list of features with the highest correlation coefficients and use them to reduce the final list of features for modeling.\n", + "\n", + "First, we'll run [`validmind.data_validation.HighPearsonCorrelation`](https://docs.validmind.ai/tests/data_validation/HighPearsonCorrelation.html) with the `balanced_raw_dataset` we initialized previously as input as is for comparison with later runs:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output above shows that the test did not pass according to the value we set for `max_threshold` — as reported and expected.\n", + "\n", + "`corr_result` is an object of type `TestResult`. We can inspect the result object to see what the test has produced:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "print(type(corr_result))\n", + "print(\"Result ID: \", corr_result.result_id)\n", + "print(\"Params: \", corr_result.params)\n", + "print(\"Passed: \", corr_result.passed)\n", + "print(\"Tables: \", corr_result.tables)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's remove the highly correlated features and create a new VM `dataset` object.\n", + "\n", + "We'll begin by checking out the table in the result and extracting a list of features that failed the test:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract table from `corr_result.tables`\n", + "features_df = corr_result.tables[0].data\n", + "features_df" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract list of features that failed the test\n", + "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, extract the feature names from the list of strings (example: `(Age, Exited)` > `Age`):" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, it's time to re-initialize the dataset with the highly correlated features removed.\n", + "\n", + "**Note the use of a different `input_id`.** This allows tracking the inputs used when running each individual test." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Remove the highly correlated features from the dataset\n", + "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", + "\n", + "# Re-initialize the dataset object\n", + "vm_raw_dataset_preprocessed = vm.init_dataset(\n", + " dataset=balanced_raw_no_age_df,\n", + " input_id=\"raw_dataset_preprocessed\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Re-running the test with the reduced feature set should pass the test:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also plot the correlation matrix to visualize the new correlation between features:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.PearsonCorrelationMatrix\",\n", + " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Documenting test results\n", + "\n", + "Now that we've done some analysis on two different datasets, we can use ValidMind to easily document why certain things were done to our raw data with testing to support it. Every test result returned by the `run_test()` function has a `.log()` method that can be used to send the test results to the ValidMind Platform.\n", + "\n", + "When logging validation test results to the platform, you'll need to manually add those results to the desired section of the validation report. To demonstrate how to add test results to your validation report, we'll log our data quality tests and insert the results via the ValidMind Platform." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Configure and run comparison tests\n", + "\n", + "Below, we'll perform comparison tests between the original raw dataset (`raw_dataset`) and the final preprocessed (`raw_dataset_preprocessed`) dataset, again logging the results to the ValidMind Platform. \n", + "\n", + "We can specify all the tests we'd ike to run in a dictionary called `test_config`, and we'll pass in the following arguments for each test:\n", + "\n", + " - **`params`:** Individual test parameters.\n", + " - **`input_grid`:** Individual test inputs to compare. In this case, we'll input our two datasets for comparison.\n", + "\n", + "**Note here that the `input_grid` expects the `input_id` of the dataset as the value rather than the variable name we specified:**" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Individual test config with inputs specified\n", + "test_config = {\n", + " \"validmind.data_validation.ClassImbalance\": {\n", + " \"input_grid\": {\"dataset\": [\"raw_dataset\", \"raw_dataset_preprocessed\"]},\n", + " \"params\": {\"min_percent_threshold\": 30}\n", + " },\n", + " \"validmind.data_validation.HighPearsonCorrelation\": {\n", + " \"input_grid\": {\"dataset\": [\"raw_dataset\", \"raw_dataset_preprocessed\"]},\n", + " \"params\": {\"max_threshold\": 0.3}\n", + " },\n", + "}" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then batch run and log our tests in `test_config`:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "for t in test_config:\n", + " print(t)\n", + " try:\n", + " # Check if test has input_grid\n", + " if 'input_grid' in test_config[t]:\n", + " # For tests with input_grid, pass the input_grid configuration\n", + " if 'params' in test_config[t]:\n", + " vm.tests.run_test(t, input_grid=test_config[t]['input_grid'], params=test_config[t]['params']).log()\n", + " else:\n", + " vm.tests.run_test(t, input_grid=test_config[t]['input_grid']).log()\n", + " else:\n", + " # Original logic for regular inputs\n", + " if 'params' in test_config[t]:\n", + " vm.tests.run_test(t, inputs=test_config[t]['inputs'], params=test_config[t]['params']).log()\n", + " else:\n", + " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", + " except Exception as e:\n", + " print(f\"Error running test {t}: {str(e)}\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for some test IDs. \n", + "

\n", + "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Log tests with unique identifiers\n", + "\n", + "Next, we'll use the previously initialized `vm_balanced_raw_dataset` (that still has a highly correlated `Age` column) as input to run an individual test, then log the result to the ValidMind Platform.\n", + "\n", + "When running individual tests, **you can use a custom `result_id` to tag the individual result with a unique identifier:**\n", + "\n", + "- This `result_id` can be appended to `test_id` with a `:` separator.\n", + "- The `balanced_raw_dataset` result identifier will correspond to the `balanced_raw_dataset` input, the dataset that still has the `Age` column." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation:balanced_raw_dataset\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + ")\n", + "result.log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Add test results to reporting\n", + "\n", + "With some test results logged, let's head to the model we connected to at the beginning of this notebook and learn how to insert a test result into our validation report. (**Learn more:** [Assess compliance](https://docs.validmind.ai/guide/validation/assess-compliance.html#link-validator-evidence))\n", + "\n", + "While the example below focuses on a specific test result, you can follow the same general procedure for your other results:\n", + "\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", + "\n", + "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", + "\n", + "3. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section.\n", + "\n", + "4. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**:\n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "5. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** \n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "6. Click **Update Linked Evidence** to add the test results to the validation report.\n", + "\n", + " Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report:\n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "7. Note that these test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset.\n", + "\n", + " Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test:\n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "
Here in this text editor, you can make qualitative edits to the draft that ValidMind generated to finalize the test results.\n", + "

\n", + "Learn more: Work with content blocks
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Preparing the preprocessed dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Split the preprocessed dataset\n", + "\n", + "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing.\n", + "\n", + "To start, let's grab the first few rows from the `balanced_raw_no_age_df` dataset we initialized earlier:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "balanced_raw_no_age_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before training the model, we need to encode the categorical features in the dataset:\n", + "\n", + "- Use the `OneHotEncoder` class from the `sklearn.preprocessing` module to encode the categorical features.\n", + "- The categorical features in the dataset are `Geography` and `Gender`." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "balanced_raw_no_age_df = pd.get_dummies(\n", + " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", + ")\n", + "balanced_raw_no_age_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Splitting our dataset into training and testing is essential for proper validation testing, as this helps assess how well the model generalizes to unseen data:\n", + "\n", + "- We start by dividing our `balanced_raw_no_age_df` dataset into training and test subsets using `train_test_split`, with 80% of the data allocated to training (`train_df`) and 20% to testing (`test_df`).\n", + "- From each subset, we separate the features (all columns except \"Exited\") into `X_train` and `X_test`, and the target column (\"Exited\") into `y_train` and `y_test`." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", + "\n", + "X_train = train_df.drop(\"Exited\", axis=1)\n", + "y_train = train_df[\"Exited\"]\n", + "X_test = test_df.drop(\"Exited\", axis=1)\n", + "y_test = test_df[\"Exited\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the split datasets\n", + "\n", + "Next, let's initialize the training and testing datasets so they are available for use:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm_train_ds = vm.init_dataset(\n", + " input_id=\"train_dataset_final\",\n", + " dataset=train_df,\n", + " target_column=\"Exited\",\n", + ")\n", + "\n", + "vm_test_ds = vm.init_dataset(\n", + " input_id=\"test_dataset_final\",\n", + " dataset=test_df,\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## In summary\n", + "\n", + "In this second notebook, you learned how to:\n", + "\n", + "- [x] Import a sample dataset\n", + "- [x] Identify which tests you might want to run with ValidMind\n", + "- [x] Initialize ValidMind datasets\n", + "- [x] Run individual tests\n", + "- [x] Utilize the output from tests you’ve run\n", + "- [x] Log test results as evidence to the ValidMind Platform\n", + "- [x] Insert test results into your validation report" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Next steps\n", + "\n", + "\n", + "\n", + "### Develop potential challenger models\n", + "\n", + "Now that you're familiar with the basics of using the ValidMind Library, let's use it to develop a challenger model: **[3 — Developing a potential challenger](3-developing_potential_challenger.ipynb)**" + ] + }, + { + "cell_type": "markdown", + "id": "copyright-5715327492f24f8fadeab186aecb10ba", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n", + "\n", + "***\n", + "\n", + "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", + "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", + "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ValidMind Library", + "language": "python", + "name": "validmind" + }, + "language_info": { + "name": "python", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/site/notebooks/tutorials/validation/3-developing_potential_challenger.ipynb b/site/notebooks/tutorials/validation/3-developing_potential_challenger.ipynb new file mode 100644 index 000000000..ca9cb71f6 --- /dev/null +++ b/site/notebooks/tutorials/validation/3-developing_potential_challenger.ipynb @@ -0,0 +1,888 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ValidMind for validation 3 — Developing a potential challenger\n", + "\n", + "Learn how to use ValidMind for your end-to-end validation process with our series of four introductory notebooks. In this third notebook, develop a potential challenger and then pass your challenger and its predictions to ValidMind.\n", + "\n", + "A *challenger* is an alternate record (model) that attempts to outperform the champion, ensuring that the best performing fit-for-purpose record is always considered for deployment. Challengers also help avoid over-reliance on a single record, and allow testing of new features, algorithms, or data sources without disrupting the production lifecycle.\n", + "\n", + "
Learn by doing\n", + "

\n", + "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "::: {.content-hidden when-format=\"html\"}\n", + "## Contents \n", + "- [Prerequisites](#toc1__) \n", + "- [Setting up](#toc2__) \n", + " - [Initialize the ValidMind Library](#toc2_1__) \n", + " - [Import the sample dataset](#toc2_2__) \n", + " - [Preprocess the dataset](#toc2_2_1__) \n", + " - [Split the preprocessed dataset](#toc2_3__) \n", + "- [Import the champion model](#toc3__) \n", + "- [Training a potential challenger model](#toc4__) \n", + " - [Random forest classification model](#toc4_1__) \n", + " - [Initialize the ValidMind models](#toc4_2__) \n", + " - [Assign predictions](#toc4_3__) \n", + "- [Running model evaluation tests](#toc5__) \n", + " - [Run model performance tests](#toc5_1__) \n", + " - [Evaluate performance of the champion model](#toc5_1_1__) \n", + " - [Log an artifact](#toc5_1_2__) \n", + " - [Evaluate performance of challenger model](#toc5_1_3__) \n", + " - [Run diagnostic tests](#toc5_2__) \n", + " - [Run feature importance tests](#toc5_3__) \n", + "- [In summary](#toc6__) \n", + "- [Next steps](#toc7__) \n", + " - [Finalize validation and reporting](#toc7_1__) \n", + "\n", + ":::\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Prerequisites\n", + "\n", + "In order to develop potential challengers with this notebook, you'll need to first have:\n", + "\n", + "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", + "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", + "- [x] Learned how to import and initialize datasets for use with ValidMind\n", + "- [x] Understood the basics of how to run and log tests with ValidMind\n", + "- [x] Run data quality tests on the datasets used to train the champion, and logged the results of those tests to ValidMind\n", + "- [x] Inserted your logged test results into your validation report\n", + "\n", + "
Need help with the above steps?\n", + "

\n", + "Refer to the first two notebooks in this series:\n", + "\n", + "- 1 — Set up the ValidMind Library for validation\n", + "- 2 — Start the validation process\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Setting up\n", + "\n", + "This section should be quite familiar to you — as we performed the same actions in the previous notebook, **[2 — Start the validation process](2-start_validation_process.ipynb)**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind Library\n", + "\n", + "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", + "\n", + "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", + "\n", + "2. Click **Copy snippet to clipboard**.\n", + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Make sure the ValidMind Library is installed\n", + "\n", + "%pip install -q validmind\n", + "\n", + "# Load your model identifier credentials from an `.env` file\n", + "\n", + "%load_ext dotenv\n", + "%dotenv .env\n", + "\n", + "# Or replace with your code snippet\n", + "\n", + "import validmind as vm\n", + "\n", + "vm.init(\n", + " # api_host=\"...\",\n", + " # api_key=\"...\",\n", + " # api_secret=\"...\",\n", + " # model=\"...\",\n", + " document=\"validation-report\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Import the sample dataset\n", + "\n", + "Next, we'll load in the sample [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset used to develop the champion that we will independently preprocess:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Load the sample dataset\n", + "from validmind.datasets.classification import customer_churn as demo_dataset\n", + "\n", + "print(\n", + " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", + ")\n", + "\n", + "raw_df = demo_dataset.load_data()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Preprocess the dataset\n", + "\n", + "We’ll apply a simple rebalancing technique to the dataset before continuing:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "import pandas as pd\n", + "\n", + "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", + "\n", + "# Create a balanced dataset with the same number of exited and not exited customers\n", + "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", + "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", + "\n", + "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", + "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s also quickly remove highly correlated features from the dataset using the output from a ValidMind test.\n", + "\n", + "As you know, before we can run tests you’ll need to initialize a ValidMind dataset object with the [`init_dataset` function](https://docs.validmind.ai/validmind/validmind.html#init_dataset):" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", + "vm_balanced_raw_dataset = vm.init_dataset(\n", + " dataset=balanced_raw_df,\n", + " input_id=\"balanced_raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With our balanced dataset initialized, we can then run our test and utilize the output to help us identify the features we want to remove:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# From result object, extract table from `corr_result.tables`\n", + "features_df = corr_result.tables[0].data\n", + "features_df" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract list of features that failed the test\n", + "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract feature names from the list of strings\n", + "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can then re-initialize the dataset with a different `input_id` and the highly correlated features removed and re-run the test for confirmation:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Remove the highly correlated features from the dataset\n", + "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", + "\n", + "# Re-initialize the dataset object\n", + "vm_raw_dataset_preprocessed = vm.init_dataset(\n", + " dataset=balanced_raw_no_age_df,\n", + " input_id=\"raw_dataset_preprocessed\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Re-run the test with the reduced feature set\n", + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Split the preprocessed dataset\n", + "\n", + "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Encode categorical features in the dataset\n", + "balanced_raw_no_age_df = pd.get_dummies(\n", + " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", + ")\n", + "balanced_raw_no_age_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Split the dataset into train and test\n", + "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", + "\n", + "X_train = train_df.drop(\"Exited\", axis=1)\n", + "y_train = train_df[\"Exited\"]\n", + "X_test = test_df.drop(\"Exited\", axis=1)\n", + "y_test = test_df[\"Exited\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the split datasets\n", + "vm_train_ds = vm.init_dataset(\n", + " input_id=\"train_dataset_final\",\n", + " dataset=train_df,\n", + " target_column=\"Exited\",\n", + ")\n", + "\n", + "vm_test_ds = vm.init_dataset(\n", + " input_id=\"test_dataset_final\",\n", + " dataset=test_df,\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Import the champion model\n", + "\n", + "With our raw dataset assessed and preprocessed, let's go ahead and import the champion submitted by the development team in the format of a `.pkl` file: **[lr_model_champion.pkl](lr_model_champion.pkl)**" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Import the champion model\n", + "import pickle as pkl\n", + "\n", + "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", + " log_reg = pkl.load(f)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Training a potential challenger model\n", + "\n", + "We're curious how an alternate model compares to our champion, so let's train a challenger as a basis for our testing.\n", + "\n", + "Our champion *logistic regression model* is a simpler, parametric model that assumes a linear relationship between the independent variables and the log-odds of the outcome. While logistic regression may not capture complex patterns as effectively, it offers a high degree of interpretability and is easier to explain to stakeholders. However, risk is not calculated in isolation from a single factor, but rather in consideration with trade-offs in predictive performance, ease of interpretability, and overall alignment with business objectives." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Random forest classification model\n", + "\n", + "A *random forest classification model* is an ensemble machine learning algorithm that uses multiple decision trees to classify data. In ensemble learning, multiple models are combined to improve prediction accuracy and robustness.\n", + "\n", + "Random forest classification models generally have higher accuracy because they capture complex, non-linear relationships, but as a result they lack transparency in their predictions." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Import the Random Forest Classification model\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "\n", + "# Create the model instance with 50 decision trees\n", + "rf_model = RandomForestClassifier(\n", + " n_estimators=50,\n", + " random_state=42,\n", + ")\n", + "\n", + "# Train the model\n", + "rf_model.fit(X_train, y_train)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind models\n", + "\n", + "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our two models.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", + "\n", + "Initialize your model objects with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the champion logistic regression model\n", + "vm_log_model = vm.init_model(\n", + " log_reg,\n", + " input_id=\"log_model_champion\",\n", + ")\n", + "\n", + "# Initialize the challenger random forest classification model\n", + "vm_rf_model = vm.init_model(\n", + " rf_model,\n", + " input_id=\"rf_model\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Assign predictions\n", + "\n", + "With our models registered, we'll move on to assigning both the predictive probabilities coming directly from each model's predictions, and the binary prediction after applying the cutoff threshold described in the Compute binary predictions step above.\n", + "\n", + "- The [`assign_predictions()` method](https://docs.validmind.ai/validmind/validmind/vm_models.html#assign_predictions) from the `Dataset` object can link existing predictions to any number of models.\n", + "- This method links the model's class prediction values and probabilities to our `vm_train_ds` and `vm_test_ds` datasets.\n", + "\n", + "If no prediction values are passed, the method will compute predictions automatically:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Champion — Logistic regression model\n", + "vm_train_ds.assign_predictions(model=vm_log_model)\n", + "vm_test_ds.assign_predictions(model=vm_log_model)\n", + "\n", + "# Challenger — Random forest classification model\n", + "vm_train_ds.assign_predictions(model=vm_rf_model)\n", + "vm_test_ds.assign_predictions(model=vm_rf_model)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Running model evaluation tests\n", + "\n", + "With our setup complete, let's run the rest of our validation tests. Since we have already verified the data quality of the dataset used to train our champion, we will now focus on comprehensive performance evaluations of both the champion and challenger models." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Run model performance tests\n", + "\n", + "Let's run some performance tests, beginning with independent testing of our champion logistic regression model, then moving on to our potential challenger model.\n", + "\n", + "Use [`vm.tests.list_tests()`](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) to identify all the model performance tests for classification:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "\n", + "vm.tests.list_tests(tags=[\"model_performance\"], task=\"classification\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll isolate the specific tests we want to run in `mpt`:\n", + "\n", + "- [`ClassifierPerformance`](https://docs.validmind.ai/tests/model_validation/sklearn/ClassifierPerformance.html)\n", + "- [`ConfusionMatrix`](https://docs.validmind.ai/tests/model_validation/sklearn/ConfusionMatrix.html)\n", + "- [`MinimumAccuracy`](https://docs.validmind.ai/tests/model_validation/sklearn/MinimumAccuracy.html)\n", + "- [`MinimumF1Score`](https://docs.validmind.ai/tests/model_validation/sklearn/MinimumF1Score.html)\n", + "- [`ROCCurve`](https://docs.validmind.ai/tests/model_validation/sklearn/ROCCurve.html)\n", + "\n", + "As we learned in the previous notebook [2 — Start the model validation process](2-start_validation_process.ipynb), you can use a custom `result_id` to tag the individual result with a unique identifier by appending this `result_id` to the `test_id` with a `:` separator. We'll append an identifier for our champion model here:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "mpt = [\n", + " \"validmind.model_validation.sklearn.ClassifierPerformance:logreg_champion\",\n", + " \"validmind.model_validation.sklearn.ConfusionMatrix:logreg_champion\",\n", + " \"validmind.model_validation.sklearn.MinimumAccuracy:logreg_champion\",\n", + " \"validmind.model_validation.sklearn.MinimumF1Score:logreg_champion\",\n", + " \"validmind.model_validation.sklearn.ROCCurve:logreg_champion\"\n", + "]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Evaluate performance of the champion model\n", + "\n", + "Now, let's run and log our batch of model performance tests using our testing dataset (`vm_test_ds`) for our champion model:\n", + "\n", + "- The test set serves as a proxy for real-world data, providing an unbiased estimate of model performance since it was not used during training or tuning.\n", + "- The test set also acts as protection against selection bias and model tweaking, giving a final, more unbiased checkpoint." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "for test in mpt:\n", + " vm.tests.run_test(\n", + " test,\n", + " inputs={\n", + " \"dataset\": vm_test_ds, \"model\" : vm_log_model,\n", + " },\n", + " ).log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for some test IDs. \n", + "

\n", + "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Log an artifact\n", + "\n", + "As we can observe from the output above, our champion doesn't pass the `MinimumAccuracy` based on the default thresholds of the out-of-the-box test, so let's log an artifact (finding) in the ValidMind Platform (**Learn more:** [Add and manage artifacts](https://docs.validmind.ai/guide/validation/add-manage-artifacts.html)):\n", + "\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", + "\n", + "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", + "\n", + "3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section.\n", + "\n", + "4. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report**:\n", + "\n", + " \"Screenshot\n", + "

\n", + "\n", + "5. Select **Validation Issue** as the type of artifact.\n", + "\n", + "6. Click **+ Add Validation Issue** to add a validation issue type artifact.\n", + "\n", + "76. Enter in the details for your validation issue, for example:\n", + "\n", + " - **TITLE** — Champion Logistic Regression Model Fails Minimum Accuracy Threshold\n", + " - **RISK AREA** — Model Performance\n", + " - **DOCUMENTATION SECTION** — 3.2. Model Evaluation\n", + " - **DESCRIPTION** — The logistic regression champion model was subjected to a Minimum Accuracy test to determine whether its predictive accuracy meets the predefined performance threshold of 0.7. The model achieved an accuracy score of 0.6136, which falls below the required minimum. As a result, the test produced a Fail outcome.\n", + "\n", + "8. Click **Save**.\n", + "\n", + "9. Select the validation issue you just added to link to your validation report and click **Update Linked Artifacts** to insert your validation issue.\n", + "\n", + "10. Click on the validation issue to expand the issue, where you can adjust details such as severity, owner, due date, status, etc. as well as include proposed remediation plans or supporting documentation as attachments." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Evaluate performance of challenger model\n", + "\n", + "We've now conducted similar tests as the development team for our champion, with the aim of verifying their test results.\n", + "\n", + "Next, let's see how our challengers compare. We'll use the same batch of tests here as we did in `mpt`, but append a different `result_id` to indicate that these results should be associated with our challenger:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "mpt_chall = [\n", + " \"validmind.model_validation.sklearn.ClassifierPerformance:champion_vs_challenger\",\n", + " \"validmind.model_validation.sklearn.ConfusionMatrix:champion_vs_challenger\",\n", + " \"validmind.model_validation.sklearn.MinimumAccuracy:champion_vs_challenger\",\n", + " \"validmind.model_validation.sklearn.MinimumF1Score:champion_vs_challenger\",\n", + " \"validmind.model_validation.sklearn.ROCCurve:champion_vs_challenger\"\n", + "]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll run each test once for each model with the same `vm_test_ds` dataset to compare them:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "for test in mpt_chall:\n", + " vm.tests.run_test(\n", + " test,\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", + " }\n", + " ).log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Based on the performance metrics, our challenger random forest classification model passes the MinimumAccuracy where our champion did not.\n", + "

\n", + "In your validation report, support your recommendation in your validation issue's Proposed Remediation Plan to investigate the usage of our challenger by inserting the performance tests we logged with this notebook into the appropriate section.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Run diagnostic tests\n", + "\n", + "Next, we want to inspect the robustness and stability testing comparison between our champion and challenger.\n", + "\n", + "Use `list_tests()` to list all available diagnosis tests applicable to classification tasks:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.list_tests(tags=[\"model_diagnosis\"], task=\"classification\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s now assess the models for potential signs of *overfitting* and identify any sub-segments where performance may inconsistent with the [`OverfitDiagnosis` test](https://docs.validmind.ai/tests/model_validation/sklearn/OverfitDiagnosis.html).\n", + "\n", + "Overfitting occurs when a model learns the training data too well, capturing not only the true pattern but noise and random fluctuations resulting in excellent performance on the training dataset but poor generalization to new, unseen data:\n", + "\n", + "- Since the training dataset (`vm_train_ds`) was used to fit the model, we use this set to establish a baseline performance for how well the model performs on data it has already seen.\n", + "- The testing dataset (`vm_test_ds`) was never seen during training, and here simulates real-world generalization, or how well the model performs on new, unseen data. " + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.run_test(\n", + " test_id=\"validmind.model_validation.sklearn.OverfitDiagnosis:champion_vs_challenger\",\n", + " input_grid={\n", + " \"datasets\": [[vm_train_ds,vm_test_ds]],\n", + " \"model\" : [vm_log_model,vm_rf_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's also conduct *robustness* and *stability* testing of the two models with the [`RobustnessDiagnosis` test](https://docs.validmind.ai/tests/model_validation/sklearn/RobustnessDiagnosis.html). Robustness refers to a model's ability to maintain consistent performance, and stability refers to a model's ability to produce consistent outputs over time across different data subsets.\n", + "\n", + "Again, we'll use both the training and testing datasets to establish baseline performance and to simulate real-world generalization:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "vm.tests.run_test(\n", + " test_id=\"validmind.model_validation.sklearn.RobustnessDiagnosis:Champion_vs_LogRegression\",\n", + " input_grid={\n", + " \"datasets\": [[vm_train_ds,vm_test_ds]],\n", + " \"model\" : [vm_log_model,vm_rf_model]\n", + " },\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Run feature importance tests\n", + "\n", + "We also want to verify the relative influence of different input features on our models' predictions, as well as inspect the differences between our champion and challenger to see if a certain model offers more understandable or logical importance scores for features.\n", + "\n", + "Use `list_tests()` to identify all the feature importance tests for classification:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Store the feature importance tests\n", + "FI = vm.tests.list_tests(tags=[\"feature_importance\"], task=\"classification\",pretty=False)\n", + "FI" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll only use our testing dataset (`vm_test_ds`) here, to provide a realistic, unseen sample that mimic future or production data, as the training dataset has already influenced our model during learning:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Run and log our feature importance tests for both models for the testing dataset\n", + "for test in FI:\n", + " vm.tests.run_test(\n", + " \"\".join((test,':champion_vs_challenger')),\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", + " },\n", + " ).log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## In summary\n", + "\n", + "In this third notebook, you learned how to:\n", + "\n", + "- [x] Initialize ValidMind model objects\n", + "- [x] Assign predictions and probabilities to your ValidMind model objects\n", + "- [x] Use tests from ValidMind to evaluate the potential of models, including comparative tests between champion and challengers\n", + "- [x] Log an artifact in the ValidMind Platform" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Next steps\n", + "\n", + "\n", + "\n", + "### Finalize validation and reporting\n", + "\n", + "Now that you're familiar with the basics of using the ValidMind Library to run and log validation tests, let's learn how to implement some custom tests and wrap up our validation: **[4 — Finalize validation and reporting](4-finalize_validation_reporting.ipynb)**" + ] + }, + { + "cell_type": "markdown", + "id": "copyright-910d55973ae44bb1a1cd609d39ae5ca8", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n", + "\n", + "***\n", + "\n", + "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", + "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", + "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ValidMind Library", + "language": "python", + "name": "validmind" + }, + "language_info": { + "name": "python", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/site/notebooks/tutorials/validation/4-finalize_validation_reporting.ipynb b/site/notebooks/tutorials/validation/4-finalize_validation_reporting.ipynb new file mode 100644 index 000000000..768c569b2 --- /dev/null +++ b/site/notebooks/tutorials/validation/4-finalize_validation_reporting.ipynb @@ -0,0 +1,1235 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ValidMind for validation 4 — Finalize testing and reporting\n", + "\n", + "Learn how to use ValidMind for your end-to-end validation process with our series of four introductory notebooks. In this last notebook, finalize the compliance assessment process and have a complete validation report ready for review.\n", + "\n", + "This notebook will walk you through how to supplement ValidMind tests with your own custom tests and include them as additional evidence in your validation report. A custom test is any function that takes a set of inputs and parameters as arguments and returns one or more outputs:\n", + "\n", + "- The function can be as simple or as complex as you need it to be — it can use external libraries, make API calls, or do anything else that you can do in Python.\n", + "- The only requirement is that the function signature and return values can be \"understood\" and handled by the ValidMind Library. As such, custom tests offer added flexibility by extending the default tests provided by ValidMind, enabling you to document any type of record (model) or use case.\n", + "\n", + "**For a more in-depth introduction to custom tests,** refer to our [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb) notebook.\n", + "\n", + "
Learn by doing\n", + "

\n", + "Our course tailor-made for validators new to ValidMind combines this series of notebooks with more a more in-depth introduction to the ValidMind Platform — Validator Fundamentals
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "::: {.content-hidden when-format=\"html\"}\n", + "## Contents \n", + "- [Prerequisites](#toc1__) \n", + "- [Setting up](#toc2__) \n", + " - [Initialize the ValidMind Library](#toc2_1__) \n", + " - [Import the sample dataset](#toc2_2__) \n", + " - [Split the preprocessed dataset](#toc2_3__) \n", + " - [Import the champion model](#toc2_4__) \n", + " - [Train potential challenger model](#toc2_5__) \n", + " - [Initialize the ValidMind models](#toc2_6__) \n", + "- [Implementing custom tests](#toc3__) \n", + " - [Implement a custom inline test](#toc3_1__) \n", + " - [Create a confusion matrix plot](#toc3_1_1__) \n", + " - [Add parameters to custom tests](#toc3_1_2__) \n", + " - [Pass parameters to custom tests](#toc3_1_3__) \n", + " - [Use external test providers](#toc3_2__) \n", + " - [Create custom tests folder](#toc3_2_1__) \n", + " - [Save an inline test](#toc3_2_2__) \n", + " - [Register a local test provider](#toc3_2_3__) \n", + "- [Verify test runs](#toc4__) \n", + "- [In summary](#toc5__) \n", + "- [Next steps](#toc6__) \n", + " - [Work with your validation report](#toc6_1__) \n", + " - [Learn more](#toc6_2__) \n", + " - [Use cases](#toc6_2_1__) \n", + " - [Discover more learning resources](#toc6_2_2__) \n", + "\n", + ":::\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Prerequisites\n", + "\n", + "In order to finalize validation and reporting, you'll need to first have:\n", + "\n", + "- [x] Registered a model within the ValidMind Platform and granted yourself access to the model as a validator\n", + "- [x] Installed the ValidMind Library in your local environment, allowing you to access all its features\n", + "- [x] Learned how to import and initialize datasets and models for use with ValidMind\n", + "- [x] Understood the basics of how to identify and run validation tests\n", + "- [x] Run validation tests for your champion and challengers, and logged the results of those tests to the ValidMind Platform\n", + "- [x] Inserted your logged test results into your validation report\n", + "- [x] Added some preliminary artifacts (findings) to your validation report\n", + "\n", + "
Need help with the above steps?\n", + "

\n", + "Refer to the first three notebooks in this series:\n", + "\n", + "- 1 — Set up the ValidMind Library for validation\n", + "- 2 — Start the validation process\n", + "- 3 — Developing a potential challenger\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Setting up\n", + "\n", + "This section should be very familiar to you now — as we performed the same actions in the previous two notebooks in this series." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind Library\n", + "\n", + "As usual, let's first connect up the ValidMind Library to our model we previously registered in the ValidMind Platform:\n", + "\n", + "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", + "\n", + "2. Click **Copy snippet to clipboard**.\n", + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Make sure the ValidMind Library is installed\n", + "\n", + "%pip install -q validmind\n", + "\n", + "# Load your model identifier credentials from an `.env` file\n", + "\n", + "%load_ext dotenv\n", + "%dotenv .env\n", + "\n", + "# Or replace with your code snippet\n", + "\n", + "import validmind as vm\n", + "\n", + "vm.init(\n", + " # api_host=\"...\",\n", + " # api_key=\"...\",\n", + " # api_secret=\"...\",\n", + " # model=\"...\",\n", + " document=\"validation-report\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Import the sample dataset\n", + "\n", + "Next, we'll load in the same sample [Bank Customer Churn Prediction](https://www.kaggle.com/datasets/shantanudhakadd/bank-customer-churn-prediction) dataset used to develop the champion that we will independently preprocess:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Load the sample dataset\n", + "from validmind.datasets.classification import customer_churn as demo_dataset\n", + "\n", + "print(\n", + " f\"Loaded demo dataset with: \\n\\n\\t• Target column: '{demo_dataset.target_column}' \\n\\t• Class labels: {demo_dataset.class_labels}\"\n", + ")\n", + "\n", + "raw_df = demo_dataset.load_data()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the raw dataset for use in ValidMind tests\n", + "vm_raw_dataset = vm.init_dataset(\n", + " dataset=raw_df,\n", + " input_id=\"raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "import pandas as pd\n", + "\n", + "raw_copy_df = raw_df.sample(frac=1) # Create a copy of the raw dataset\n", + "\n", + "# Create a balanced dataset with the same number of exited and not exited customers\n", + "exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 1]\n", + "not_exited_df = raw_copy_df.loc[raw_copy_df[\"Exited\"] == 0].sample(n=exited_df.shape[0])\n", + "\n", + "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", + "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s also quickly remove highly correlated features from the dataset using the output from a ValidMind test:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", + "vm_balanced_raw_dataset = vm.init_dataset(\n", + " dataset=balanced_raw_df,\n", + " input_id=\"balanced_raw_dataset\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_balanced_raw_dataset},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# From result object, extract table from `corr_result.tables`\n", + "features_df = corr_result.tables[0].data\n", + "features_df" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract list of features that failed the test\n", + "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Extract feature names from the list of strings\n", + "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", + "high_correlation_features" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Remove the highly correlated features from the dataset\n", + "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", + "\n", + "# Re-initialize the dataset object\n", + "vm_raw_dataset_preprocessed = vm.init_dataset(\n", + " dataset=balanced_raw_no_age_df,\n", + " input_id=\"raw_dataset_preprocessed\",\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Re-run the test with the reduced feature set\n", + "corr_result = vm.tests.run_test(\n", + " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", + " params={\"max_threshold\": 0.3},\n", + " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Split the preprocessed dataset\n", + "\n", + "With our raw dataset rebalanced with highly correlated features removed, let's now **spilt our dataset into train and test** in preparation for model evaluation testing:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Encode categorical features in the dataset\n", + "balanced_raw_no_age_df = pd.get_dummies(\n", + " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", + ")\n", + "balanced_raw_no_age_df.head()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Split the dataset into train and test\n", + "train_df, test_df = train_test_split(balanced_raw_no_age_df, test_size=0.20)\n", + "\n", + "X_train = train_df.drop(\"Exited\", axis=1)\n", + "y_train = train_df[\"Exited\"]\n", + "X_test = test_df.drop(\"Exited\", axis=1)\n", + "y_test = test_df[\"Exited\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the split datasets\n", + "vm_train_ds = vm.init_dataset(\n", + " input_id=\"train_dataset_final\",\n", + " dataset=train_df,\n", + " target_column=\"Exited\",\n", + ")\n", + "\n", + "vm_test_ds = vm.init_dataset(\n", + " input_id=\"test_dataset_final\",\n", + " dataset=test_df,\n", + " target_column=\"Exited\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Import the champion model\n", + "\n", + "With our raw dataset assessed and preprocessed, let's go ahead and import the champion submitted by the development team in the format of a `.pkl` file: **[lr_model_champion.pkl](lr_model_champion.pkl)**" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Import the champion model\n", + "import pickle as pkl\n", + "\n", + "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", + " log_reg = pkl.load(f)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Train potential challenger model\n", + "\n", + "We'll also train our random forest classification challenger to see how it compares:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Import the Random Forest Classification model\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "\n", + "# Create the model instance with 50 decision trees\n", + "rf_model = RandomForestClassifier(\n", + " n_estimators=50,\n", + " random_state=42,\n", + ")\n", + "\n", + "# Train the model\n", + "rf_model.fit(X_train, y_train)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Initialize the ValidMind models\n", + "\n", + "In addition to the initialized datasets, you'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our two models:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Initialize the champion logistic regression model\n", + "vm_log_model = vm.init_model(\n", + " log_reg,\n", + " input_id=\"log_model_champion\",\n", + ")\n", + "\n", + "# Initialize the challenger random forest classification model\n", + "vm_rf_model = vm.init_model(\n", + " rf_model,\n", + " input_id=\"rf_model\",\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Assign predictions to Champion — Logistic regression model\n", + "vm_train_ds.assign_predictions(model=vm_log_model)\n", + "vm_test_ds.assign_predictions(model=vm_log_model)\n", + "\n", + "# Assign predictions to Challenger — Random forest classification model\n", + "vm_train_ds.assign_predictions(model=vm_rf_model)\n", + "vm_test_ds.assign_predictions(model=vm_rf_model)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Implementing custom tests\n", + "\n", + "Thanks to the documentation (**Learn more:** [ValidMind for development](https://docs.validmind.ai/developer/validmind-library.html#development)), we know that the development team implemented a custom test to further evaluate the performance of the champion.\n", + "\n", + "In a usual validation situation, you would load a saved custom test provided by the development team. In the following section, we'll have you implement the same custom test and make it available for reuse, to familiarize you with the processes.\n", + "\n", + "
Want to learn more about custom tests?\n", + "

\n", + "Refer to our in-depth introduction to custom tests: Implement custom tests
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Implement a custom inline test\n", + "\n", + "Let's implement the same custom *inline test* that calculates the confusion matrix for a binary classification model that the development team used in their performance evaluations.\n", + "\n", + "- An inline test refers to a test written and executed within the same environment as the code being tested — in this case, right in this Jupyter Notebook — without requiring a separate test file or framework.\n", + "- You'll note that the custom test function is just a regular Python function that can include and require any Python library as you see fit." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Create a confusion matrix plot\n", + "\n", + "Let's first create a confusion matrix plot using the `confusion_matrix` function from the `sklearn.metrics` module:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "import matplotlib.pyplot as plt\n", + "from sklearn import metrics\n", + "\n", + "# Get the predicted classes\n", + "y_pred = log_reg.predict(vm_test_ds.x)\n", + "\n", + "confusion_matrix = metrics.confusion_matrix(y_test, y_pred)\n", + "\n", + "cm_display = metrics.ConfusionMatrixDisplay(\n", + " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", + ")\n", + "cm_display.plot()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, create a [`@vm.test` wrapper](https://docs.validmind.ai/validmind/validmind.html#test) that will allow you to create a reusable test. **Note the following changes in the code below:**\n", + "\n", + "- The function `confusion_matrix` takes two arguments `dataset` and `model`. This is a `VMDataset` and `VMModel` object respectively.\n", + " - `VMDataset` objects allow you to access the dataset's true (target) values by accessing the `.y` attribute.\n", + " - `VMDataset` objects allow you to access the predictions for a given record (model) by accessing the `.y_pred()` method.\n", + "- The function docstring provides a description of what the test does. This will be displayed along with the result in this notebook as well as in the ValidMind Platform.\n", + "- The function body calculates the confusion matrix using the `sklearn.metrics.confusion_matrix` function as we just did above.\n", + "- The function then returns the `ConfusionMatrixDisplay.figure_` object — this is important as the ValidMind Library expects the output of the custom test to be a plot or a table.\n", + "- The `@vm.test` decorator is doing the work of creating a wrapper around the function that will allow it to be run by the ValidMind Library. It also registers the test so it can be found by the ID `my_custom_tests.ConfusionMatrix`." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "@vm.test(\"my_custom_tests.ConfusionMatrix\")\n", + "def confusion_matrix(dataset, model):\n", + " \"\"\"The confusion matrix is a table that is often used to describe the performance of a classification model on a set of data for which the true values are known.\n", + "\n", + " The confusion matrix is a 2x2 table that contains 4 values:\n", + "\n", + " - True Positive (TP): the number of correct positive predictions\n", + " - True Negative (TN): the number of correct negative predictions\n", + " - False Positive (FP): the number of incorrect positive predictions\n", + " - False Negative (FN): the number of incorrect negative predictions\n", + "\n", + " The confusion matrix can be used to assess the holistic performance of a classification model by showing the accuracy, precision, recall, and F1 score of the model on a single figure.\n", + " \"\"\"\n", + " y_true = dataset.y\n", + " y_pred = dataset.y_pred(model=model)\n", + "\n", + " confusion_matrix = metrics.confusion_matrix(y_true, y_pred)\n", + "\n", + " cm_display = metrics.ConfusionMatrixDisplay(\n", + " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", + " )\n", + " cm_display.plot()\n", + "\n", + " plt.close() # close the plot to avoid displaying it\n", + "\n", + " return cm_display.figure_ # return the figure object itself" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can now run the newly created custom test on both the training and test datasets for both models using the [`run_test()` function](https://docs.validmind.ai/validmind/validmind/tests.html#run_test):" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Champion train and test\n", + "vm.tests.run_test(\n", + " test_id=\"my_custom_tests.ConfusionMatrix:champion\",\n", + " input_grid={\n", + " \"dataset\": [vm_train_ds,vm_test_ds],\n", + " \"model\" : [vm_log_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Challenger train and test\n", + "vm.tests.run_test(\n", + " test_id=\"my_custom_tests.ConfusionMatrix:challenger\",\n", + " input_grid={\n", + " \"dataset\": [vm_train_ds,vm_test_ds],\n", + " \"model\" : [vm_rf_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for some test IDs. \n", + "

\n", + "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Add parameters to custom tests\n", + "\n", + "Custom tests can take parameters just like any other function. To demonstrate, let's modify the `confusion_matrix` function to take an additional parameter `normalize` that will allow you to normalize the confusion matrix:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "@vm.test(\"my_custom_tests.ConfusionMatrix\")\n", + "def confusion_matrix(dataset, model, normalize=False):\n", + " \"\"\"The confusion matrix is a table that is often used to describe the performance of a classification model on a set of data for which the true values are known.\n", + "\n", + " The confusion matrix is a 2x2 table that contains 4 values:\n", + "\n", + " - True Positive (TP): the number of correct positive predictions\n", + " - True Negative (TN): the number of correct negative predictions\n", + " - False Positive (FP): the number of incorrect positive predictions\n", + " - False Negative (FN): the number of incorrect negative predictions\n", + "\n", + " The confusion matrix can be used to assess the holistic performance of a classification model by showing the accuracy, precision, recall, and F1 score of the model on a single figure.\n", + " \"\"\"\n", + " y_true = dataset.y\n", + " y_pred = dataset.y_pred(model=model)\n", + "\n", + " if normalize:\n", + " confusion_matrix = metrics.confusion_matrix(y_true, y_pred, normalize=\"all\")\n", + " else:\n", + " confusion_matrix = metrics.confusion_matrix(y_true, y_pred)\n", + "\n", + " cm_display = metrics.ConfusionMatrixDisplay(\n", + " confusion_matrix=confusion_matrix, display_labels=[False, True]\n", + " )\n", + " cm_display.plot()\n", + "\n", + " plt.close() # close the plot to avoid displaying it\n", + "\n", + " return cm_display.figure_ # return the figure object itself" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Pass parameters to custom tests\n", + "\n", + "You can pass parameters to custom tests by providing a dictionary of parameters to the `run_test()` function.\n", + "\n", + "- The parameters will override any default parameters set in the custom test definition. Note that `dataset` and `model` are still passed as `inputs`.\n", + "- Since these are `VMDataset` or `VMModel` inputs, they have a special meaning.\n", + "\n", + "Re-running and logging the custom confusion matrix with `normalize=True` for both models and our testing dataset looks like this:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Champion with test dataset and normalize=True\n", + "vm.tests.run_test(\n", + " test_id=\"my_custom_tests.ConfusionMatrix:test_normalized_champion\",\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds],\n", + " \"model\" : [vm_log_model]\n", + " },\n", + " params={\"normalize\": True}\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Challenger with test dataset and normalize=True\n", + "vm.tests.run_test(\n", + " test_id=\"my_custom_tests.ConfusionMatrix:test_normalized_challenger\",\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds],\n", + " \"model\" : [vm_rf_model]\n", + " },\n", + " params={\"normalize\": True}\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Use external test providers\n", + "\n", + "Sometimes you may want to reuse the same set of custom tests across multiple records (models) and share them with others in your organization, like the development team would have done with you in this example workflow featured in this series of notebooks. In this case, you can create an external custom *test provider* that will allow you to load custom tests from a local folder or a Git repository.\n", + "\n", + "In this section you will learn how to declare a local filesystem test provider that allows loading tests from a local folder following these high level steps:\n", + "\n", + "1. Create a folder of custom tests from existing inline tests (tests that exist in your active Jupyter Notebook)\n", + "2. Save an inline test to a file\n", + "3. Define and register a [`LocalTestProvider`](https://docs.validmind.ai/validmind/validmind/tests.html#LocalTestProvider) that points to that folder\n", + "4. Run test provider tests\n", + "5. Add the test results to your documentation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Create custom tests folder\n", + "\n", + "Let's start by creating a new folder that will contain reusable custom tests from your existing inline tests.\n", + "\n", + "The following code snippet will create a new `my_tests` directory in the current working directory if it doesn't exist:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "tests_folder = \"my_tests\"\n", + "\n", + "import os\n", + "\n", + "# create tests folder\n", + "os.makedirs(tests_folder, exist_ok=True)\n", + "\n", + "# remove existing tests\n", + "for f in os.listdir(tests_folder):\n", + " # remove files and pycache\n", + " if f.endswith(\".py\") or f == \"__pycache__\":\n", + " os.system(f\"rm -rf {tests_folder}/{f}\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After running the command above, confirm that a new `my_tests` directory was created successfully. For example:\n", + "\n", + "```\n", + "~/notebooks/tutorials/validation/my_tests/\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Save an inline test\n", + "\n", + "The `@vm.test` decorator we used in **Implement a custom inline test** above to register one-off custom tests also includes a convenience method on the function object that allows you to simply call `.save()` to save the test to a Python file at a specified path.\n", + "\n", + "While `save()` will get you started by creating the file and saving the function code with the correct name, it won't automatically include any imports, or other functions or variables, outside of the functions that are needed for the test to run. To solve this, pass in an optional `imports` argument ensuring necessary imports are added to the file.\n", + "\n", + "The `confusion_matrix` test requires the following additional imports:\n", + "\n", + "```python\n", + "import matplotlib.pyplot as plt\n", + "from sklearn import metrics\n", + "```\n", + "\n", + "Let's pass these imports to the `save()` method to ensure they are included in the file with the following command:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "confusion_matrix.save(\n", + " # Save it to the custom tests folder we created\n", + " tests_folder,\n", + " imports=[\"import matplotlib.pyplot as plt\", \"from sklearn import metrics\"],\n", + ")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- [x] Confirm that the `save()` method saved the `confusion_matrix` function to a file named `ConfusionMatrix.py` in the `my_tests` folder.\n", + "- [x] Note that the new file provides some context on the origin of the test, which is useful for traceability:\n", + "\n", + " ```\n", + " # Saved from __main__.confusion_matrix\n", + " # Original Test ID: my_custom_tests.ConfusionMatrix\n", + " # New Test ID: .ConfusionMatrix\n", + " ```\n", + "\n", + "- [x] Additionally, the new test function has been stripped off its decorator, as it now resides in a file that will be loaded by the test provider:\n", + "\n", + " ```python\n", + " def ConfusionMatrix(dataset, model, normalize=False):\n", + " ```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Register a local test provider\n", + "\n", + "Now that your `my_tests` folder has a sample custom test, let's initialize a test provider that will tell the ValidMind Library where to find your custom tests:\n", + "\n", + "- ValidMind offers out-of-the-box test providers for local tests (tests in a folder) or a Github provider for tests in a Github repository.\n", + "- You can also create your own test provider by creating a class that has a [`load_test` method](https://docs.validmind.ai/validmind/validmind/tests.html#load_test) that takes a test ID and returns the test function matching that ID.\n", + "\n", + "
Want to learn more about test providers?\n", + "

\n", + "An extended introduction to test providers can be found in: Integrate external test providers
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Initialize a local test provider\n", + "\n", + "For most use cases, using a `LocalTestProvider` that allows you to load custom tests from a designated directory should be sufficient.\n", + "\n", + "**The most important attribute for a test provider is its `namespace`.** This is a string that will be used to prefix test IDs in documentation. This allows you to have multiple test providers with tests that can even share the same ID, but are distinguished by their namespace.\n", + "\n", + "Let's go ahead and load the custom tests from our `my_tests` directory:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "from validmind.tests import LocalTestProvider\n", + "\n", + "# initialize the test provider with the tests folder we created earlier\n", + "my_test_provider = LocalTestProvider(tests_folder)\n", + "\n", + "vm.tests.register_test_provider(\n", + " namespace=\"my_test_provider\",\n", + " test_provider=my_test_provider,\n", + ")\n", + "# `my_test_provider.load_test()` will be called for any test ID that starts with `my_test_provider`\n", + "# e.g. `my_test_provider.ConfusionMatrix` will look for a function named `ConfusionMatrix` in `my_tests/ConfusionMatrix.py` file" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Run test provider tests\n", + "\n", + "Now that we've set up the test provider, we can run any test that's located in the tests folder by using the `run_test()` method as with any other test:\n", + "\n", + "- For tests that reside in a test provider directory, the test ID will be the `namespace` specified when registering the provider, followed by the path to the test file relative to the tests folder.\n", + "- For example, the Confusion Matrix test we created earlier will have the test ID `my_test_provider.ConfusionMatrix`. You could organize the tests in subfolders, say `classification` and `regression`, and the test ID for the Confusion Matrix test would then be `my_test_provider.classification.ConfusionMatrix`.\n", + "\n", + "Let's go ahead and re-run the confusion matrix test with our testing dataset for our two models by using the test ID `my_test_provider.ConfusionMatrix`. This should load the test from the test provider and run it as before." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Champion with test dataset and test provider custom test\n", + "vm.tests.run_test(\n", + " test_id=\"my_test_provider.ConfusionMatrix:champion\",\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds],\n", + " \"model\" : [vm_log_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Challenger with test dataset and test provider custom test\n", + "vm.tests.run_test(\n", + " test_id=\"my_test_provider.ConfusionMatrix:challenger\",\n", + " input_grid={\n", + " \"dataset\": [vm_test_ds],\n", + " \"model\" : [vm_rf_model]\n", + " }\n", + ").log()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Verify test runs\n", + "\n", + "Our final task is to verify that all the tests provided by the development team were run and reported accurately. Note the appended `result_ids` to delineate which dataset we ran the test with for the relevant tests.\n", + "\n", + "Here, we'll specify all the tests we'd like to independently rerun in a dictionary called `test_config`. **Note here that `inputs` and `input_grid` expect the `input_id` of the dataset or model as the value rather than the variable name we specified**:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "test_config = {\n", + " # Run with the raw dataset\n", + " 'validmind.data_validation.DatasetDescription:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'}\n", + " },\n", + " 'validmind.data_validation.DescriptiveStatistics:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'}\n", + " },\n", + " 'validmind.data_validation.MissingValues:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'min_percentage_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.ClassImbalance:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'min_percent_threshold': 10}\n", + " },\n", + " 'validmind.data_validation.Duplicates:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'min_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.HighCardinality:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {\n", + " 'num_threshold': 100,\n", + " 'percent_threshold': 0.1,\n", + " 'threshold_type': 'percent'\n", + " }\n", + " },\n", + " 'validmind.data_validation.Skewness:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'max_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.UniqueRows:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'min_percent_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.TooManyZeroValues:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'max_percent_threshold': 0.03}\n", + " },\n", + " 'validmind.data_validation.IQROutliersTable:raw_data': {\n", + " 'inputs': {'dataset': 'raw_dataset'},\n", + " 'params': {'threshold': 5}\n", + " },\n", + " # Run with the preprocessed dataset\n", + " 'validmind.data_validation.DescriptiveStatistics:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", + " },\n", + " 'validmind.data_validation.TabularDescriptionTables:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", + " },\n", + " 'validmind.data_validation.MissingValues:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'},\n", + " 'params': {'min_percentage_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.TabularNumericalHistograms:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", + " },\n", + " 'validmind.data_validation.TabularCategoricalBarPlots:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'}\n", + " },\n", + " 'validmind.data_validation.TargetRateBarPlots:preprocessed_data': {\n", + " 'inputs': {'dataset': 'raw_dataset_preprocessed'},\n", + " 'params': {'default_column': 'loan_status'}\n", + " },\n", + " # Run with the training and test datasets\n", + " 'validmind.data_validation.DescriptiveStatistics:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", + " },\n", + " 'validmind.data_validation.TabularDescriptionTables:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", + " },\n", + " 'validmind.data_validation.ClassImbalance:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", + " 'params': {'min_percent_threshold': 10}\n", + " },\n", + " 'validmind.data_validation.UniqueRows:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", + " 'params': {'min_percent_threshold': 1}\n", + " },\n", + " 'validmind.data_validation.TabularNumericalHistograms:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", + " },\n", + " 'validmind.data_validation.MutualInformation:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", + " 'params': {'min_threshold': 0.01}\n", + " },\n", + " 'validmind.data_validation.PearsonCorrelationMatrix:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']}\n", + " },\n", + " 'validmind.data_validation.HighPearsonCorrelation:development_data': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final']},\n", + " 'params': {'max_threshold': 0.3, 'top_n_correlations': 10}\n", + " },\n", + " 'validmind.model_validation.ModelMetadata': {\n", + " 'input_grid': {'model': ['log_model_champion', 'rf_model']}\n", + " },\n", + " 'validmind.model_validation.sklearn.ModelParameters': {\n", + " 'input_grid': {'model': ['log_model_champion', 'rf_model']}\n", + " },\n", + " 'validmind.model_validation.sklearn.ROCCurve': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final'], 'model': ['log_model_champion']}\n", + " },\n", + " 'validmind.model_validation.sklearn.MinimumROCAUCScore': {\n", + " 'input_grid': {'dataset': ['train_dataset_final', 'test_dataset_final'], 'model': ['log_model_champion']},\n", + " 'params': {'min_threshold': 0.5}\n", + " }\n", + "}" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then batch run and log our tests in `test_config`:" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "for t in test_config:\n", + " print(t)\n", + " try:\n", + " # Check if test has input_grid\n", + " if 'input_grid' in test_config[t]:\n", + " # For tests with input_grid, pass the input_grid configuration\n", + " if 'params' in test_config[t]:\n", + " vm.tests.run_test(t, input_grid=test_config[t]['input_grid'], params=test_config[t]['params']).log()\n", + " else:\n", + " vm.tests.run_test(t, input_grid=test_config[t]['input_grid']).log()\n", + " else:\n", + " # Original logic for regular inputs\n", + " if 'params' in test_config[t]:\n", + " vm.tests.run_test(t, inputs=test_config[t]['inputs'], params=test_config[t]['params']).log()\n", + " else:\n", + " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", + " except Exception as e:\n", + " print(f\"Error running test {t}: {str(e)}\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## In summary\n", + "\n", + "In this final notebook, you learned how to:\n", + "\n", + "- [x] Implement a custom inline test\n", + "- [x] Run and log your custom inline tests\n", + "- [x] Use external custom test providers\n", + "- [x] Run and log tests from your custom test providers\n", + "- [x] Re-run tests provided by your development team to verify that they were run and reported accurately\n", + "\n", + "With our ValidMind for validation series of notebooks, you learned how to validate a record (model) end-to-end with the ValidMind Library by running through some common scenarios in a typical validation setting:\n", + "\n", + "- Verifying the data quality steps performed by the development team\n", + "- Independently replicating the champion's results and conducting additional tests to assess performance, stability, and robustness\n", + "- Setting up test inputs and a challenger for comparative analysis\n", + "- Running validation tests, analyzing results, and logging artifacts to ValidMind" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "## Next steps" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Work with your validation report\n", + "\n", + "Now that you've logged all your test results and verified the work done by the development team, head to the ValidMind Platform to wrap up your validation report. Continue to work on your validation report by:\n", + "\n", + "- **Inserting additional test results:** Click **Link Evidence to Report** under any section of 2. Validation in your validation report. (Learn more: [Link evidence to reports](https://docs.validmind.ai/guide/validation/assess-compliance.html#link-evidence-to-reports))\n", + "\n", + "- **Making qualitative edits to your test descriptions:** Expand any linked evidence under Validator Evidence and click **See evidence details** to review and edit the ValidMind-generated test descriptions for quality and accuracy. (Learn more: [Preparing validation reports](https://docs.validmind.ai/guide/validation/preparing-validation-reports.html#validation-overview))\n", + "\n", + "- **Adding more findings:** Click **Link Finding to Report** in any validation report section, then click **+ Create New Finding**. (Learn more: [Add and manage artifacts](https://docs.validmind.ai/guide/validation/add-manage-artifacts.html))\n", + "\n", + "- **Adding risk assessment notes:** Click under **Risk Assessment Notes** in any validation report section to access the text editor and content editing toolbar, including an option to generate a draft with AI. Once generated, edit your ValidMind-generated test descriptions to adhere to your organization's requirements. (Learn more: [Work with content blocks](https://docs.validmind.ai/guide/documentation/work-with-content-blocks.html#content-editing-toolbar))\n", + "\n", + "- **Assessing compliance:** Under the Guideline for any validation report section, click **ASSESSMENT** and select the compliance status from the drop-down menu. (Learn more: [Provide compliance assessments](https://docs.validmind.ai/guide/validation/assess-compliance.html#provide-compliance-assessments))\n", + "\n", + "- **Collaborate with other stakeholders:** Use the ValidMind Platform's real-time collaborative features to work seamlessly together with the rest of your organization, including developers. Propose suggested changes in the documentation, work with versioned history, and use comments to discuss specific portions of the documentation. (Learn more: [Collaborate with others](https://docs.validmind.ai/guide/documentation/collaborate-with-others.html))\n", + "\n", + "When your validation report is complete and ready for review, submit it for approval from the same ValidMind Platform where you made your edits and collaborated with the rest of your organization, ensuring transparency and a thorough validation history. (Learn more: [Submit documents](https://docs.validmind.ai/guide/documentation/submit-documents.html))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### Learn more\n", + "\n", + "Now that you're familiar with the basics, you can explore the following notebooks to get a deeper understanding on how the ValidMind Library assists you in streamlining validation:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Use cases\n", + "\n", + "- [Validate an application scorecard model](../../use_cases/validation/validate_application_scorecard.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Discover more learning resources\n", + "\n", + "Learn more about the ValidMind Library tools we used in this notebook:\n", + "\n", + "- [Explore tests](../../how_to/tests/explore_tests/explore_tests.ipynb)\n", + "- [Run dataset-based tests](../../how_to/tests/run_tests/1-run_dataset-based_tests.ipynb)\n", + "- [Implement custom tests](../../how_to/tests/custom_tests/implement_custom_tests.ipynb)\n", + "- [Integrate external test providers](../../how_to/tests/custom_tests/integrate_external_test_providers.ipynb)\n", + "\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", + "\n", + "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", + "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", + "\n", + "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." + ] + }, + { + "cell_type": "markdown", + "id": "copyright-0f5cad51d1144e528b343ccbd8f66d06", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n", + "\n", + "***\n", + "\n", + "Copyright © 2023-2026 ValidMind Inc. All rights reserved.
\n", + "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.
\n", + "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ValidMind Library", + "language": "python", + "name": "validmind" + }, + "language_info": { + "name": "python", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/site/notebooks/tutorials/model_validation/class-imbalance-results-detail.png b/site/notebooks/tutorials/validation/class-imbalance-results-detail.png similarity index 100% rename from site/notebooks/tutorials/model_validation/class-imbalance-results-detail.png rename to site/notebooks/tutorials/validation/class-imbalance-results-detail.png diff --git a/site/notebooks/tutorials/model_validation/compliance-summary.png b/site/notebooks/tutorials/validation/compliance-summary.png similarity index 100% rename from site/notebooks/tutorials/model_validation/compliance-summary.png rename to site/notebooks/tutorials/validation/compliance-summary.png diff --git a/site/notebooks/tutorials/model_validation/inserted-class-imbalance-results.png b/site/notebooks/tutorials/validation/inserted-class-imbalance-results.png similarity index 100% rename from site/notebooks/tutorials/model_validation/inserted-class-imbalance-results.png rename to site/notebooks/tutorials/validation/inserted-class-imbalance-results.png diff --git a/site/notebooks/tutorials/model_validation/inserted-minimum-f1-scores.png b/site/notebooks/tutorials/validation/inserted-minimum-f1-scores.png similarity index 100% rename from site/notebooks/tutorials/model_validation/inserted-minimum-f1-scores.png rename to site/notebooks/tutorials/validation/inserted-minimum-f1-scores.png diff --git a/site/notebooks/tutorials/model_validation/link-artifact.png b/site/notebooks/tutorials/validation/link-artifact.png similarity index 100% rename from site/notebooks/tutorials/model_validation/link-artifact.png rename to site/notebooks/tutorials/validation/link-artifact.png diff --git a/site/notebooks/tutorials/model_validation/link-validator-evidence.png b/site/notebooks/tutorials/validation/link-validator-evidence.png similarity index 100% rename from site/notebooks/tutorials/model_validation/link-validator-evidence.png rename to site/notebooks/tutorials/validation/link-validator-evidence.png diff --git a/site/notebooks/tutorials/model_validation/lr_model_champion.pkl b/site/notebooks/tutorials/validation/lr_model_champion.pkl similarity index 100% rename from site/notebooks/tutorials/model_validation/lr_model_champion.pkl rename to site/notebooks/tutorials/validation/lr_model_champion.pkl diff --git a/site/notebooks/tutorials/model_validation/selecting-class-imbalance-results.png b/site/notebooks/tutorials/validation/selecting-class-imbalance-results.png similarity index 100% rename from site/notebooks/tutorials/model_validation/selecting-class-imbalance-results.png rename to site/notebooks/tutorials/validation/selecting-class-imbalance-results.png diff --git a/site/notebooks/tutorials/model_validation/selecting-minimum-f1-scores.png b/site/notebooks/tutorials/validation/selecting-minimum-f1-scores.png similarity index 100% rename from site/notebooks/tutorials/model_validation/selecting-minimum-f1-scores.png rename to site/notebooks/tutorials/validation/selecting-minimum-f1-scores.png diff --git a/site/notebooks/use_cases/agents/document_agentic_ai.ipynb b/site/notebooks/use_cases/agents/document_agentic_ai.ipynb index 2516a13bd..66dfced93 100644 --- a/site/notebooks/use_cases/agents/document_agentic_ai.ipynb +++ b/site/notebooks/use_cases/agents/document_agentic_ai.ipynb @@ -103,9 +103,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models. \n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models. \n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators." + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators." ] }, { @@ -131,11 +131,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind
" ] }, { @@ -162,7 +162,7 @@ " - **model**: A single model that has been initialized in ValidMind with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model).\n", " - **dataset**: Single dataset that has been initialized in ValidMind with [`vm.init_dataset()`](https://docs.validmind.ai/validmind/validmind.html#init_dataset).\n", " - **models**: A list of ValidMind models - usually this is used when you want to compare multiple models in your custom metric.\n", - " - **datasets**: A list of ValidMind datasets - usually this is used when you want to compare multiple datasets in your custom metric. (Learn more: [Run tests with multiple datasets](https://docs.validmind.ai/notebooks/how_to/run_tests_that_require_multiple_datasets.html))\n", + " - **datasets**: A list of ValidMind datasets - usually this is used when you want to compare multiple datasets in your custom metric. (Learn more: [Run tests with multiple datasets](https://docs.validmind.ai/notebooks/how_to/tests/run_tests/configure_tests/run_tests_that_require_multiple_datasets.html))\n", "\n", "**Parameters**: Additional arguments that can be passed when running a ValidMind test, used to pass additional information to a metric, customize its behavior, or provide additional context.\n", "\n", @@ -228,17 +228,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook.\n", + "Let's first register a sample record (model) for use with this notebook.\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -250,10 +252,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Agentic AI`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -283,11 +287,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -945,11 +951,14 @@ "source": [ "\n", "\n", - "#### Initialize the ValidMind model object\n", + "#### Initialize the ValidMind model\n", "\n", "We'll also need to register the banking agent as a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data.\n", "\n", - "You simply initialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model) that:\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", + "\n", + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model) which:\n", "\n", "- Associates the wrapper function with the model for prediction\n", "- Stores the system prompt template for documentation\n", @@ -1820,7 +1829,7 @@ "\n", "### Identify relevant RAGAS tests\n", "\n", - "Let's explore some of ValidMind's available tests. Using ValidMind’s repository of tests streamlines your development testing, and helps you ensure that your models are being documented and evaluated appropriately.\n", + "Let's explore some of ValidMind's available tests. Using ValidMind’s repository of tests streamlines your development testing, and helps you ensure that your records are being documented and evaluated appropriately.\n", "\n", "You can pass `tasks` and `tags` as parameters to the [`vm.tests.list_tests()` function](https://docs.validmind.ai/validmind/validmind/tests.html#list_tests) to filter the tests based on the tags and task types:\n", "\n", @@ -1849,11 +1858,7 @@ "\n", "#### Faithfulness\n", "\n", - "Let's evaluate whether the banking agent's responses accurately reflect the information retrieved from tools. Unfaithful responses can misreport credit analysis, financial calculations, and compliance results—undermining user trust in the banking agent.\n", - "\n", - "RAGAS runs a **judge LLM** that can be much slower than your agent if it uses the same model. In your `.env`, set **`VM_RAGAS_JUDGE_MODEL`** (for example `gpt-4o-mini`) so faithfulness and other RAGAS metrics use a faster judge while **`VM_OPENAI_MODEL`** can stay tuned for the agent. RAGAS execution also respects **`VM_RAGAS_TIMEOUT`**, **`VM_RAGAS_MAX_RETRIES`**, and **`VM_RAGAS_MAX_WORKERS`** (defaults help notebook stability).\n", - "\n", - "The cell below passes **`max_eval_rows`** and **`max_response_chars`** to bound evaluation cost on long agent outputs." + "Let's evaluate whether the banking agent's responses accurately reflect the information retrieved from tools. Unfaithful responses can misreport credit analysis, financial calculations, and compliance results—undermining user trust in the banking agent." ] }, { @@ -1870,8 +1875,6 @@ " \"user_input_column\": [\"input\"],\n", " \"response_column\": [\"banking_agent_model_prediction\"],\n", " \"retrieved_contexts_column\": [\"banking_agent_model_tool_messages\"],\n", - " \"max_eval_rows\": [4],\n", - " \"max_response_chars\": [6000],\n", " },\n", ").log()" ] @@ -2040,7 +2043,7 @@ "\n", "## Next steps\n", "\n", - "You can look at the output produced by the ValidMind Library right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your model documentation." + "You can look at the output produced by the ValidMind Library right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your documentation." ] }, { @@ -2050,13 +2053,13 @@ "source": [ "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - " What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + " What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "3. Click into any section related to the tests we ran in this notebook, for example: **4.3. Prompt Evaluation** to review the results of the tests we logged." ] @@ -2089,15 +2092,15 @@ "\n", "Learn more about the ValidMind Library tools we used in this notebook:\n", "\n", - "- [Custom prompts](https://docs.validmind.ai/notebooks/how_to/customize_test_result_descriptions.html)\n", - "- [Custom tests](https://docs.validmind.ai/notebooks/code_samples/custom_tests/implement_custom_tests.html)\n", - "- [ValidMind scorers](https://docs.validmind.ai/notebooks/how_to/assign_scores_complete_tutorial.html)\n", + "- [Custom prompts](https://docs.validmind.ai/notebooks/how_to/tests/run_tests/configure_tests/customize_test_result_descriptions.html)\n", + "- [Custom tests](https://docs.validmind.ai/notebooks/how_to/tests/custom_tests/implement_custom_tests.html)\n", + "- [ValidMind scorers](https://docs.validmind.ai/notebooks/how_to/scoring/assign_scores_complete_tutorial.html)\n", "\n", - "We also offer many more interactive notebooks to help you document models:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/use_cases/capital_markets/quickstart_option_pricing_models.ipynb b/site/notebooks/use_cases/capital_markets/quickstart_option_pricing_models.ipynb index f372b04c6..a7ee3c372 100644 --- a/site/notebooks/use_cases/capital_markets/quickstart_option_pricing_models.ipynb +++ b/site/notebooks/use_cases/capital_markets/quickstart_option_pricing_models.ipynb @@ -78,9 +78,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -94,11 +94,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind
\n", "\n", "\n", "\n", @@ -179,17 +179,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -201,10 +203,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Capital markets`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -219,11 +223,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -2041,23 +2047,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/use_cases/capital_markets/quickstart_option_pricing_models_quantlib.ipynb b/site/notebooks/use_cases/capital_markets/quickstart_option_pricing_models_quantlib.ipynb index 17471d33c..e0d7c1a11 100644 --- a/site/notebooks/use_cases/capital_markets/quickstart_option_pricing_models_quantlib.ipynb +++ b/site/notebooks/use_cases/capital_markets/quickstart_option_pricing_models_quantlib.ipynb @@ -117,9 +117,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -133,11 +133,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -236,17 +236,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -258,10 +260,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Capital Markets`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -291,11 +295,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -1286,23 +1292,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/use_cases/code_explainer/customer_churn_full_suite.py b/site/notebooks/use_cases/code_explainer/customer_churn_full_suite.py index 3f7c82809..ce052801d 100644 --- a/site/notebooks/use_cases/code_explainer/customer_churn_full_suite.py +++ b/site/notebooks/use_cases/code_explainer/customer_churn_full_suite.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial """ -Quickstart for model documentation +Quickstart for documentation Welcome! Let's get you started with the basic process of documenting models with ValidMind. diff --git a/site/notebooks/use_cases/code_explainer/quickstart_code_explainer_demo.ipynb b/site/notebooks/use_cases/code_explainer/quickstart_code_explainer_demo.ipynb index b1d91a657..3da618e57 100644 --- a/site/notebooks/use_cases/code_explainer/quickstart_code_explainer_demo.ipynb +++ b/site/notebooks/use_cases/code_explainer/quickstart_code_explainer_demo.ipynb @@ -80,9 +80,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -96,11 +96,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -176,17 +176,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -197,10 +199,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Model Source Code Documentation`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -228,11 +232,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { diff --git a/site/notebooks/use_cases/credit_risk/application_scorecard_executive.ipynb b/site/notebooks/use_cases/credit_risk/application_scorecard_executive.ipynb index cd6e4f1a1..8ef764021 100644 --- a/site/notebooks/use_cases/credit_risk/application_scorecard_executive.ipynb +++ b/site/notebooks/use_cases/credit_risk/application_scorecard_executive.ipynb @@ -56,9 +56,9 @@ "\n", "\n", "## About ValidMind\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -70,11 +70,11 @@ "\n", "\n", "### New to ValidMind?\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -155,17 +155,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -176,10 +178,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **[template]{.smallcaps}**, select `Credit Risk Scorecard`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -193,11 +197,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -278,9 +284,9 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", @@ -289,17 +295,17 @@ " - **2. Data Preparation**\n", " - **3. Model Development**\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation (hint: some of the tests in **2.3. Feature Selection and Engineering** look like they need some attention), view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation (hint: some of the tests in **2.3. Feature Selection and Engineering** look like they need some attention), view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/use_cases/credit_risk/application_scorecard_full_suite.ipynb b/site/notebooks/use_cases/credit_risk/application_scorecard_full_suite.ipynb index e8e567a5b..73e1726f6 100644 --- a/site/notebooks/use_cases/credit_risk/application_scorecard_full_suite.ipynb +++ b/site/notebooks/use_cases/credit_risk/application_scorecard_full_suite.ipynb @@ -42,13 +42,13 @@ " - [Compute binary predictions](#toc4_2__) \n", "- [Document the model](#toc5__) \n", " - [Initialize the ValidMind datasets](#toc5_1__) \n", - " - [Initialize a model object](#toc5_2__) \n", + " - [Initialize ValidMind models](#toc5_2__) \n", " - [Assign prediction values and probabilities to the datasets](#toc5_3__) \n", " - [Compute credit risk scores](#toc5_4__) \n", " - [Adding custom context to the LLM descriptions](#toc5_5__) \n", " - [Run the full suite of tests](#toc5_6__) \n", "- [Next steps](#toc6__) \n", - " - [Work with your model documentation](#toc6_1__) \n", + " - [Work with your documentation](#toc6_1__) \n", " - [Discover more learning resources](#toc6_2__) \n", "- [Upgrade ValidMind](#toc7__) \n", "\n", @@ -70,9 +70,9 @@ "\n", "\n", "## About ValidMind\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -84,11 +84,11 @@ "\n", "\n", "### New to ValidMind?\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -169,17 +169,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -190,10 +192,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Credit Risk Scorecard`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -207,11 +211,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -552,9 +558,14 @@ "source": [ "\n", "\n", - "### Initialize a model object\n", + "### Initialize ValidMind models\n", + "\n", + "You'll also need to initialize ValidMind model objects (`vm_model`) that can be passed to other functions for analysis and tests on the data for our modelS.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "You will also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data. You simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model objects with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -798,9 +809,9 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", @@ -809,17 +820,17 @@ " - **2. Data Preparation**\n", " - **3. Model Development**\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation (hint: some of the tests in **2.3. Feature Selection and Engineering** look like they need some attention), view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation (hint: some of the tests in **2.3. Feature Selection and Engineering** look like they need some attention), view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -866,7 +877,7 @@ }, { "cell_type": "markdown", - "id": "copyright-11ff9f7bf7724930b1bc81a5585f4a94", + "id": "copyright-a658e3f1bece47cabc255c03460e255f", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/credit_risk/application_scorecard_with_bias.ipynb b/site/notebooks/use_cases/credit_risk/application_scorecard_with_bias.ipynb index e58e831ff..4824a1144 100644 --- a/site/notebooks/use_cases/credit_risk/application_scorecard_with_bias.ipynb +++ b/site/notebooks/use_cases/credit_risk/application_scorecard_with_bias.ipynb @@ -42,7 +42,7 @@ "- [Postprocess the dataset](#toc5__) \n", "- [Document the model](#toc6__) \n", " - [Initialize the ValidMind datasets](#toc6_1__) \n", - " - [Initialize a model object](#toc6_2__) \n", + " - [Initialize the ValidMind model](#toc6_2__) \n", " - [Assign predictions](#toc6_3__) \n", " - [Run tests](#toc6_4__) \n", " - [Data description](#toc6_4_1__) \n", @@ -53,7 +53,7 @@ " - [Model explainability](#toc6_4_6__) \n", " - [Bias and fairness](#toc6_4_7__) \n", "- [Next steps](#toc7__) \n", - " - [Work with your model documentation](#toc7_1__) \n", + " - [Work with your documentation](#toc7_1__) \n", " - [Discover more learning resources](#toc7_2__) \n", "- [Upgrade ValidMind](#toc8__) \n", "\n", @@ -75,9 +75,9 @@ "\n", "\n", "## About ValidMind\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -89,7 +89,7 @@ "\n", "\n", "### New to ValidMind?\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference." + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference." ] }, { @@ -170,17 +170,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -191,10 +193,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Credit Risk Scorecard`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -208,11 +212,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -484,7 +490,7 @@ "To document the model with the ValidMind Library, you'll need to:\n", "1. Preprocess the raw dataset\n", "2. Initialize some training and test datasets\n", - "3. Initialize a model object you can use for testing\n", + "3. Initialize a ValidMind model object for use with testing\n", "4. Run the full suite of tests" ] }, @@ -553,9 +559,14 @@ "source": [ "\n", "\n", - "### Initialize a model object\n", + "### Initialize the ValidMind model\n", + "\n", + "You will also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "You will also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data. You simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -1443,9 +1454,9 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", @@ -1454,17 +1465,17 @@ " - **2. Data Preparation**\n", " - **3. Model Development**\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation (hint: some of the tests in **2.3. Feature Selection and Engineering** look like they need some attention), view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation (hint: some of the tests in **2.3. Feature Selection and Engineering** look like they need some attention), view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -1511,7 +1522,7 @@ }, { "cell_type": "markdown", - "id": "copyright-f527b18ca3b94779bf6194547accab31", + "id": "copyright-6a74bc76beda4633a0cfff2eaa20949e", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/credit_risk/application_scorecard_with_ml.ipynb b/site/notebooks/use_cases/credit_risk/application_scorecard_with_ml.ipynb index dd04e2b6a..ab7c3243a 100644 --- a/site/notebooks/use_cases/credit_risk/application_scorecard_with_ml.ipynb +++ b/site/notebooks/use_cases/credit_risk/application_scorecard_with_ml.ipynb @@ -42,7 +42,7 @@ " - [Compute binary predictions](#toc4_2__) \n", "- [Document the model](#toc5__) \n", " - [Initialize the ValidMind datasets](#toc5_1__) \n", - " - [Initialize a model object](#toc5_2__) \n", + " - [Initialize the ValidMind models](#toc5_2__) \n", " - [Assign prediction values and probabilities to the datasets](#toc5_3__) \n", " - [Compute credit risk scores](#toc5_4__) \n", " - [Adding custom context to the LLM descriptions](#toc5_5__) \n", @@ -61,7 +61,7 @@ " - [In-line custom tests](#toc6_1__) \n", " - [Local test provider](#toc6_2__) \n", "- [Next steps](#toc7__) \n", - " - [Work with your model documentation](#toc7_1__) \n", + " - [Work with your documentation](#toc7_1__) \n", " - [Discover more learning resources](#toc7_2__) \n", "- [Upgrade ValidMind](#toc8__) \n", "\n", @@ -83,9 +83,9 @@ "\n", "\n", "## About ValidMind\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -97,11 +97,11 @@ "\n", "\n", "### New to ValidMind?\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -182,17 +182,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -203,10 +205,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Credit Risk Scorecard`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -220,11 +224,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -500,7 +506,7 @@ "To document the model with the ValidMind Library, you'll need to:\n", "1. Preprocess the raw dataset\n", "2. Initialize some training and test datasets\n", - "3. Initialize a model object you can use for testing\n", + "3. Initialize a ValidMind model object for use with testing\n", "4. Run the full suite of tests" ] }, @@ -566,9 +572,14 @@ "source": [ "\n", "\n", - "### Initialize a model object\n", + "### Initialize the ValidMind models\n", + "\n", + "You'll also need to initialize ValidMind model objects (`vm_model`) that can be passed to other functions for analysis and tests on the data for our modelS.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "You will also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data. You simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -1893,9 +1904,9 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", @@ -1904,17 +1915,17 @@ " - **2. Data Preparation**\n", " - **3. Model Development**\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation (hint: some of the tests in **2.3. Feature Selection and Engineering** look like they need some attention), view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation (hint: some of the tests in **2.3. Feature Selection and Engineering** look like they need some attention), view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -1961,7 +1972,7 @@ }, { "cell_type": "markdown", - "id": "copyright-ced6c79ffe99424fa8a48ed9ce2be9a5", + "id": "copyright-245d3f2bfcad480aa6baa2bde87c76e6", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/credit_risk/document_excel_application_scorecard.ipynb b/site/notebooks/use_cases/credit_risk/document_excel_application_scorecard.ipynb index be351497c..8949b55a5 100644 --- a/site/notebooks/use_cases/credit_risk/document_excel_application_scorecard.ipynb +++ b/site/notebooks/use_cases/credit_risk/document_excel_application_scorecard.ipynb @@ -37,14 +37,14 @@ " - [Load the preprocessed dataset](#toc3_2__) \n", " - [Load the training and test datasets](#toc3_3__) \n", "- [Initialize the ValidMind datasets](#toc4__) \n", - "- [Initializing a model object](#toc5__) \n", + "- [Initialize the ValidMind model](#toc5__) \n", " - [Link predictions](#toc5_1__) \n", "- [Running tests](#toc6__) \n", " - [Enable custom context for test descriptions](#toc6_1__) \n", " - [Define tests to run](#toc6_2__) \n", " - [Run defined tests](#toc6_3__) \n", "- [Next steps](#toc7__) \n", - " - [Work with your model documentation](#toc7_1__) \n", + " - [Work with your documentation](#toc7_1__) \n", " - [Add individual test results to documentation](#toc7_1_1__) \n", " - [Discover more learning resources](#toc7_2__) \n", "- [Upgrade ValidMind](#toc8__) \n", @@ -67,9 +67,9 @@ "\n", "\n", "## About ValidMind\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -81,11 +81,11 @@ "\n", "\n", "### New to ValidMind?\n", - "If you haven't already seen our [Get started with the ValidMind Library](https://docs.validmind.ai/developer/get-started-validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models, find code samples, or read our developer reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -171,17 +171,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -192,10 +194,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Credit Risk Scorecard`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -209,11 +213,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -428,11 +434,14 @@ "source": [ "\n", "\n", - "## Initializing a model object\n", + "## Initialize the ValidMind model\n", "\n", "In this Excel-based use case, predictions are precomputed and included in the Excel file. While there's no model logic to run, a ValidMind model object (`vm_model`) is still required for passing to other functions for analysis and tests on the data.\n", "\n", - "Simply define a placeholder model using [`init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", + "\n", + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -863,7 +872,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "
Note the outputs returned indicating that certain test-driven blocks don't currently exist in your model's documentation for this particular test ID. \n", + "
Note the outputs returned indicating that certain test-driven blocks don't currently exist in your documentation for this particular test ID. \n", "

\n", "That's expected, as when we run individual tests not defined by the documentation template out-of-the-box, the results logged need to be manually added to your documentation within the ValidMind Platform.
" ] @@ -876,17 +885,17 @@ "\n", "## Next steps\n", "\n", - "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way, use the ValidMind Platform to work with your model documentation.\n", + "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way, use the ValidMind Platform to work with your documentation.\n", "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - " What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready.\n", + " What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready.\n", "\n", "3. Expand the following section to review tests automatically inserted into your documentation template: **2.3. Feature Selection and Engineering**\n", "\n", @@ -894,13 +903,13 @@ "\n", "#### Add individual test results to documentation\n", "\n", - "Let's also add our additional test results into the documentation. These were results sent by individual tests not defined out-of-the-box by our template. For example ([Need more help?](https://docs.validmind.ai/developer/model-documentation/work-with-test-results.html)):\n", + "Let's also add our additional test results into the documentation. These were results sent by individual tests not defined out-of-the-box by our template. For example (**Learn more:** [Work with test results](https://docs.validmind.ai/guide/documentation/work-with-test-results.html)):\n", "\n", "1. Locate the Data Preparation section of your documentation and click on **2.2. Correlations and Interactions** to expand that section.\n", "\n", "4. Hover under the Pearson Correlation Matrix content block until a horizontal dashed line with a **+** button appears, indicating that you can insert a new block.\n", "\n", - " \"Screenshot\n", + " \"Screenshot\n", "

\n", "\n", "5. Click **+** and then select **Test-Driven Block** under FROM LIBRARY:\n", @@ -917,11 +926,11 @@ "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -968,7 +977,7 @@ }, { "cell_type": "markdown", - "id": "copyright-d5682d445de64cada526101fd53872e2", + "id": "copyright-9a4dd2ee254f496292698e9be3d8f799", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/nlp_and_llm/foundation_models_integration_demo.ipynb b/site/notebooks/use_cases/nlp_and_llm/foundation_models_integration_demo.ipynb index a9a82857d..583c0a1ea 100644 --- a/site/notebooks/use_cases/nlp_and_llm/foundation_models_integration_demo.ipynb +++ b/site/notebooks/use_cases/nlp_and_llm/foundation_models_integration_demo.ipynb @@ -56,7 +56,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind's suite of tools enables organizations to identify, document, and manage model risks for all types of models, including AI/ML models, LLMs, and statistical models. As a model developer, you use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation initiatives. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", + "\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "If this is your first time trying out ValidMind, we recommend going through the following resources first:\n", "\n", @@ -74,7 +76,7 @@ "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind
\n", "\n", "This notebook requires an OpenAI API secret key to run. If you don't have one, visit [API keys](https://platform.openai.com/account/api-keys) on OpenAI's site to create a new key for yourself. Note that API usage charges may apply.\n", "\n", @@ -127,17 +129,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -148,10 +152,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `LLM-based Text Classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -165,11 +171,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -413,7 +421,7 @@ "\n", "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way: view the prompt validation test results as part of your model documentation in the ValidMind Platform:\n", "\n", - "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html))\n", + "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "2. Expand **2. Data Preparation** or **3. Model Development** to review all test results.\n", "\n", diff --git a/site/notebooks/use_cases/nlp_and_llm/foundation_models_summarization_demo.ipynb b/site/notebooks/use_cases/nlp_and_llm/foundation_models_summarization_demo.ipynb index e4c7e067b..759b0d733 100644 --- a/site/notebooks/use_cases/nlp_and_llm/foundation_models_summarization_demo.ipynb +++ b/site/notebooks/use_cases/nlp_and_llm/foundation_models_summarization_demo.ipynb @@ -8,7 +8,7 @@ "\n", "Document a large language model (LLM) using the ValidMind Library. The use case is a summarization of financial news based on a dataset containing just over 300k unique news articles as written by journalists at CNN and the Daily Mail. \n", "\n", - "This interactive notebook shows you how to set up the ValidMind Library, initialize the library, and load the dataset, followed by running the model validation tests provided by the ValidMind Library to quickly generate documentation about the data and model." + "This interactive notebook shows you how to set up the ValidMind Library, initialize the library, and load the dataset, followed by running the validation tests provided by the ValidMind Library to quickly generate documentation about the data and model." ] }, { @@ -54,7 +54,7 @@ "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "This notebook requires an OpenAI API secret key to run. If you don't have one, visit [API keys](https://platform.openai.com/account/api-keys) on OpenAI's site to create a new key for yourself. Note that API usage charges may apply.\n", "\n", @@ -69,7 +69,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind's suite of tools enables organizations to identify, document, and manage model risks for all types of models, including AI/ML models, LLMs, and statistical models. As a model developer, you use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", + "\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "If this is your first time trying out ValidMind, we recommend going through the following resources first:\n", "\n", @@ -123,17 +125,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -144,10 +148,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `LLM-based Text Summarization`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -161,11 +167,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -457,7 +465,7 @@ "\n", "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way: view the prompt validation test results as part of your model documentation in the ValidMind Platform:\n", "\n", - "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html)\n", + "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. (Learn more: [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "2. Expand **2. Data Preparation** or **3. Model Development** to review all test results.\n", "\n", diff --git a/site/notebooks/use_cases/nlp_and_llm/hugging_face_integration_demo.ipynb b/site/notebooks/use_cases/nlp_and_llm/hugging_face_integration_demo.ipynb index a83eeed94..ceefd99f7 100644 --- a/site/notebooks/use_cases/nlp_and_llm/hugging_face_integration_demo.ipynb +++ b/site/notebooks/use_cases/nlp_and_llm/hugging_face_integration_demo.ipynb @@ -55,7 +55,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind's suite of tools enables organizations to identify, document, and manage model risks for all types of models, including AI/ML models, LLMs, and statistical models. As a model developer, you use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation initiatives. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", + "\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "If this is your first time trying out ValidMind, we recommend going through the following resources first:\n", "\n", @@ -73,7 +75,7 @@ "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "If you encounter errors due to missing modules in your Python environment, install the modules with `pip install`, and then re-run the notebook. For more help, refer to [Installing Python Modules](https://docs.python.org/3/installing/index.html)." ] @@ -124,17 +126,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -145,10 +149,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `NLP-based Text Classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -162,11 +168,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -392,7 +400,7 @@ "\n", "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way: view the prompt validation test results as part of your model documentation in the ValidMind Platform:\n", "\n", - "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html)\n", + "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. (Learn more: [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "2. Expand **2. Data Preparation** or **3. Model Development** to review all test results.\n", "\n", diff --git a/site/notebooks/use_cases/nlp_and_llm/hugging_face_summarization_demo.ipynb b/site/notebooks/use_cases/nlp_and_llm/hugging_face_summarization_demo.ipynb index 290bf7c54..5db308064 100644 --- a/site/notebooks/use_cases/nlp_and_llm/hugging_face_summarization_demo.ipynb +++ b/site/notebooks/use_cases/nlp_and_llm/hugging_face_summarization_demo.ipynb @@ -8,7 +8,7 @@ "\n", "Document a natural language processing (NLP) model using ValidMind to summarize financial news, based on a dataset of just over 300,000 unique news articles written by journalists at CNN and the Daily Mail.\n", "\n", - "This interactive notebook shows you how to set up the ValidMind Library, initialize the library, and load the dataset, followed by running the model validation tests provided by the ValidMind Library to quickly generate documentation about the data and model." + "This interactive notebook shows you how to set up the ValidMind Library, initialize the library, and load the dataset, followed by running the validation tests provided by the ValidMind Library to quickly generate documentation about the data and model." ] }, { @@ -52,7 +52,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind's suite of tools enables organizations to identify, document, and manage model risks for all types of models, including AI/ML models, LLMs, and statistical models. As a model developer, you use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", + "\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "If this is your first time trying out ValidMind, we recommend going through the following resources first:\n", "\n", @@ -70,7 +72,7 @@ "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "If you encounter errors due to missing modules in your Python environment, install the modules with `pip install`, and then re-run the notebook. For more help, refer to [Installing Python Modules](https://docs.python.org/3/installing/index.html)." ] @@ -121,17 +123,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -142,10 +146,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `NLP-based Text Classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -159,11 +165,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -413,7 +421,7 @@ "\n", "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way: view the prompt validation test results as part of your model documentation in the ValidMind Platform:\n", "\n", - "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html)\n", + "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. (Learn more: [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "2. Expand **2. Data Preparation** or **3. Model Development** to review all test results.\n", "\n", diff --git a/site/notebooks/use_cases/nlp_and_llm/llm_summarization_demo.ipynb b/site/notebooks/use_cases/nlp_and_llm/llm_summarization_demo.ipynb index a79afa779..14f7b1ee2 100644 --- a/site/notebooks/use_cases/nlp_and_llm/llm_summarization_demo.ipynb +++ b/site/notebooks/use_cases/nlp_and_llm/llm_summarization_demo.ipynb @@ -86,7 +86,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind's suite of tools enables organizations to identify, document, and manage model risks for all types of models, including AI/ML models, LLMs, and statistical models. As a model developer, you use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", + "\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "If this is your first time trying out ValidMind, you can make use of the following resources alongside this notebook:\n", "\n", @@ -104,7 +106,7 @@ "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "If you encounter errors due to missing modules in your Python environment, install the modules with `pip install`, and then re-run the notebook. For more help, refer to [Installing Python Modules](https://docs.python.org/3/installing/index.html)." ] @@ -155,17 +157,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -176,10 +180,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `LLM-based Text Summarization`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -193,11 +199,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -930,7 +938,7 @@ "\n", "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way: view the prompt validation test results as part of your model documentation right in the ValidMind Platform:\n", "\n", - "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html)\n", + "1. In the ValidMind Platform, click **Development** under Documents for the model you registered earlier. (Learn more: [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "2. Expand **2. Data Preparation** or **3. Model Development** to review all test results.\n", "\n", diff --git a/site/notebooks/use_cases/nlp_and_llm/prompt_validation_demo.ipynb b/site/notebooks/use_cases/nlp_and_llm/prompt_validation_demo.ipynb index 16b5f7c42..7e2fe0741 100644 --- a/site/notebooks/use_cases/nlp_and_llm/prompt_validation_demo.ipynb +++ b/site/notebooks/use_cases/nlp_and_llm/prompt_validation_demo.ipynb @@ -55,9 +55,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -71,11 +71,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -151,17 +151,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -172,10 +174,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `LLM-based Text Classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -189,11 +193,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -452,23 +458,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Model Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (**Learn more:** [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. Click and expand the **Model Development** section.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] diff --git a/site/notebooks/use_cases/nlp_and_llm/rag_benchmark_demo.ipynb b/site/notebooks/use_cases/nlp_and_llm/rag_benchmark_demo.ipynb index 3c036bc62..a224f1721 100644 --- a/site/notebooks/use_cases/nlp_and_llm/rag_benchmark_demo.ipynb +++ b/site/notebooks/use_cases/nlp_and_llm/rag_benchmark_demo.ipynb @@ -82,9 +82,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -98,11 +98,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -190,17 +190,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -211,10 +213,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Gen AI RAG`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -242,11 +246,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { diff --git a/site/notebooks/use_cases/nlp_and_llm/rag_documentation_demo.ipynb b/site/notebooks/use_cases/nlp_and_llm/rag_documentation_demo.ipynb index 744acddc9..7589bd17b 100644 --- a/site/notebooks/use_cases/nlp_and_llm/rag_documentation_demo.ipynb +++ b/site/notebooks/use_cases/nlp_and_llm/rag_documentation_demo.ipynb @@ -81,9 +81,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -97,11 +97,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -165,16 +165,18 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -185,10 +187,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Gen AI RAG`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -216,11 +220,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { diff --git a/site/notebooks/use_cases/ongoing_monitoring/application_scorecard_ongoing_monitoring.ipynb b/site/notebooks/use_cases/ongoing_monitoring/application_scorecard_ongoing_monitoring.ipynb index df159619f..a420430b1 100644 --- a/site/notebooks/use_cases/ongoing_monitoring/application_scorecard_ongoing_monitoring.ipynb +++ b/site/notebooks/use_cases/ongoing_monitoring/application_scorecard_ongoing_monitoring.ipynb @@ -33,7 +33,7 @@ "- [Load the reference and monitoring datasets](#toc3__) \n", "- [Train the model](#toc4__) \n", " - [Initialize the ValidMind datasets](#toc4_1__) \n", - " - [Initialize a model object](#toc4_2__) \n", + " - [Initialize the ValidMind model](#toc4_2__) \n", " - [Assign prediction values and probabilities to the datasets](#toc4_3__) \n", " - [Compute credit risk scores](#toc4_4__) \n", " - [Adding custom context to the LLM descriptions](#toc4_5__) \n", @@ -66,9 +66,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation, validation, monitoring tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation, validation, and monitoring tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -82,11 +82,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -162,17 +162,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -187,6 +189,8 @@ "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Monitoring**.\n", "\n", + " If you cannot locate your Monitoring document, make sure Monitoring type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Ongoing Monitoring for Classification Models`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -200,11 +204,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Monitoring` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -294,7 +300,7 @@ "\n", "### Preview the monitoring template\n", "\n", - "A template predefines sections for your model monitoring documentation and provides a general outline to follow, making the documentation process much easier.\n", + "A template predefines sections for your monitoring documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "You will upload documentation and test results into this template later on. For now, take a look at the structure that the template provides with the `vm.preview_template()` function from the ValidMind library and note the empty sections:" ] @@ -456,9 +462,14 @@ "source": [ "\n", "\n", - "### Initialize a model object\n", + "### Initialize the ValidMind model\n", + "\n", + "You will also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "You will also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data. You simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -1343,7 +1354,7 @@ }, { "cell_type": "markdown", - "id": "copyright-7d1a3b9bebaf43cdb331352abb7456af", + "id": "copyright-a1aa6fcedbed410099c3b537625ad59b", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/ongoing_monitoring/quickstart_customer_churn_ongoing_monitoring.ipynb b/site/notebooks/use_cases/ongoing_monitoring/quickstart_customer_churn_ongoing_monitoring.ipynb index 765be3607..839da8e5f 100644 --- a/site/notebooks/use_cases/ongoing_monitoring/quickstart_customer_churn_ongoing_monitoring.ipynb +++ b/site/notebooks/use_cases/ongoing_monitoring/quickstart_customer_churn_ongoing_monitoring.ipynb @@ -34,7 +34,7 @@ "- [Load the reference and monitoring datasets](#toc3__) \n", " - [Load the production model](#toc3_1__) \n", " - [Initialize the ValidMind datasets](#toc3_2__) \n", - " - [Initialize a model object](#toc3_3__) \n", + " - [Initialize the ValidMind model](#toc3_3__) \n", " - [Assign predictions to the datasets](#toc3_4__) \n", " - [Run the ongoing monitoring tests](#toc3_5__) \n", " - [Conduct target and feature drift testing](#toc3_6__) \n", @@ -64,9 +64,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation, validation, monitoring tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation, validation, and monitoring tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -80,11 +80,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -160,17 +160,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -185,6 +187,8 @@ "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Monitoring**.\n", "\n", + " If you cannot locate your Monitoring document, make sure Monitoring type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Ongoing Monitoring for Classification Models`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -198,11 +202,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Monitoring` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -379,9 +385,14 @@ "source": [ "\n", "\n", - "### Initialize a model object\n", + "### Initialize the ValidMind model\n", + "\n", + "You'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for our model.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "Additionally, you'll need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data. You simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -526,7 +537,7 @@ "source": [ "Next, let's run *comparison tests*, which will allow comparing differences between the training dataset and monitoring datasets. To run a test in comparison mode, you only need to pass an `input_grid` parameter to the `run_test()` method instead of `inputs`.\n", "\n", - "For more information about comparison tests, see this [notebook](../../how_to/tests/run_tests/2_run_comparison_tests.ipynb)." + "For more information about comparison tests, see this [notebook](../../how_to/tests/run_tests/2-run_comparison_tests.ipynb)." ] }, { @@ -793,21 +804,21 @@ "\n", "### Work with your monitoring report\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Monitoring** under Documents.\n", "\n", - "What you see is the full draft of your monitoring report in a more easily consumable version. From here, you can make qualitative edits to monitoring reports, view guidelines, review monitoring results, and submit your monitoring report for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/monitoring/ongoing-monitoring.html)\n", + "What you see is the full draft of your monitoring report in a more easily consumable version. From here, you can make qualitative edits to monitoring reports, view guidelines, review monitoring results, and submit your monitoring report for approval when it's ready. (**Learn more:** [Ongoing monitoring](https://docs.validmind.ai/guide/monitoring/ongoing-monitoring.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -854,7 +865,7 @@ }, { "cell_type": "markdown", - "id": "copyright-336984df36024986aa3efd6a4079956f", + "id": "copyright-06926ffb7c9846eca24d1130049d6316", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/regression/quickstart_regression_full_suite.ipynb b/site/notebooks/use_cases/regression/quickstart_regression_full_suite.ipynb index 55a3854a1..466da8019 100644 --- a/site/notebooks/use_cases/regression/quickstart_regression_full_suite.ipynb +++ b/site/notebooks/use_cases/regression/quickstart_regression_full_suite.ipynb @@ -35,11 +35,11 @@ "- [Document the model](#toc5__) \n", " - [Prepocess the raw dataset](#toc5_1__) \n", " - [Initialize the ValidMind datasets](#toc5_2__) \n", - " - [Initialize a model object](#toc5_3__) \n", + " - [Initialize the ValidMind models](#toc5_3__) \n", " - [Assign predictions to the datasets](#toc5_4__) \n", " - [Run the full suite of tests](#toc5_5__) \n", "- [Next steps](#toc6__) \n", - " - [Work with your model documentation](#toc6_1__) \n", + " - [Work with your documentation](#toc6_1__) \n", " - [Discover more learning resources](#toc6_2__) \n", "- [Upgrade ValidMind](#toc7__) \n", "\n", @@ -62,7 +62,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind's suite of tools enables organizations to identify, document, and manage model risks for all types of models, including AI/ML models, LLMs, and statistical models. As a model developer, you use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", + "\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "If this is your first time trying out ValidMind, you can make use of the following resources alongside this notebook:\n", "\n", @@ -80,7 +82,7 @@ "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "If you encounter errors due to missing modules in your Python environment, install the modules with `pip install`, and then re-run the notebook. For more help, refer to [Installing Python Modules](https://docs.python.org/3/installing/index.html)." ] @@ -131,17 +133,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", + "\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "5. Select your own name under the **RECORD OWNER** drop-down.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -152,10 +156,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -169,11 +175,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -398,9 +406,14 @@ "source": [ "\n", "\n", - "### Initialize a model object\n", + "### Initialize the ValidMind models\n", + "\n", + "You'll also need to initialize ValidMind model objects (`vm_model`) that can be passed to other functions for analysis and tests on the data for our models.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "Additionally, you need to initialize a ValidMind model objects (`vm_model` and `vm_model_1`) that can be passed to other functions for analysis and tests on the data. You simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -494,13 +507,13 @@ "\n", "## Next steps\n", "\n", - "You can look at the output produced by the ValidMind Library right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your model documentation.\n", + "You can look at the output produced by the ValidMind Library right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your documentation.\n", "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", @@ -509,17 +522,17 @@ " - **2. Data Preparation**\n", " - **3. Model Development**\n", "\n", - "What you can see now is a much more easily consumable version of the documentation, including the results of the tests you just performed, along with other parts of your model documentation that still need to be completed. There is a wealth of information that gets uploaded when you run the full test suite, so take a closer look around, especially at test results that might need attention (hint: some of the tests in **2.1 Data description** look like they need some attention). From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you can see now is a much more easily consumable version of the documentation, including the results of the tests you just performed, along with other parts of your model documentation that still need to be completed. There is a wealth of information that gets uploaded when you run the full test suite, so take a closer look around, especially at test results that might need attention (hint: some of the tests in **2.1 Data description** look like they need some attention). From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -566,7 +579,7 @@ }, { "cell_type": "markdown", - "id": "copyright-6eb89a7d0bbf4f2a8dd973330f359ed6", + "id": "copyright-8bce9bf3b74d4bb5a749dade71cae99d", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/time_series/quickstart_time_series_full_suite.ipynb b/site/notebooks/use_cases/time_series/quickstart_time_series_full_suite.ipynb index 6d712adde..29e07e6e9 100644 --- a/site/notebooks/use_cases/time_series/quickstart_time_series_full_suite.ipynb +++ b/site/notebooks/use_cases/time_series/quickstart_time_series_full_suite.ipynb @@ -38,11 +38,11 @@ " - [Prepocess the raw dataset](#toc4_1__) \n", " - [Train random forests and gradient boosting regressor models](#toc4_2__) \n", " - [Initialize the ValidMind datasets](#toc4_3__) \n", - " - [Initialize the model objects](#toc4_4__) \n", + " - [Initialize the ValidMind models](#toc4_4__) \n", " - [Assign predictions to the datasets](#toc4_5__) \n", " - [Run the full suite of tests](#toc4_6__) \n", "- [Next steps](#toc5__) \n", - " - [Work with your model documentation](#toc5_1__) \n", + " - [Work with your documentation](#toc5_1__) \n", " - [Discover more learning resources](#toc5_2__) \n", "- [Upgrade ValidMind](#toc6__) \n", "\n", @@ -65,9 +65,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -81,11 +81,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -163,17 +163,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -184,10 +186,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Binary classification`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -201,11 +205,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -513,9 +519,14 @@ "source": [ "\n", "\n", - "### Initialize the model objects\n", + "### Initialize the ValidMind models\n", + "\n", + "You'll also need to initialize ValidMind model objects (`vm_model`) that can be passed to other functions for analysis and tests on the data for our models.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "Additionally, you need to initialize a ValidMind model object (`vm_model`) for each model, that can be passed to other functions for analysis and tests on the data. You simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -648,23 +659,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Model Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (**Learn more:** [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. Click and expand the **Model Development** section.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/model-documentation/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -711,7 +722,7 @@ }, { "cell_type": "markdown", - "id": "copyright-b9c8d56383ed44cfa943d32f12fc037c", + "id": "copyright-ab56373aa7ee4e15909017ab135ceaae", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/time_series/quickstart_time_series_high_code.ipynb b/site/notebooks/use_cases/time_series/quickstart_time_series_high_code.ipynb index 87610c5f9..fec02e587 100644 --- a/site/notebooks/use_cases/time_series/quickstart_time_series_high_code.ipynb +++ b/site/notebooks/use_cases/time_series/quickstart_time_series_high_code.ipynb @@ -38,12 +38,12 @@ " - [Prepocess the raw dataset](#toc4_1__) \n", " - [Train random forests and gradient boosting regressor models](#toc4_2__) \n", " - [Initialize the ValidMind datasets](#toc4_3__) \n", - " - [Initialize the model objects](#toc4_4__) \n", + " - [Initialize the ValidMind models](#toc4_4__) \n", " - [Assign predictions to the datasets](#toc4_5__) \n", " - [Run data validation tests](#toc4_6__) \n", " - [Run model validation tests](#toc4_7__) \n", "- [Next steps](#toc5__) \n", - " - [Work with your model documentation](#toc5_1__) \n", + " - [Work with your documentation](#toc5_1__) \n", " - [Discover more learning resources](#toc5_2__) \n", "- [Upgrade ValidMind](#toc6__) \n", "\n", @@ -66,9 +66,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on model documentation. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model validators.\n", + "You use the ValidMind Library to automate documentation and validation tests, and then use the ValidMind Platform to collaborate on documentation. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and validators.\n", "\n", "\n", "\n", @@ -82,11 +82,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
\n", + "Register with ValidMind\n", "\n", "\n", "\n", @@ -164,17 +164,19 @@ "\n", "#### Register sample model\n", "\n", - "Let's first register a sample model for use with this notebook:\n", + "Let's first register a sample record (model) for use with this notebook:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -185,10 +187,12 @@ "\n", "#### Apply documentation template\n", "\n", - "Once you've registered your model, let's select a documentation template. A template predefines sections for your model documentation and provides a general outline to follow, making the documentation process much easier.\n", + "Once you've registered your model, let's select a documentation template. A template predefines sections for your documentation and provides a general outline to follow, making the documentation process much easier.\n", "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Development**.\n", "\n", + " If you cannot locate your Development document, make sure Development type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Time Series Forecasting with ML`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -202,11 +206,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Development` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -513,9 +519,14 @@ "source": [ "\n", "\n", - "### Initialize the model objects\n", + "### Initialize the ValidMind models\n", + "\n", + "You'll also need to initialize ValidMind model objects (`vm_model`) that can be passed to other functions for analysis and tests on the data for our models.\n", + "\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "Additionally, you need to initialize a ValidMind model object (`vm_model`) for each model, that can be passed to other functions for analysis and tests on the data. You simply intialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -906,23 +917,23 @@ "\n", "\n", "\n", - "### Work with your model documentation\n", + "### Work with your documentation\n", "\n", - "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/working-with-model-inventory.html))\n", + "1. From the **Inventory** in the ValidMind Platform, go to the model you registered earlier. (Learn more: [Working with the inventory](https://docs.validmind.ai/guide/inventory/working-with-the-inventory.html))\n", "\n", "2. In the left sidebar that appears for your model, click **Development** under Documents.\n", "\n", - "What you see is the full draft of your model documentation in a more easily consumable version. From here, you can make qualitative edits to model documentation, view guidelines, collaborate with validators, and submit your model documentation for approval when it's ready. [Learn more ...](https://docs.validmind.ai/guide/working-with-model-documentation.html)\n", + "What you see is the full draft of your documentation in a more easily consumable version. From here, you can make qualitative edits to documentation, view guidelines, collaborate with validators, and submit your documentation for approval when it's ready. (**Learn more:** [Working with documentation](https://docs.validmind.ai/guide/documentation/working-with-documentation.html))\n", "\n", "\n", "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -969,7 +980,7 @@ }, { "cell_type": "markdown", - "id": "copyright-4f0137500d9c49d3b6641ef3779aa140", + "id": "copyright-d549f9055f374ee392fb42facfd75cb9", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/model_validation/validate_application_scorecard.ipynb b/site/notebooks/use_cases/validation/validate_application_scorecard.ipynb similarity index 93% rename from site/notebooks/use_cases/model_validation/validate_application_scorecard.ipynb rename to site/notebooks/use_cases/validation/validate_application_scorecard.ipynb index 7857d42e0..5eb6fd0b3 100644 --- a/site/notebooks/use_cases/model_validation/validate_application_scorecard.ipynb +++ b/site/notebooks/use_cases/validation/validate_application_scorecard.ipynb @@ -15,8 +15,8 @@ "\n", "This interactive notebook provides a step-by-step guide for:\n", "\n", - "- Verifying the data quality steps performed by the model development team\n", - "- Independently replicating the champion model's results and conducting additional tests to assess performance, stability, and robustness\n", + "- Verifying the data quality steps performed by the development team\n", + "- Independently replicating the champion's results and conducting additional tests to assess performance, stability, and robustness\n", "- Setting up test inputs and challenger models for comparative analysis\n", "- Running validation tests, analyzing results, and logging artifacts (findings) to ValidMind" ] @@ -51,7 +51,7 @@ " - [Compute binary predictions](#toc3_2_1__) \n", "- [Initializing the ValidMind objects](#toc4__) \n", " - [Initialize the ValidMind datasets](#toc4_1__) \n", - " - [Initialize the model objects](#toc4_2__) \n", + " - [Initialize the ValidMind models](#toc4_2__) \n", " - [Assign predictions](#toc4_3__) \n", " - [Compute credit risk scores](#toc4_4__) \n", "- [Running data quality tests](#toc5__) \n", @@ -96,9 +96,9 @@ "\n", "## About ValidMind\n", "\n", - "ValidMind is a suite of tools for managing model risk, including risk associated with AI and statistical models.\n", + "ValidMind is a suite of tools for managing risk, including risk associated with AI and statistical models.\n", "\n", - "You use the ValidMind Library to automate comparison and other validation tests, and then use the ValidMind Platform to submit compliance assessments of champion models via comprehensive validation reports. Together, these products simplify model risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and model developers." + "You use the ValidMind Library to automate comparison and other validation tests, and then use the ValidMind Platform to submit compliance assessments of champions via comprehensive validation reports. Together, these products simplify risk management, facilitate compliance with regulations and institutional standards, and enhance collaboration between yourself and developers." ] }, { @@ -122,11 +122,11 @@ "\n", "### New to ValidMind?\n", "\n", - "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about documenting models and running tests, as well as find code samples and our Python Library API reference.\n", + "If you haven't already seen our documentation on the [ValidMind Library](https://docs.validmind.ai/developer/validmind-library.html), we recommend you begin by exploring the available resources in this section. There, you can learn more about validating records such as models and running tests, as well as find code samples and our Python Library API reference.\n", "\n", "
For access to all features available in this notebook, you'll need access to a ValidMind account.\n", "

\n", - "Register with ValidMind
" + "Register with ValidMind" ] }, { @@ -176,19 +176,21 @@ "\n", "### Register a sample model\n", "\n", - "In a usual model lifecycle, a champion model will have been independently registered in your model inventory and submitted to you for validation by your model development team as part of the effective challenge process. (**Learn more:** [Submit for approval](https://docs.validmind.ai/guide/model-documentation/submit-for-approval.html))\n", + "In a usual lifecycle, a champion will have been independently registered in your inventory and submitted to you for validation by your development team as part of the effective challenge process. (**Learn more:** [Submit documents](https://docs.validmind.ai/guide/documentation/submit-documents.html))\n", "\n", - "For this notebook, we'll have you register a dummy model in the ValidMind Platform inventory and assign yourself as the validator to familiarize you with the ValidMind interface and circumvent the need for an existing model:\n", + "For this notebook, we'll have you register a dummy record (model) in the ValidMind Platform inventory and assign yourself as the validator to familiarize you with the ValidMind interface and circumvent the need for an existing model:\n", "\n", - "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/configuration/log-in-to-validmind.html).\n", + "1. In a browser, [log in to ValidMind](https://docs.validmind.ai/guide/access/log-in-to-validmind.html).\n", "\n", - "2. In the left sidebar, navigate to **Inventory** and click **+ Register Model**.\n", + "2. In the left sidebar, select **Inventory**.\n", "\n", - "3. Enter the model details and click **Next >** to continue to assignment of model stakeholders. ([Need more help?](https://docs.validmind.ai/guide/model-inventory/register-models-in-inventory.html))\n", + "3. Under the **RECORD TYPE** drop-down, select `Model` and click **+ Register Model**. (Learn more: [Register records in the inventory](https://docs.validmind.ai/guide/inventory/register-records-in-inventory.html))\n", "\n", - "4. Select your own name under the **MODEL OWNER** drop-down — don’t worry, we’ll adjust these permissions next for validation.\n", + "4. Enter the model details and click **Next >** to continue to assignment of inventory record stakeholders.\n", "\n", - "5. Click **Register Model** to add the model to your inventory." + "5. Select your own name under the **RECORD OWNER** drop-down — don’t worry, we’ll adjust these permissions next for validation.\n", + "\n", + "6. Click **Register Model** to add the model to your inventory." ] }, { @@ -199,21 +201,21 @@ "\n", "#### Assign validator credentials\n", "\n", - "In order to log tests as a validator instead of as a developer, on the model details page that appears after you've successfully registered your sample model:\n", + "In order to log tests as a validator instead of as a developer, on the details page that appears after you've successfully registered your sample model:\n", "\n", - "1. Remove yourself as a model owner: \n", + "1. Remove yourself as an owner:\n", "\n", " - Click on the **OWNERS** tile.\n", " - Click the **x** next to your name to remove yourself from that model's role.\n", " - Click **Save** to apply your changes to that role.\n", "\n", - "2. Remove yourself as a developer: \n", + "2. Remove yourself as a developer:\n", "\n", " - Click on the **DEVELOPERS** tile.\n", " - Click the **x** next to your name to remove yourself from that model's role.\n", " - Click **Save** to apply your changes to that role.\n", "\n", - "3. Add yourself as a validator: \n", + "3. Add yourself as a validator:\n", "\n", " - Click on the **VALIDATORS** tile.\n", " - Select your name from the drop-down menu.\n", @@ -232,6 +234,8 @@ "\n", "1. In the left sidebar that appears for your model, click **Documents** and select **Validation**.\n", "\n", + " If you cannot locate your Validation document, make sure Validation type documents are enabled for model records and create a new document. (**Learn more:** [Manage documents](https://docs.validmind.ai/guide/templates/manage-documents.html#add-record-documents))\n", + "\n", "2. Under **TEMPLATE**, select `Generic Validation Report`.\n", "\n", "3. Click **Use Template** to apply the template." @@ -278,11 +282,13 @@ "\n", "#### Get your code snippet\n", "\n", - "Initialize the ValidMind Library with the *code snippet* unique to each model per document, ensuring your test results are uploaded to the correct model and automatically populated in the right document in the ValidMind Platform when you run this notebook.\n", + "Initialize the ValidMind Library with the *code snippet* unique to each record per document, ensuring your test results are uploaded to the correct record and automatically populated in the right document in the ValidMind Platform when you run the Library.\n", "\n", "1. On the left sidebar that appears for your model, select **Getting Started** and select `Validation` from the **DOCUMENT** drop-down menu.\n", + "\n", "2. Click **Copy snippet to clipboard**.\n", - "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/model-documentation/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" + "\n", + "3. Next, [load your model identifier credentials from an `.env` file](https://docs.validmind.ai/developer/quickstart/store-credentials-in-env-file.html) or replace the placeholder with your own code snippet:" ] }, { @@ -317,7 +323,7 @@ "\n", "### Importing the champion model\n", "\n", - "With the ValidMind Library set up and ready to go, let's go ahead and import the champion model submitted by the model development team in the format of a `.pkl` file: **[xgb_model_champion.pkl](xgb_model_champion.pkl)**" + "With the ValidMind Library set up and ready to go, let's go ahead and import the champion submitted by the development team in the format of a `.pkl` file: **[xgb_model_champion.pkl](xgb_model_champion.pkl)**" ] }, { @@ -724,11 +730,14 @@ "source": [ "\n", "\n", - "### Initialize the model objects\n", + "### Initialize the ValidMind models\n", + "\n", + "You'll also need to initialize ValidMind model objects (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our three models.\n", "\n", - "You'll also need to initialize a ValidMind model object (`vm_model`) that can be passed to other functions for analysis and tests on the data for each of our three models.\n", + "- Despite the naming convention, ValidMind model objects can be any type of record you want to test, document, validate, or monitor with the ValidMind Library.\n", + "- From classical statistical and machine learning models, to generative and agentic AI systems and more, the ValidMind model object provides a consistent wrapper around your record so it can be passed as a unified input to any ValidMind test or test suite, with results sent directly to the ValidMind Platform.\n", "\n", - "You simply initialize this model object with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" + "Initialize your model objects with [`vm.init_model()`](https://docs.validmind.ai/validmind/validmind.html#init_model):" ] }, { @@ -859,7 +868,7 @@ "\n", "## Running data quality tests\n", "\n", - "With everything ready to go, let's explore some of ValidMind's available tests. Using ValidMind’s repository of tests streamlines your validation testing, and helps you ensure that your models are being validated appropriately." + "With everything ready to go, let's explore some of ValidMind's available tests. Using ValidMind’s repository of tests streamlines your validation testing, and helps you ensure that your records are being validated appropriately." ] }, { @@ -946,7 +955,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "
Note the output returned indicating that a test-driven block doesn't currently exist in your model's documentation for some test IDs. \n", + "
Note the output returned indicating that a test-driven block doesn't currently exist in your documentation for some test IDs. \n", "

\n", "That's expected, as when we run validations tests the results logged need to be manually added to your report as part of your compliance assessment process within the ValidMind Platform. You'll continue to see this message throughout this notebook as we run and log more tests.
" ] @@ -1151,7 +1160,7 @@ "\n", "### Evaluate performance of challenger models\n", "\n", - "We've now conducted similar tests as the model development team for our champion model, with the aim of verifying their test results.\n", + "We've now conducted similar tests as the development team for our champion, with the aim of verifying their test results.\n", "\n", "Next, let's see how our challenger models compare. We'll use the same batch of tests here as we did in `mpt`, but append a different `result_id` to indicate that these results should be associated with our challenger models:" ] @@ -1286,7 +1295,7 @@ "source": [ "
Want to learn more about setting custom context for LLM-generated test descriptions?\n", "

\n", - "Refer to our extended walkthrough notebook: Add context to LLM-generated test descriptions\n", + "Refer to our extended walkthrough notebook: Add context to LLM-generated test descriptions\n", "
" ] }, @@ -1604,7 +1613,7 @@ "\n", "## Verify test runs\n", "\n", - "Our final task is to verify that all the tests provided by the model development team were run and reported accurately. Note the appended `result_ids` to delineate which dataset we ran the test with for the relevant tests.\n", + "Our final task is to verify that all the tests provided by the development team were run and reported accurately. Note the appended `result_ids` to delineate which dataset we ran the test with for the relevant tests.\n", "\n", "Here, we'll specify all the tests we'd like to independently rerun in a dictionary called `test_config`. **Note here that `inputs` and `input_grid` expect the `input_id` of the dataset or model as the value rather than the variable name we specified**:" ] @@ -1775,13 +1784,13 @@ "\n", "### Work with your validation report\n", "\n", - "Now that you've logged all your test results and verified the work done by the model development team, head to the ValidMind Platform to wrap up your validation report:\n", + "Now that you've logged all your test results and verified the work done by the development team, head to the ValidMind Platform to wrap up your validation report:\n", "\n", "1. From the **Inventory** in the ValidMind Platform, go to the model you connected to earlier.\n", "\n", "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", "\n", - "Include your logged test results as evidence, create risk assessment notes, add artifacts, and assess compliance, then submit your report for review when it's ready. **Learn more:** [Preparing validation reports](https://docs.validmind.ai/guide/model-validation/preparing-validation-reports.html)" + "Include your logged test results as evidence, create risk assessment notes, add artifacts, and assess compliance, then submit your report for review when it's ready. (**Learn more:** [Preparing validation reports](https://docs.validmind.ai/guide/validation/preparing-validation-reports.html))" ] }, { @@ -1792,11 +1801,11 @@ "\n", "### Discover more learning resources\n", "\n", - "We offer many interactive notebooks to help you automate testing, documenting, validating, and more:\n", + "We also offer many interactive notebooks to help you use the ValidMind Library to streamline your work:\n", "\n", "- [Run tests & test suites](https://docs.validmind.ai/developer/how-to/testing-overview.html)\n", "- [Use ValidMind Library features](https://docs.validmind.ai/developer/how-to/feature-overview.html)\n", - "- [Code samples by use case](https://docs.validmind.ai/guide/samples-jupyter-notebooks.html)\n", + "- [Code samples by use case](https://docs.validmind.ai/developer/samples-jupyter-notebooks.html)\n", "\n", "Or, visit our [documentation](https://docs.validmind.ai/) to learn more about ValidMind." ] @@ -1843,7 +1852,7 @@ }, { "cell_type": "markdown", - "id": "copyright-bb563dd58ddf40f49499ddf7f72b21a1", + "id": "copyright-7c52ad62bcf7411eaaa00aefbac6c756", "metadata": {}, "source": [ "\n", diff --git a/site/notebooks/use_cases/model_validation/xgb_model_champion.pkl b/site/notebooks/use_cases/validation/xgb_model_champion.pkl similarity index 100% rename from site/notebooks/use_cases/model_validation/xgb_model_champion.pkl rename to site/notebooks/use_cases/validation/xgb_model_champion.pkl From 986ff1c74096cf59164bf2aa86c9e1838e727be0 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 11:59:47 -0700 Subject: [PATCH 11/36] Shuffling Validator 4 training around --- .../finalizing-validation-reports.qmd | 208 +++++++++--------- 1 file changed, 104 insertions(+), 104 deletions(-) diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index 051026cca..5de9c9a00 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -287,244 +287,244 @@ When you're done, click [{{< fa chevron-right >}}]() to continue. ::: +# Manage artifacts {background-color="#083E44" background-image="/training/assets/home-hero.svg"} + ## {.scrollable} :::: {.columns} ::: {.column width="30%" .pr4 .f2} -Refine compliance assessments +Add more artifacts ::: {.f5 .nt2 .pl2 .mb4} (Scroll down for the full instructions.) ::: ::: {.tc} -[Learn more ...](/guide/validation/assess-compliance.qmd#assign-compliance-assessments){.button target="_blank"} - -::: +[Learn more ...](/guide/validation/add-manage-artifacts.qmd){.button target="_blank"} -
Try it **live** on the next page. {{< fa hand-point-right >}} ::: -::: {.column width="70%" .bl .pl4 .f4} - -After {{< var vm.product >}} generates a draft compliance assessment for your review, you'll need to refine your assessments to ensure they are accurate and complete: +
-::: {.panel-tabset} +Try it **live** on the next pages. {{< fa hand-point-right >}} -### Add risk assessment notes +::: -1. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}}, go to the model you connected to earlier. +::: {.column width="70%" .bl .pl4 .f4} -2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. +Along with adding artifacts directly via validation reports, you can also add artifacts during your review of documentation: -3. Click on **2.2.1. Data Quality** to expand that section and locate the Class Imbalance Assessment sub-section. +{{< include /guide/validation/_add-artifacts-on-documentation.qmd >}} -4. Click under **Risk Assessment Notes** to edit the content block using the content editing toolbar. +::: +:::: - For example, use **{{< fa diamond >}} [beta]{.smallcaps} (Generate Text with AI)** to create a draft summarizing the contents of the Class Imbalance Assessment sub-section. +## {background-iframe="https://app.prod.validmind.ai/model-inventory" background-interactive="true" data-preload="yes"} - ![Sample compliance assessment](class-imbalance-assessment.png){width=90% fig-alt="A screenshot showing a sample compliance assessment" .screenshot} +:::: {.slideover--b .auto-collapse-10} +::: {.tc} +**Add an artifact on documentation** -### Assign compliance assessments + +::: -{{< include /guide/validation/_assign-compliance-assessments.qmd >}} +1. Select the name of your model you registered for this course to open up the model details page. +2. On the left sidebar that appears for your model, click **Development** under {{< fa file >}} Documents. +3. Click **{{< fa plus >}} Add Model Artifact** to add an artifact from the overview. -::: +When you're done, click [{{< fa chevron-right >}}]() to continue. ::: -:::: -## {background-iframe="https://app.prod.validmind.ai/model-inventory" background-interactive="true" data-preload="yes"} + ## {.scrollable} :::: {.columns} ::: {.column width="30%" .pr4 .f2} -Use the {{< var vm.checker >}} +Track issue resolution ::: {.f5 .nt2 .pl2 .mb4} (Scroll down for the full instructions.) ::: +::: {.tc} +[Learn more ...](/guide/validation/add-manage-artifacts.qmd#track-issue-resolution){.button target="_blank"} +::: -
Try it **live** on the next page. {{< fa hand-point-right >}} +
Try it **live** on the next pages. {{< fa hand-point-right >}} ::: ::: {.column width="70%" .bl .pl4 .f4} +As you prepare your report, review open or past due artifacts, close resolved ones, or add a mitigation plan: -{{< include /guide/documentation/_check-documents.qmd >}} +::: {.panel-tabset} + +### Update an artifact + +{{< include /guide/validation/_track-artifact-resolution.qmd >}} + +### View all artifacts + +Along with model-specific artifacts, you can also view and filter a list of artifacts across all models within the {{< var validmind.platform >}}: + +{{< include /guide/validation/_view-all-artifacts.qmd >}} ::: +::: :::: ## {background-iframe="https://app.prod.validmind.ai/model-inventory" background-interactive="true" data-preload="yes"} :::: {.slideover--b .auto-collapse-10} ::: {.tc} -**Check your validation report** +**Update your validation issue** ::: 1. Select the name of your model you registered for this course to open up the model details page. -2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Locate {{< fa file-circle-check >}} Check Document on the right and click to expand the menu, then click **{{< fa check >}} Check Document**. -4. Select a **[regulation]{.smallcaps}** and an associated **[assessment]{.smallcaps}** from the drop-down menus to to check your report against. -5. Scroll to the bottom and click **Check Validation Document**. -6. After the {{< var vm.checker >}} has completed its analysis, expand individual questions or click **Expand All** to look through the observations. +2. In the left sidebar that appears for your model, click **{{< fa triangle-exclamation >}} Validation Issues**. +3. Select the validation issue you logged during this course, and make some changes to any of the fields. +4. When you are finished editing, set the valildation issue **[status]{.smallcaps}** to `Closed`. When you're done, click [{{< fa chevron-right >}}]() to continue. -:::: +::: -# Manage artifacts {background-color="#083E44" background-image="/training/assets/home-hero.svg"} +## {background-iframe="https://app.prod.validmind.ai/validation-issues" background-interactive="true" data-preload="yes"} + +:::: {.slideover--b .three-quarters .auto-collapse-10} +::: {.tc} +**View all {{< fa triangle-exclamation >}} Validation Issues** +::: + +Filter this list to include only validation issues you want to see, or toggle visibilty for column headers. + +When you're done, click [{{< fa chevron-right >}}]() to continue. + +::: + +# Submit report
for approval {background-color="#083E44" background-image="/training/assets/home-hero.svg"} ## {.scrollable} :::: {.columns} ::: {.column width="30%" .pr4 .f2} -Add more artifacts +Refine compliance assessments ::: {.f5 .nt2 .pl2 .mb4} (Scroll down for the full instructions.) ::: ::: {.tc} -[Learn more ...](/guide/validation/add-manage-artifacts.qmd){.button target="_blank"} +[Learn more ...](/guide/validation/assess-compliance.qmd#assign-compliance-assessments){.button target="_blank"} ::: -
- -Try it **live** on the next pages. {{< fa hand-point-right >}} - +
Try it **live** on the next page. {{< fa hand-point-right >}} ::: ::: {.column width="70%" .bl .pl4 .f4} -Along with adding artifacts directly via validation reports, you can also add artifacts during your review of documentation: +After {{< var vm.product >}} generates a draft compliance assessment for your review, you'll need to refine your assessments to ensure they are accurate and complete: -{{< include /guide/validation/_add-artifacts-on-documentation.qmd >}} +::: {.panel-tabset} -::: -:::: +### Add risk assessment notes -## {background-iframe="https://app.prod.validmind.ai/model-inventory" background-interactive="true" data-preload="yes"} +1. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}}, go to the model you connected to earlier. -:::: {.slideover--b .auto-collapse-10} -::: {.tc} -**Add an artifact on documentation** +2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. - -::: +3. Click on **2.2.1. Data Quality** to expand that section and locate the Class Imbalance Assessment sub-section. -1. Select the name of your model you registered for this course to open up the model details page. -2. On the left sidebar that appears for your model, click **Development** under {{< fa file >}} Documents. -3. Click **{{< fa plus >}} Add Model Artifact** to add an artifact from the overview. +4. Click under **Risk Assessment Notes** to edit the content block using the content editing toolbar. -When you're done, click [{{< fa chevron-right >}}]() to continue. + For example, use **{{< fa diamond >}} [beta]{.smallcaps} (Generate Text with AI)** to create a draft summarizing the contents of the Class Imbalance Assessment sub-section. + + ![Sample compliance assessment](class-imbalance-assessment.png){width=90% fig-alt="A screenshot showing a sample compliance assessment" .screenshot} + +### Assign compliance assessments + +{{< include /guide/validation/_assign-compliance-assessments.qmd >}} ::: - +::: + +{{< include /training/common-slides/_document-checker.qmd >}} + +
+Learn how to **use the {{< var vm.checker >}} to review validation reports** on the next page. {{< fa hand-point-right >}} ## {.scrollable} :::: {.columns} ::: {.column width="30%" .pr4 .f2} -Track issue resolution +Use the {{< var vm.checker >}} ::: {.f5 .nt2 .pl2 .mb4} (Scroll down for the full instructions.) ::: -::: {.tc} -[Learn more ...](/guide/validation/add-manage-artifacts.qmd#track-issue-resolution){.button target="_blank"} -::: -
Try it **live** on the next pages. {{< fa hand-point-right >}} +
Try it **live** on the next page. {{< fa hand-point-right >}} ::: ::: {.column width="70%" .bl .pl4 .f4} -As you prepare your report, review open or past due artifacts, close resolved ones, or add a mitigation plan: - -::: {.panel-tabset} - -### Update an artifact - -{{< include /guide/validation/_track-artifact-resolution.qmd >}} - -### View all artifacts -Along with model-specific artifacts, you can also view and filter a list of artifacts across all models within the {{< var validmind.platform >}}: - -{{< include /guide/validation/_view-all-artifacts.qmd >}} +{{< include /guide/documentation/_check-documents.qmd >}} ::: -::: :::: ## {background-iframe="https://app.prod.validmind.ai/model-inventory" background-interactive="true" data-preload="yes"} :::: {.slideover--b .auto-collapse-10} ::: {.tc} -**Update your validation issue** +**Check your validation report** ::: 1. Select the name of your model you registered for this course to open up the model details page. -2. In the left sidebar that appears for your model, click **{{< fa triangle-exclamation >}} Validation Issues**. -3. Select the validation issue you logged during this course, and make some changes to any of the fields. -4. When you are finished editing, set the valildation issue **[status]{.smallcaps}** to `Closed`. - -When you're done, click [{{< fa chevron-right >}}]() to continue. - -::: - -## {background-iframe="https://app.prod.validmind.ai/validation-issues" background-interactive="true" data-preload="yes"} - -:::: {.slideover--b .three-quarters .auto-collapse-10} -::: {.tc} -**View all {{< fa triangle-exclamation >}} Validation Issues** -::: - -Filter this list to include only validation issues you want to see, or toggle visibilty for column headers. +2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. +3. Locate {{< fa file-circle-check >}} Check Document on the right and click to expand the menu, then click **{{< fa check >}} Check Document**. +4. Select a **[regulation]{.smallcaps}** and an associated **[assessment]{.smallcaps}** from the drop-down menus to to check your report against. +5. Scroll to the bottom and click **Check Validation Document**. +6. After the {{< var vm.checker >}} has completed its analysis, expand individual questions or click **Expand All** to look through the observations. When you're done, click [{{< fa chevron-right >}}]() to continue. -::: - -# Submit report
for approval {background-color="#083E44" background-image="/training/assets/home-hero.svg"} +:::: {{< include /training/common-slides/_work-with-workflows.qmd >}} From 44944b9ca9087a7e3aad4d75bc78a11a3ef5f3b4 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 12:28:54 -0700 Subject: [PATCH 12/36] autogenerate single-source setup --- .../_autogenerate-validation-issues.qmd | 107 ++++++++++++++++++ site/guide/validation/assess-compliance.qmd | 49 +------- .../finalizing-validation-reports.qmd | 27 ++++- 3 files changed, 134 insertions(+), 49 deletions(-) create mode 100644 site/guide/validation/_autogenerate-validation-issues.qmd diff --git a/site/guide/validation/_autogenerate-validation-issues.qmd b/site/guide/validation/_autogenerate-validation-issues.qmd new file mode 100644 index 000000000..e2b55b616 --- /dev/null +++ b/site/guide/validation/_autogenerate-validation-issues.qmd @@ -0,0 +1,107 @@ + + + + +::::: {.content-visible unless-format="revealjs"} + +::: {.callout-important title="AI suggestions require review!"} +Always review AI-generated validation issues before approving them. The suggestions are based on patterns in your risk assessment notes and may need adjustment to accurately reflect your findings. + +::: + +Use AI to automatically suggest validation issues based on the gaps identified in your assessment.^[This feature requires AI capabilities to be enabled for your organization — contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface.] + +a. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. + +b. Click **Suggest Validation Issues** to have {{< var vm.product >}} analyze your risk assessment notes along with the guideline context and identify any gaps that warrant validation issues. + +c. Review the suggested validation issues. Each suggestion includes: + + - A proposed title and description outlining the issue + - A preliminary severity level based on the identified gap + - A proposed remediation plan + + Click **See more {{< fa chevron-down >}}** on each suggested issue to expand for more details. + +d. Approve, reject, or regenerate the suggested validation issues: + + ::: {.panel-tabset} + + #### Approve/reject individual issues + + Under each individual issue: + + - Click **{{< fa check >}} Approve** to create the validation issue and link it to your report. + - Click **{{< fa xmark >}} Reject** to reject the suggestion if it doesn't apply. + + #### Approve/reject all issues + + Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select: + + - **{{< fa check >}} Approve All** to approve all suggested issues at once. + - **{{< fa xmark >}} Reject All** to reject all suggested issues at once. + + #### Regenerate new suggestions + + Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select **{{< fa sync >}} Regenerate Issues**. + + ::: + +e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status.^[[Add and manage artifacts](add-manage-artifacts.qmd)] + +::::: + + + +::::: {.content-hidden unless-format="revealjs"} + +::: {.callout-important title="AI suggestions require review!"} +Always review AI-generated validation issues before approving them. The suggestions are based on patterns in your risk assessment notes and may need adjustment to accurately reflect your findings. + +::: + +Use AI to automatically suggest validation issues based on the gaps identified in your assessment. + +This feature requires AI capabilities to be enabled for your organization. Contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface. + +a. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. + +b. Click **Suggest Validation Issues** to have {{< var vm.product >}} analyze your risk assessment notes along with the guideline context and identify any gaps that warrant validation issues. + +c. Review the suggested validation issues. Each suggestion includes: + + - A proposed title and description outlining the issue + - A preliminary severity level based on the identified gap + - A proposed remediation plan + + Click **See more {{< fa chevron-down >}}** on each suggested issue to expand for more details. + +d. Approve, reject, or regenerate the suggested validation issues: + + ::: {.panel-tabset} + + #### Approve/reject individual issues + + Under each individual issue: + + - Click **{{< fa check >}} Approve** to create the validation issue and link it to your report. + - Click **{{< fa xmark >}} Reject** to reject the suggestion if it doesn't apply. + + #### Approve/reject all issues + + Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select: + + - **{{< fa check >}} Approve All** to approve all suggested issues at once. + - **{{< fa xmark >}} Reject All** to reject all suggested issues at once. + + #### Regenerate new suggestions + + Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select **{{< fa sync >}} Regenerate Issues**. + + ::: + +e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status. + +::::: diff --git a/site/guide/validation/assess-compliance.qmd b/site/guide/validation/assess-compliance.qmd index f696d3abb..c5d7548b6 100644 --- a/site/guide/validation/assess-compliance.qmd +++ b/site/guide/validation/assess-compliance.qmd @@ -133,50 +133,7 @@ After you have mapped and assessed available evidence, link artifacts to reports ### Autogenerate validation issues -::: {.callout-important title="AI suggestions require review!"} -Always review AI-generated validation issues before approving them. The suggestions are based on patterns in your risk assessment notes and may need adjustment to accurately reflect your findings. - -::: - -Use AI to automatically suggest validation issues based on the gaps identified in your assessment:[^14] - -a. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. - -b. Click **Suggest Validation Issues** to have {{< var vm.product >}} analyze your risk assessment notes along with the guideline context and identify any gaps that warrant validation issues. - -c. Review the suggested validation issues. Each suggestion includes: - - - A proposed title and description outlining the issue - - A preliminary severity level based on the identified gap - - A proposed remediation plan - - Click **See more {{< fa chevron-down >}}** on each suggested issue to expand for more details. - -d. Approve, reject, or regenerate the suggested validation issues: - - ::: {.panel-tabset} - - #### Approve/reject individual issues - - Under each individual issue: - - - Click **{{< fa check >}} Approve** to create the validation issue and link it to your report. - - Click **{{< fa xmark >}} Reject** to reject the suggestion if it doesn't apply. - - #### Approve/reject all issues - - Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select: - - - **{{< fa check >}} Approve All** to approve all suggested issues at once. - - **{{< fa xmark >}} Reject All** to reject all suggested issues at once. - - #### Regenerate new suggestions - - Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select **{{< fa sync >}} Regenerate Issues**. - - ::: - -e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status.[^18] +{{< include _autogenerate-validation-issues.qmd >}} ### Manually link artifacts @@ -217,13 +174,9 @@ e. After approving a validation issue, you can further customize it by clicking [^13]: [Work with content blocks](/guide/documentation/work-with-content-blocks.qmd#content-editing-toolbar) -[^14]: This feature requires AI capabilities to be enabled for your organization — contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface. - [^15]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) [^16]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) [^17]: [Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview) -[^18]: [Add and manage artifacts](add-manage-artifacts.qmd) - diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index 5de9c9a00..f99c08518 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -312,20 +312,45 @@ Try it **live** on the next pages. {{< fa hand-point-right >}} ::: {.column width="70%" .bl .pl4 .f4} +::: {.panel-tabset} + +### Autogenerate validation issues on reports + +placeholder ??? + +### Add artifacts on documentation + Along with adding artifacts directly via validation reports, you can also add artifacts during your review of documentation: {{< include /guide/validation/_add-artifacts-on-documentation.qmd >}} +::: + ::: :::: ## {background-iframe="https://app.prod.validmind.ai/model-inventory" background-interactive="true" data-preload="yes"} +:::: {.slideover--b .auto-collapse-10} +::: {.tc} +**Autogenerate validation issues** + +::: + +1. Select the name of your model you registered for this course to open up the model details page. +2. On the left sidebar that appears for your model, click **Development** under {{< fa file >}} Documents. +3. Click **{{< fa plus >}} Add Model Artifact** to add an artifact from the overview. + +When you're done, click [{{< fa chevron-right >}}]() to continue. + +::: + +## {background-iframe="https://app.prod.validmind.ai/model-inventory" background-interactive="true" data-preload="yes"} + :::: {.slideover--b .auto-collapse-10} ::: {.tc} **Add an artifact on documentation** - ::: 1. Select the name of your model you registered for this course to open up the model details page. From 64e254fb1e18971a357063d5ced76f2570941672 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 14:04:11 -0700 Subject: [PATCH 13/36] edit --- site/guide/validation/_autogenerate-validation-issues.qmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/guide/validation/_autogenerate-validation-issues.qmd b/site/guide/validation/_autogenerate-validation-issues.qmd index e2b55b616..9acc5b47a 100644 --- a/site/guide/validation/_autogenerate-validation-issues.qmd +++ b/site/guide/validation/_autogenerate-validation-issues.qmd @@ -49,7 +49,7 @@ d. Approve, reject, or regenerate the suggested validation issues: ::: -e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status.^[[Add and manage artifacts](add-manage-artifacts.qmd)] +e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status.^[[Add and manage artifacts](/guide/validation/add-manage-artifacts.qmd)] ::::: From 4291f69f3fc935feca69cdad8d3a8100a7e6075d Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 14:17:32 -0700 Subject: [PATCH 14/36] save --- .../_add-artifacts-on-documentation.qmd | 16 ++++-------- .../_autogenerate-validation-issues.qmd | 26 ++++++++----------- .../finalizing-validation-reports.qmd | 10 +++++-- 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/site/guide/validation/_add-artifacts-on-documentation.qmd b/site/guide/validation/_add-artifacts-on-documentation.qmd index 6018aa579..c14f6fce0 100644 --- a/site/guide/validation/_add-artifacts-on-documentation.qmd +++ b/site/guide/validation/_add-artifacts-on-documentation.qmd @@ -30,25 +30,19 @@ SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> :::: :::: {.content-hidden unless-format="revealjs"} -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. - -1. Select a record or [find your record by applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. - -1. In the left sidebar that appears for your record, click **Development** under {{< fa file >}} Documents. +a. In the left sidebar that appears for your record, click **Development** under {{< fa file >}} Documents. - - -1. On your record's documentation page, click **{{< fa plus >}} Add Artifact**. +b. On your record's documentation page, click **{{< fa plus >}} Add Artifact**. -1. Select the [artifact type](/guide/validation/manage-artifact-types.qmd){target="_blank"} you want to add: +c. Select the [artifact type](/guide/validation/manage-artifact-types.qmd){target="_blank"} you want to add: - Validation Issue - Policy Exception - Limitation -1. On the modal that opens, provide information for your artifact. +d. On the modal that opens, provide information for your artifact. -1. When you are done, click **Save** to submit the artifact. +e. When you are done, click **Save** to submit the artifact. Once created, you can then [add supporting documentation to your artifact](/guide/validation/add-manage-artifacts.qmd#manage-attachments){target="_blank"}. diff --git a/site/guide/validation/_autogenerate-validation-issues.qmd b/site/guide/validation/_autogenerate-validation-issues.qmd index 9acc5b47a..33b55f2fb 100644 --- a/site/guide/validation/_autogenerate-validation-issues.qmd +++ b/site/guide/validation/_autogenerate-validation-issues.qmd @@ -11,7 +11,7 @@ Always review AI-generated validation issues before approving them. The suggesti ::: -Use AI to automatically suggest validation issues based on the gaps identified in your assessment.^[This feature requires AI capabilities to be enabled for your organization — contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface.] +Use AI to automatically suggest validation issues based on the gaps identified in your assessment:^[This feature requires AI capabilities to be enabled for your organization — contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface.] a. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. @@ -57,20 +57,20 @@ e. After approving a validation issue, you can further customize it by clicking ::::: {.content-hidden unless-format="revealjs"} -::: {.callout-important title="AI suggestions require review!"} -Always review AI-generated validation issues before approving them. The suggestions are based on patterns in your risk assessment notes and may need adjustment to accurately reflect your findings. - +:::: {.mb2 .pa3 .f5 .embed} +- **Always review AI-generated validation issues before approving them.** The suggestions are based on patterns in your risk assessment notes and may need adjustment to accurately reflect your findings. +- This feature requires AI capabilities to be enabled for your organization. Contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface. ::: -Use AI to automatically suggest validation issues based on the gaps identified in your assessment. +You can of course log artifacts manually on your validation report, but you can also use AI to automatically suggest validation issues based on the gaps identified in your assessment: -This feature requires AI capabilities to be enabled for your organization. Contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface. +a. In the left sidebar that appears for your record, click **Validation** under {{< fa file >}} Documents. -a. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. +b. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. -b. Click **Suggest Validation Issues** to have {{< var vm.product >}} analyze your risk assessment notes along with the guideline context and identify any gaps that warrant validation issues. +c . Click **Suggest Validation Issues** to have {{< var vm.product >}} analyze your risk assessment notes along with the guideline context and identify any gaps that warrant validation issues. -c. Review the suggested validation issues. Each suggestion includes: +d. Review the suggested validation issues. Each suggestion includes: - A proposed title and description outlining the issue - A preliminary severity level based on the identified gap @@ -78,9 +78,7 @@ c. Review the suggested validation issues. Each suggestion includes: Click **See more {{< fa chevron-down >}}** on each suggested issue to expand for more details. -d. Approve, reject, or regenerate the suggested validation issues: - - ::: {.panel-tabset} +e. Approve, reject, or regenerate the suggested validation issues: #### Approve/reject individual issues @@ -100,8 +98,6 @@ d. Approve, reject, or regenerate the suggested validation issues: Click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues [#]{.bubble}** and select **{{< fa sync >}} Regenerate Issues**. - ::: - -e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status. +f. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status. ::::: diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index f99c08518..d9e0aa22b 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -312,15 +312,21 @@ Try it **live** on the next pages. {{< fa hand-point-right >}} ::: {.column width="70%" .bl .pl4 .f4} +1. In the left sidebar, click **{{< fa cubes >}} Inventory**. + +2. Select a record or [find your record by applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. + +3. Add additional artifacts from your validation report, or via during your review of documentation: + ::: {.panel-tabset} ### Autogenerate validation issues on reports -placeholder ??? +{{< include /guide/validation/_autogenerate-validation-issues.qmd >}} ### Add artifacts on documentation -Along with adding artifacts directly via validation reports, you can also add artifacts during your review of documentation: +Along with adding artifacts via validation reports, you can also add artifacts during your review of documentation: {{< include /guide/validation/_add-artifacts-on-documentation.qmd >}} From 6b48c5464dd46d7beb0bd474b0738ceabe301a35 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 14:30:41 -0700 Subject: [PATCH 15/36] Refine validation report --- .../_autogenerate-validation-issues.qmd | 2 +- .../finalizing-validation-reports.qmd | 20 +++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/site/guide/validation/_autogenerate-validation-issues.qmd b/site/guide/validation/_autogenerate-validation-issues.qmd index 33b55f2fb..e0cec6b57 100644 --- a/site/guide/validation/_autogenerate-validation-issues.qmd +++ b/site/guide/validation/_autogenerate-validation-issues.qmd @@ -57,7 +57,7 @@ e. After approving a validation issue, you can further customize it by clicking ::::: {.content-hidden unless-format="revealjs"} -:::: {.mb2 .pa3 .f5 .embed} +:::: {.mb2 .mr4 .pa3 .f5 .embed} - **Always review AI-generated validation issues before approving them.** The suggestions are based on patterns in your risk assessment notes and may need adjustment to accurately reflect your findings. - This feature requires AI capabilities to be enabled for your organization. Contact an administrator if you cannot access the **{{< fa wand-magic-sparkles >}} Suggest Validation Issues** interface. ::: diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index d9e0aa22b..6067c2d93 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -257,10 +257,15 @@ Map & assess evidence **Map evidence to guidelines** ::: +:::: {.mt2 .f2 .embed} +Please note that test results and content blocks must be present on your model's associated Development document for evidence to be automatically mapped to your validation report. + +::: + 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Navigate to a section and expand the **Evidence** panel. -4. Click **{{< fa wand-magic-sparkles >}} Map Evidence**. +3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section. +4. Under the Model Performance Metrics section, locate Evidence, click **{{< fa wand-magic-sparkles >}} Map Evidence**. 5. Configure the mapping options, then click **Map Evidence** to run the AI mapping. 6. Review and approve the mapped evidence. @@ -275,6 +280,11 @@ When you're done, click [{{< fa chevron-right >}}]() to continue. **Assess evidence for compliance** ::: +:::: {.mt2 .f2 .embed} +Please note that evidence must already be mapped to be assessed automatically on your validation report. + +::: + 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. 3. Navigate to a section that has linked evidence. @@ -344,8 +354,10 @@ Along with adding artifacts via validation reports, you can also add artifacts d ::: 1. Select the name of your model you registered for this course to open up the model details page. -2. On the left sidebar that appears for your model, click **Development** under {{< fa file >}} Documents. -3. Click **{{< fa plus >}} Add Model Artifact** to add an artifact from the overview. +2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. +3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section. +4. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. +5. Approve or reject any suggested validation issues. When you're done, click [{{< fa chevron-right >}}]() to continue. From 0620a40e461bdd21d2cf9a2c2c62d829b8f4ae5a Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 14:40:24 -0700 Subject: [PATCH 16/36] save --- .../_assign-compliance-assessments.qmd | 16 +++++++++--- .../finalizing-validation-reports.qmd | 25 ++----------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/site/guide/validation/_assign-compliance-assessments.qmd b/site/guide/validation/_assign-compliance-assessments.qmd index fd1bf481c..52ac48795 100644 --- a/site/guide/validation/_assign-compliance-assessments.qmd +++ b/site/guide/validation/_assign-compliance-assessments.qmd @@ -2,6 +2,8 @@ Refer to the LICENSE file in the root of this repository for details. SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> +After you have mapped and assessed available evidence, and generated or attached relevant artifacts, assign compliance assessments to each subsection of your validation report: + :::: {.content-visible unless-format="revealjs"} ::: {.callout title="Assessment options available for selection depend on configuration for individual validation report templates."} Your organization can customize these options to match its own assessment framework, or choose to remove them from templates entirely.^[[Configure assessment options](/guide/validation/configure-assessment-options.qmd)] @@ -24,11 +26,19 @@ Your organization can customize these options to match its own assessment framew :::: :::: {.content-hidden unless-format="revealjs"} -1. In the same Class Imbalance Assessment sub-section above the Risk Assessment Notes, locate the Guideline with the **Assessment** drop-down. +1. In the left sidebar, click **{{< fa cubes >}} Inventory**. + +1. Select a record or find your record by applying a filter or searching for it.^[[Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records)] + +1. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.^[[Work with document versions](/guide/documentation/work-with-document-versions.qmd)] -1. Click **Select a value for this guideline** to choose one of the available assessment options. +1. Click on a Validation type file.^[[Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview)] + + Expand any subsection of the validation report you have attached evidence and artifacts for. + +1. Under Guideline, click **Select a value for this guideline** to choose one of the available Assessment options. -1. At the top of the page, confirm that the compliance summary shown for each subsection under 2. Validation provides an accurate overview for current qualitative and quantitative risk assessments: + At the top of the page for that subsection, confirm that the compliance summary shown provides an accurate overview for current qualitative and quantitative risk assessments for that subsection: ![Risk assessment compliance summary](/guide/validation/assess-compliance-summary.png){fig-alt="A screenshot of the risk assessment compliance summary" .screenshot group="compliance"} diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index 6067c2d93..36c781a88 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -466,7 +466,7 @@ When you're done, click [{{< fa chevron-right >}}]() to continue. :::: {.columns} ::: {.column width="30%" .pr4 .f2} -Refine compliance assessments +Assigning compliance assessments ::: {.f5 .nt2 .pl2 .mb4} (Scroll down for the full instructions.) @@ -482,29 +482,8 @@ Refine compliance assessments ::: {.column width="70%" .bl .pl4 .f4} -After {{< var vm.product >}} generates a draft compliance assessment for your review, you'll need to refine your assessments to ensure they are accurate and complete: - -::: {.panel-tabset} - -### Add risk assessment notes - -1. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}}, go to the model you connected to earlier. - -2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. - -3. Click on **2.2.1. Data Quality** to expand that section and locate the Class Imbalance Assessment sub-section. - -4. Click under **Risk Assessment Notes** to edit the content block using the content editing toolbar. - - For example, use **{{< fa diamond >}} [beta]{.smallcaps} (Generate Text with AI)** to create a draft summarizing the contents of the Class Imbalance Assessment sub-section. - - ![Sample compliance assessment](class-imbalance-assessment.png){width=90% fig-alt="A screenshot showing a sample compliance assessment" .screenshot} - -### Assign compliance assessments - {{< include /guide/validation/_assign-compliance-assessments.qmd >}} -::: ::: :::: @@ -513,7 +492,7 @@ After {{< var vm.product >}} generates a draft compliance assessment for your re :::: {.slideover--b .auto-collapse-10} ::: {.tc} -**Refine your compliance assessments** +**Assign your compliance assessments** ::: 1. Select the name of your model you registered for this course to open up the model details page. From 6b48431439365afdcc171f4b8536740aa8c064ef Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 14:50:27 -0700 Subject: [PATCH 17/36] save --- .../validation/_assign-compliance-assessments.qmd | 13 +++---------- .../finalizing-validation-reports.qmd | 13 +++++++++---- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/site/guide/validation/_assign-compliance-assessments.qmd b/site/guide/validation/_assign-compliance-assessments.qmd index 52ac48795..e240f5bb3 100644 --- a/site/guide/validation/_assign-compliance-assessments.qmd +++ b/site/guide/validation/_assign-compliance-assessments.qmd @@ -28,11 +28,11 @@ Your organization can customize these options to match its own assessment framew :::: {.content-hidden unless-format="revealjs"} 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -1. Select a record or find your record by applying a filter or searching for it.^[[Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records)] +1. Select a record or find your record [by applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. -1. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.^[[Work with document versions](/guide/documentation/work-with-document-versions.qmd)] +1. In the left sidebar that appears for your record, [click **{{< fa file >}} Documents** and select the **Latest** tab](/guide/documentation/work-with-document-versions.qmd){target="_blank"}. -1. Click on a Validation type file.^[[Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview)] +1. Click on a Validation type file. Expand any subsection of the validation report you have attached evidence and artifacts for. @@ -43,13 +43,6 @@ Your organization can customize these options to match its own assessment framew ![Risk assessment compliance summary](/guide/validation/assess-compliance-summary.png){fig-alt="A screenshot of the risk assessment compliance summary" .screenshot group="compliance"} -:::: {.pa3 .mt3 .f5 .embed} -**Assessment options available for selection depend on configuration for individual validation report templates.** - -Your organization can customize these options to match its own assessment framework, or choose to remove them from templates entirely. - -::: - :::: diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index 36c781a88..493fbdac9 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -477,14 +477,19 @@ Assigning compliance assessments ::: -
Try it **live** on the next page. {{< fa hand-point-right >}} +:::: {.pa3 .mt3 .f5 .embed} +**Assessment options available for selection depend on configuration for individual validation report templates.** + +Your organization can customize these options to match its own assessment framework, or choose to remove them from templates entirely. + ::: -::: {.column width="70%" .bl .pl4 .f4} +Try it **live** on the next page. {{< fa hand-point-right >}} +::: +::: {.column width="70%" .bl .pl4 .f4} {{< include /guide/validation/_assign-compliance-assessments.qmd >}} - ::: :::: @@ -497,7 +502,7 @@ Assigning compliance assessments 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Click on **2.2.1. Data Quality** to refine the compliance assessment for the Class Imbalance Assessment sub-section. +3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to assign the compliance assessment for the Class Imbalance Assessment sub-section. When you're done, click [{{< fa chevron-right >}}]() to continue. From b7e068889150168798c7357c693a4044cab132a5 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 15:02:32 -0700 Subject: [PATCH 18/36] Edit: Running data quality tests --- .../running-data-quality-tests.qmd | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/site/training/validator-fundamentals/running-data-quality-tests.qmd b/site/training/validator-fundamentals/running-data-quality-tests.qmd index 190bb23a5..b7c7cbd8a 100644 --- a/site/training/validator-fundamentals/running-data-quality-tests.qmd +++ b/site/training/validator-fundamentals/running-data-quality-tests.qmd @@ -316,21 +316,23 @@ a. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}} a. In the left sidebar that appears for your record, click **Validation** under {{< fa file >}} Documents. -a. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section. +a. Click on **2.2.1. Data Quality** to expand that section. -a. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**. +a. Under the Class Imbalance Assessment section, click **Evidence** to expand the evidence panel. -a. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** +a. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. + +a. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** ![The ClassImbalance tests selected](/notebooks/tutorials/model_validation/selecting-class-imbalance-results.png){fig-alt="Screenshot showing the ClassImbalance tests selected" .screenshot} a. Click **Update Linked Evidence** to add the test results to the validation report. - Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report. + Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into right section under **2.2.1. Data Quality** of the report. ### 2. Review Class Imbalance test results -- Once linked as evidence to section **2.2.1. Data Quality** note that the ValidMind Data Validation Class Imbalance test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset. +- Once linked as evidence to section **2.2.1. Data Quality**, note that the ValidMind Data Validation Class Imbalance test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset. - Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test: ![ClassImbalance test generated description in the text editor](/notebooks/tutorials/model_validation/class-imbalance-results-detail.png){fig-alt="Screenshot showing the ClassImbalance test generated description in the text editor" .screenshot} @@ -351,10 +353,11 @@ a. Click **Update Linked Evidence** to add the test results to the validation re 1. Select the name of your model you registered for this course to open up the model details page. 2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section. -4. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**. -5. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** -6. Click **Update Linked Evidence** to add the test results to the validation report. +3. Click on **2.2.1. Data Quality** to expand that section. +4. Under the Class Imbalance Assessment section, click **Evidence** to expand the evidence panel. +5. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. +6. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** +7. Click **Update Linked Evidence** to add the test results to the validation report. When you're done, click [{{< fa chevron-right >}}]() to continue. From be46ee78662a55d1fe6638932e3a52eb18538da4 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 16:08:17 -0700 Subject: [PATCH 19/36] Edit: Map and assess evidence > Map evidence to guidelines --- .../_assess-evidence-for-compliance.qmd | 16 ++-- .../validation/_link-artifacts-to-reports.qmd | 4 +- .../_map-evidence-to-guidelines.qmd | 96 ++++++++++++++----- .../validation/map-and-assess-evidence.qmd | 4 +- .../developing-potential-challengers.qmd | 2 +- .../finalizing-validation-reports.qmd | 13 ++- .../running-data-quality-tests.qmd | 6 +- 7 files changed, 90 insertions(+), 51 deletions(-) diff --git a/site/guide/validation/_assess-evidence-for-compliance.qmd b/site/guide/validation/_assess-evidence-for-compliance.qmd index c45fdef07..f1fed898e 100644 --- a/site/guide/validation/_assess-evidence-for-compliance.qmd +++ b/site/guide/validation/_assess-evidence-for-compliance.qmd @@ -21,11 +21,9 @@ Assess Evidence analyzes the linked evidence and generates a structured complian 5. Navigate to a section that has linked evidence. -6. Expand the **Evidence** panel. +6. Click **{{< fa wand-magic-sparkles >}} Assess Evidence** under the Evidence Assessment panel. -7. Click **{{< fa wand-magic-sparkles >}} Assess Evidence**. - -8. The AI analyzes the linked evidence and generates an **Evidence Assessment** containing: +7. {{< var vm.product >}} runs an analysis on the linked evidence and generates an Evidence Assessment containing: - **Guideline Assessment** — A compliance conclusion indicating whether the guideline requirements are fully met, partially met, or not met, with an explanation of the evidence quality. @@ -71,7 +69,7 @@ d. Click **Approve** to accept the assessment, or **Reject** to dismiss it. e. After approving, you can edit the assessment content as needed — changes are auto-saved. -f. To regenerate an assessment, click **{{< fa wand-magic-sparkles >}} Reassess Evidence** to run the AI analysis again with any updated evidence. +f. To regenerate an assessment, click **{{< fa wand-magic-sparkles >}} Reassess Evidence** to run the analysis again with any updated evidence. ::: @@ -83,11 +81,9 @@ Assess Evidence analyzes the linked evidence and generates a structured complian 1. Navigate to a section that has linked evidence. -2. Expand the **Evidence** panel. - -3. Click **{{< fa wand-magic-sparkles >}} Assess Evidence**. +2. Click **{{< fa wand-magic-sparkles >}} Assess Evidence** under the Evidence Assessment panel. -4. The AI analyzes the linked evidence and generates an **Evidence Assessment** containing: +3. {{< var vm.product >}} runs an analysis on the linked evidence and generates an Evidence Assessment containing: - **Guideline Assessment** — A compliance conclusion indicating whether the guideline requirements are fully met, partially met, or not met, with an explanation of the evidence quality. @@ -129,7 +125,7 @@ d. Click **Approve** to accept the assessment, or **Reject** to dismiss it. e. After approving, you can edit the assessment content as needed — changes are auto-saved. -f. To regenerate an assessment, click **{{< fa wand-magic-sparkles >}} Reassess Evidence** to run the AI analysis again with any updated evidence. +f. To regenerate an assessment, click **{{< fa wand-magic-sparkles >}} Reassess Evidence** to run the analysis again with any updated evidence. :::: diff --git a/site/guide/validation/_link-artifacts-to-reports.qmd b/site/guide/validation/_link-artifacts-to-reports.qmd index f2e7be004..5346ff561 100644 --- a/site/guide/validation/_link-artifacts-to-reports.qmd +++ b/site/guide/validation/_link-artifacts-to-reports.qmd @@ -24,11 +24,11 @@ c. Click **Update Linked Artifacts**. :::: {.content-hidden unless-format="revealjs"} -1. From the **{{< fa cubes >}} Inventory** in the ValidMind Platform, go to the model you connected to earlier. +1. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}}, go to the model you connected to earlier. 1. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -1. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section. +1. Click **2.2.2. Model Performance** to expand that section. 1. Under the Model Performance Metrics section, locate Artifacts then click **{{< fa link >}} Link Artifact**. diff --git a/site/guide/validation/_map-evidence-to-guidelines.qmd b/site/guide/validation/_map-evidence-to-guidelines.qmd index 2c0f7c9b3..e008add32 100644 --- a/site/guide/validation/_map-evidence-to-guidelines.qmd +++ b/site/guide/validation/_map-evidence-to-guidelines.qmd @@ -19,63 +19,107 @@ Map Evidence uses AI to suggest relevant evidence for each validation guideline, 4. Click on a Validation type file.^[[Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview)] -5. Navigate to a section and expand the **Evidence** panel. +5. You can map evidence at three levels: -6. Click **{{< fa wand-magic-sparkles >}} Map Evidence**. +::: {.panel-tabset} -7. Configure the mapping options: - - Toggle **Developer Evidence** to include evidence logged via the {{< var validmind.developer >}}. - - Toggle **Validator Evidence** to include evidence uploaded or created by validators. - - Adjust the **Relevance Threshold** slider — lower values return more results while higher values show only the most relevant matches. +#### For the entire report -8. Click **Map Evidence** to run the AI mapping. +Click **{{< fa wand-magic-sparkles >}} Map Evidence** in the right sidebar to expand the mapping panel for the entire report. - The panel displays how many evidence items are available to review for each guideline in the section. +#### For an entire section + +Sections include subsections with guidelines, and a risk assessment summary at the top of the page. + +a. Click on a section of the validation report to expand that section. + +b. Click **{{< fa wand-magic-sparkles >}} Map Evidence** at the top of the page to open the mapping panel for that section. + +#### For individual guidelines + +Guidelines are organized into subsections under a parent section. + +a. Click on a section of the validation report to expand that section. + +b. In any subsection, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline. + +::: + +6. Configure the mapping options: + + - Toggle the **[evidence type]{.smallcaps}** toggle to include evidence from the selected types: + - **Developer Evidence** — Include evidence logged on the Development document associated with the record.^[[Manage document types](/guide/templates/manage-document-types.qmd)] + - **Validator Evidence** — Include evidence logged on the current validation report. + - Adjust the **[relevance threshold]{.smallcaps}** slider — lower values return more results while higher values show only the most relevant matches. + +7. Click **Map Evidence** to start the mapping. + + If this is your first time running Map Evidence, review the information presented to you explaining the mapping process, then click **Map Evidence** to run the mapping.^[To hide the additional information on mapping modal for future runs, select **Don't show this again** checkbox.] + +When mapping is complete, the [#]{.bubble} of evidence items to review in your report is displayed. Review the evidence items and approve or reject the suggestions as needed. ### Review and approve mapped evidence -After running Map Evidence, you can review and approve suggestions at three levels: +After running Map Evidence, you can review and approve suggestions at four levels: ::: {.panel-tabset} #### For the entire report -a. Open the validation report and look at the right sidebar. +If you have run mapping for the entire report, you can review and approve suggestions at the entire report level: -b. The **Map Evidence** panel shows how many items need review across the entire report. +a. The **{{< fa wand-magic-sparkles >}} Map Evidence** panel in the right sidebar for your validation report shows how many items need review across the entire report — click to expand the panel if it is collapsed. -c. Use **Approve All** to link all suggested evidence across all guidelines, or **Reject All** to dismiss all suggestions. +c. Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence across all guidelines, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all suggestions. -d. To re-run mapping with different settings, click **Remap Evidence**. This lets you adjust the relevance threshold or change which evidence types to include, then generate new suggestions. +d. To re-run mapping with different settings, click **Remap Evidence**. + + (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. #### For an entire section -a. Navigate to a specific section in the validation report. +Sections include subsections with guidelines, and a risk assessment summary at the top of the page. If you have run mapping for an entire section, you can review and approve suggestions at the section level: -b. In the section header, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel. +a. Click on a section of the validation report to expand that section. -c. Use **Approve All** to link all suggested evidence for guidelines in that section, or **Reject All** to dismiss all section suggestions. +b. Click **{{< fa wand-magic-sparkles >}} Map Evidence** at the top of the page to open the mapping panel for that section. + +c. Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence for guidelines in that section, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all section suggestions. d. To re-run mapping with different settings, click **Remap Evidence**. + (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. + #### For individual guidelines -a. Navigate to a specific section in the validation report. +Guidelines are organized into subsections under a parent section. If you have run mapping for an individual guideline, you can review and approve suggestions at the guideline level: -b. Expand the **Evidence** panel for a guideline. +a. Click on a section of the validation report to expand that section. -c. Click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline. +b. In any subsection, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline. -d. Review individual evidence suggestions: +c. Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence that guideline, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all guideline suggestions. + +d. To re-run mapping with different settings, click **Remap Evidence**. + + (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. + +#### For individual suggestions + +If you have run mapping at any level, you can review and approve individual suggestions at the individual suggestion level: + +a. Click on a section of the validation report to expand that section. + +b. In any subsection, click **Evidence** to expand the evidence panel for that guideline. + +c. Review individual evidence suggestions on the **Developer Evidence** or **Validator Evidence** tabs: - Each item shows the evidence block name and a relevance score. - Click **See Relevance Analysis** to view why the evidence was suggested. - - Click **Approve** to link an individual item to the guideline. - - Click **Reject** to dismiss an individual suggestion. + - Click **[{{< fa check >}} Approve]{.green}** to link an individual item to the guideline. + - Click **[{{< fa xmark >}} Reject]{.red}** to dismiss an individual suggestion. -e. Or use **Approve All** / **Reject All** to handle all suggestions for that guideline at once. - -Approved evidence appears in the Evidence panel for that guideline, organized by evidence type (Developer Evidence or Validator Evidence). +d. Confirm that the approved evidence appears in the Evidence panel for that guideline as expected. ::: @@ -93,7 +137,7 @@ Map Evidence uses AI to suggest relevant evidence for each validation guideline, 3. Configure the mapping options: - Toggle **Developer Evidence** to include evidence logged via the {{< var validmind.developer >}}. - Toggle **Validator Evidence** to include evidence uploaded or created by validators. - - Adjust the **Relevance Threshold** slider — lower values return more results while higher values show only the most relevant matches. + - Adjust the **[relevance threshold]{.smallcaps}** slider — lower values return more results while higher values show only the most relevant matches. 4. Click **Map Evidence** to run the AI mapping. diff --git a/site/guide/validation/map-and-assess-evidence.qmd b/site/guide/validation/map-and-assess-evidence.qmd index 7c96c558a..9eb1abdd9 100644 --- a/site/guide/validation/map-and-assess-evidence.qmd +++ b/site/guide/validation/map-and-assess-evidence.qmd @@ -22,9 +22,9 @@ Use {{< var vm.product >}}'s AI-assisted tools to streamline your validation wor {{< include _how-does-mapping-assessment-work.qmd >}} ::: {.callout} -## Currently, automatic mapping and assessment retrieve only content from Development type documents.[^4] +## Currently, automatic mapping and assessment retrieves only Developer Evidence from the default Development document on the record, or Validator Evidence logged on the Validation report you are mapping evidence for.[^4] -To manually add and assess evidence for other document types, refer to [Assess compliance](/guide/validation/assess-compliance.qmd). +To manually add and assess evidence from other document types, refer to [Assess compliance](/guide/validation/assess-compliance.qmd). ::: diff --git a/site/training/validator-fundamentals/developing-potential-challengers.qmd b/site/training/validator-fundamentals/developing-potential-challengers.qmd index ff573ee0c..63715ea6a 100644 --- a/site/training/validator-fundamentals/developing-potential-challengers.qmd +++ b/site/training/validator-fundamentals/developing-potential-challengers.qmd @@ -363,7 +363,7 @@ As we can observe from the output in our notebook, our champion model doesn't pa 1. Select the name of your model you registered for this course to open up the model details page. 2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section. +3. Click on **2.2.2. Model Performance** to expand that section. 4. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report** and select **Validation Issue**. 5. Click **{{< fa plus >}} Add Validation Issue** to add a validation issue type artifact. 6. Enter in the details for your validation issue and click **Save**. diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index 493fbdac9..c043c15ba 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -264,8 +264,8 @@ Please note that test results and content blocks must be present on your model's 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section. -4. Under the Model Performance Metrics section, locate Evidence, click **{{< fa wand-magic-sparkles >}} Map Evidence**. +3. Click on **2.2.2. Model Performance** to expand that section. +4. Under the Model Performance Metrics section, locate Evidence then click **{{< fa wand-magic-sparkles >}} Map Evidence**. 5. Configure the mapping options, then click **Map Evidence** to run the AI mapping. 6. Review and approve the mapped evidence. @@ -287,11 +287,10 @@ Please note that evidence must already be mapped to be assessed automatically on 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Navigate to a section that has linked evidence. -4. Expand the **Evidence** panel and click **{{< fa wand-magic-sparkles >}} Assess Evidence**. +3. Click on **2.2.2. Model Performance** to expand that section. +4. Under the Model Performance Metrics section, click **{{< fa wand-magic-sparkles >}} Assess Evidence** under the Evidence Assessment panel. 5. After the AI analyzes the linked evidence and generates an **Evidence Assessment**, review and approve the evidence assessment. - When you're done, click [{{< fa chevron-right >}}]() to continue. ::: @@ -355,8 +354,8 @@ Along with adding artifacts via validation reports, you can also add artifacts d 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section. -4. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. +3. Click on **2.2.2. Model Performance** to expand that section. +4. Under the Model Performance Metrics section, locate Artifacts then click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. 5. Approve or reject any suggested validation issues. When you're done, click [{{< fa chevron-right >}}]() to continue. diff --git a/site/training/validator-fundamentals/running-data-quality-tests.qmd b/site/training/validator-fundamentals/running-data-quality-tests.qmd index b7c7cbd8a..e76705e7f 100644 --- a/site/training/validator-fundamentals/running-data-quality-tests.qmd +++ b/site/training/validator-fundamentals/running-data-quality-tests.qmd @@ -316,11 +316,11 @@ a. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}} a. In the left sidebar that appears for your record, click **Validation** under {{< fa file >}} Documents. -a. Click on **2.2.1. Data Quality** to expand that section. +a. Click **2.2.1. Data Quality** to expand that section. a. Under the Class Imbalance Assessment section, click **Evidence** to expand the evidence panel. -a. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. +a. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. a. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** @@ -353,7 +353,7 @@ a. Click **Update Linked Evidence** to add the test results to the validation re 1. Select the name of your model you registered for this course to open up the model details page. 2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Click on **2.2.1. Data Quality** to expand that section. +3. Click **2.2.1. Data Quality** to expand that section. 4. Under the Class Imbalance Assessment section, click **Evidence** to expand the evidence panel. 5. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. 6. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** From b7e8e8dbc5cffe9cec90f633a9397308186e6a46 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 16:37:37 -0700 Subject: [PATCH 20/36] Edit: Map and assess evidence > Assess evidence for compliance --- .../_assess-evidence-for-compliance.qmd | 66 ++++++++++++------- .../_map-evidence-to-guidelines.qmd | 43 ++++++------ 2 files changed, 63 insertions(+), 46 deletions(-) diff --git a/site/guide/validation/_assess-evidence-for-compliance.qmd b/site/guide/validation/_assess-evidence-for-compliance.qmd index f1fed898e..73925db79 100644 --- a/site/guide/validation/_assess-evidence-for-compliance.qmd +++ b/site/guide/validation/_assess-evidence-for-compliance.qmd @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> ![Assess Evidence panel](/guide/validation/assess-evidence-panel.png){fig-alt="Assess Evidence panel showing option to identify potential risks and compliance gaps based on linked evidence." .screenshot} :::: -Assess Evidence analyzes the linked evidence and generates a structured compliance assessment, identifying potential risks and compliance gaps. +Assess Evidence uses AI to analyze the linked evidence and generate a structured compliance assessment, identifying potential risks and compliance gaps. 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. @@ -19,19 +19,39 @@ Assess Evidence analyzes the linked evidence and generates a structured complian 4. Click on a Validation type file.^[[Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview)] -5. Navigate to a section that has linked evidence. +5. You can assess evidence for compliance at three levels: -6. Click **{{< fa wand-magic-sparkles >}} Assess Evidence** under the Evidence Assessment panel. +::: {.panel-tabset} -7. {{< var vm.product >}} runs an analysis on the linked evidence and generates an Evidence Assessment containing: +#### For the entire report - - **Guideline Assessment** — A compliance conclusion indicating whether the guideline requirements are fully met, partially met, or not met, with an explanation of the evidence quality. +Click **{{< fa wand-magic-sparkles >}} Assess Evidence** in the right sidebar to expand the evidence assessment panel for the entire report. - - **Validation Observations** — Specific findings about gaps or issues in the evidence, with each observation covering a single concern and suggesting actions for developers. +#### For an entire section + +Sections include subsections with guidelines, and a risk assessment summary at the top of the page. +a. Click on a section of the validation report to expand that section. +b. Click **{{< fa wand-magic-sparkles >}} Assess Evidence** at the top of the page to open the evidence assessment panel for that section. + +#### For individual guidelines + +Guidelines are organized into subsections under a parent section. + +a. Click on a section of the validation report to expand that section. +b. In any subsection, click **{{< fa wand-magic-sparkles >}} Assess Evidence** to open the evidence assessment panel for that guideline. + +::: + +6. Click **Assess Evidence** to run an analysis on the linked evidence and generate an Evidence Assessment containing: + + - **Guideline Assessment** — A compliance conclusion indicating whether the guideline requirements are fully met, partially met, or not met, with an explanation of the evidence quality. + - **Validation Observations** — Specific findings about gaps or issues in the evidence, with each observation covering a single concern and suggesting actions for developers. - **Evidence Review** — A detailed analysis of what the evidence demonstrates, including references to specific test outputs, documentation, and any limitations. - The panel displays how many assessments are available to review. + If this is your first time running Assess Evidence, review the information presented to you explaining the assessment process, then click **Assess Evidence** to run the assessment.^[To hide the additional information on assessment modal for future runs, select the **Don't show this again** checkbox.] + +When evidence assessment is complete, the [#]{.bubble} of assessment items to review is displayed. Review the assessment items and approve or reject the suggestions as needed. ### Review and approve evidence assessments @@ -41,35 +61,37 @@ After running Assess Evidence, you can review and approve assessments at three l #### For the entire report -a. Open the validation report and look at the right sidebar. +If you have run evidence assessment for the entire report, you can review and approve suggestions at the entire report level. -b. The **Assess Evidence** panel shows how many assessments need review across the entire report. +The **{{< fa wand-magic-sparkles >}} Assess Evidence** panel in the right sidebar for your validation report shows how many items need review across the entire report — click to expand the panel if it is collapsed: -c. Use **Approve All** to accept all generated assessments, or **Reject All** to dismiss all assessments. + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested assessments across all guidelines, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all suggestions. + - Click into any section of the report with approved assessments to confirm that any approved assessments appear in the Evidence Assessment panel for guidelines as expected. + - To re-run the assessment, click **{{< fa sync >}} Reassess Evidence**. #### For an entire section -a. Navigate to a specific section in the validation report. +Sections include subsections with guidelines, and a risk assessment summary at the top of the page. If you have run mapping for an entire section, you can review and approve suggestions at the section level: -b. In the section header, click **{{< fa wand-magic-sparkles >}} Assess Evidence** to open the assessment panel. +a. Click on a section of the validation report to expand that section. -c. Use **Approve All** to accept all generated assessments for that section, or **Reject All** to dismiss them. +b. Click **{{< fa wand-magic-sparkles >}} Assess Evidence** at the top of the page to open the evidence assessment panel for that section: -d. To regenerate assessments with updated evidence, click **Re-assess Evidence**. + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested assessments for guidelines in that section, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all section suggestions. + - Confirm that any approved assessments appear in the Evidence Assessment panels for the guidelines in that section as expected. + - To re-run the assessment, click **{{< fa sync >}} Reassess Evidence**. #### For individual guidelines -a. Navigate to a specific section in the validation report. - -b. Expand the **Evidence Assessment** panel for a guideline. Assessments pending review show a [Review]{.bubble} status. - -c. Review the generated assessment content. +Guidelines are organized into subsections under a parent section. If you have run mapping for an individual guideline, you can review and approve suggestions at the guideline level: -d. Click **Approve** to accept the assessment, or **Reject** to dismiss it. +a. Click on a section of the validation report to expand that section. -e. After approving, you can edit the assessment content as needed — changes are auto-saved. +b. In any subsection, click **Evidence Assessment** to expand the evidence assessment panel for that guideline: -f. To regenerate an assessment, click **{{< fa wand-magic-sparkles >}} Reassess Evidence** to run the analysis again with any updated evidence. + - Click **[{{< fa check >}} Approve]{.green}** to approve the assessment. + - Click **[{{< fa xmark >}} Reject]{.red}** to dismiss the assessment. + - To re-run the assessment, click **{{< fa wand-magic-sparkles >}} Reassess Evidence**. ::: diff --git a/site/guide/validation/_map-evidence-to-guidelines.qmd b/site/guide/validation/_map-evidence-to-guidelines.qmd index e008add32..abc47413c 100644 --- a/site/guide/validation/_map-evidence-to-guidelines.qmd +++ b/site/guide/validation/_map-evidence-to-guidelines.qmd @@ -32,7 +32,6 @@ Click **{{< fa wand-magic-sparkles >}} Map Evidence** in the right sidebar to ex Sections include subsections with guidelines, and a risk assessment summary at the top of the page. a. Click on a section of the validation report to expand that section. - b. Click **{{< fa wand-magic-sparkles >}} Map Evidence** at the top of the page to open the mapping panel for that section. #### For individual guidelines @@ -40,7 +39,6 @@ b. Click **{{< fa wand-magic-sparkles >}} Map Evidence** at the top of the page Guidelines are organized into subsections under a parent section. a. Click on a section of the validation report to expand that section. - b. In any subsection, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline. ::: @@ -54,9 +52,9 @@ b. In any subsection, click **{{< fa wand-magic-sparkles >}} Map Evidence** to o 7. Click **Map Evidence** to start the mapping. - If this is your first time running Map Evidence, review the information presented to you explaining the mapping process, then click **Map Evidence** to run the mapping.^[To hide the additional information on mapping modal for future runs, select **Don't show this again** checkbox.] + If this is your first time running Map Evidence, review the information presented to you explaining the mapping process, then click **Map Evidence** to run the mapping.^[To hide the additional information on mapping modal for future runs, select the **Don't show this again** checkbox.] -When mapping is complete, the [#]{.bubble} of evidence items to review in your report is displayed. Review the evidence items and approve or reject the suggestions as needed. +When mapping is complete, the [#]{.bubble} of evidence items to review is displayed. Review the evidence items and approve or reject the suggestions as needed. ### Review and approve mapped evidence @@ -66,15 +64,14 @@ After running Map Evidence, you can review and approve suggestions at four level #### For the entire report -If you have run mapping for the entire report, you can review and approve suggestions at the entire report level: +If you have run mapping for the entire report, you can review and approve suggestions at the entire report level. -a. The **{{< fa wand-magic-sparkles >}} Map Evidence** panel in the right sidebar for your validation report shows how many items need review across the entire report — click to expand the panel if it is collapsed. +The **{{< fa wand-magic-sparkles >}} Map Evidence** panel in the right sidebar for your validation report shows how many items need review across the entire report — click to expand the panel if it is collapsed: -c. Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence across all guidelines, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all suggestions. - -d. To re-run mapping with different settings, click **Remap Evidence**. - - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence across all guidelines, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all suggestions. + - Click into any section of the report with approved mapped evidence to confirm that any approved evidence appears in the Evidence panel for guidelines as expected. + - To re-run mapping with different settings, click **{{< fa sync >}}Remap Evidence**. + - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. #### For an entire section @@ -82,13 +79,12 @@ Sections include subsections with guidelines, and a risk assessment summary at t a. Click on a section of the validation report to expand that section. -b. Click **{{< fa wand-magic-sparkles >}} Map Evidence** at the top of the page to open the mapping panel for that section. +b. Click **{{< fa wand-magic-sparkles >}} Map Evidence** at the top of the page to open the mapping panel for that section: -c. Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence for guidelines in that section, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all section suggestions. - -d. To re-run mapping with different settings, click **Remap Evidence**. - - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence for guidelines in that section, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all section suggestions. + - Confirm that any approved evidence appears in the Evidence panels for the guidelines in that section as expected. + - To re-run mapping with different settings, click **{{< fa sync >}} Remap Evidence**. + - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. #### For individual guidelines @@ -96,13 +92,12 @@ Guidelines are organized into subsections under a parent section. If you have ru a. Click on a section of the validation report to expand that section. -b. In any subsection, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline. - -c. Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence that guideline, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all guideline suggestions. - -d. To re-run mapping with different settings, click **Remap Evidence**. +b. In any subsection, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline: - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence for that guideline, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all guideline suggestions. + - Confirm that any approved evidence appears in the Evidence panel for that guideline as expected. + - To re-run mapping with different settings, click **{{< fa sync >}} Remap Evidence**. + - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. #### For individual suggestions @@ -119,7 +114,7 @@ c. Review individual evidence suggestions on the **Developer Evidence** or **Val - Click **[{{< fa check >}} Approve]{.green}** to link an individual item to the guideline. - Click **[{{< fa xmark >}} Reject]{.red}** to dismiss an individual suggestion. -d. Confirm that the approved evidence appears in the Evidence panel for that guideline as expected. +d. Confirm that any approved evidence appears in the Evidence panel for that guideline as expected. ::: From 94472708cf380f8a6c1db9cc370b3410baf6c59a Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 16:45:38 -0700 Subject: [PATCH 21/36] save --- .../_map-evidence-to-guidelines.qmd | 101 +++++++++++++----- .../finalizing-validation-reports.qmd | 80 ++++++++++---- 2 files changed, 137 insertions(+), 44 deletions(-) diff --git a/site/guide/validation/_map-evidence-to-guidelines.qmd b/site/guide/validation/_map-evidence-to-guidelines.qmd index abc47413c..659b50b5d 100644 --- a/site/guide/validation/_map-evidence-to-guidelines.qmd +++ b/site/guide/validation/_map-evidence-to-guidelines.qmd @@ -125,59 +125,110 @@ d. Confirm that any approved evidence appears in the Evidence panel for that gui :::: {.content-hidden unless-format="revealjs"} Map Evidence uses AI to suggest relevant evidence for each validation guideline, helping you find and link supporting documentation from both developers and validators. -1. Navigate to a section and expand the **Evidence** panel. +1. In the left sidebar, click **{{< fa cubes >}} Inventory**. + +2. Select a record or find your record by [applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. + +3. In the left sidebar that appears for your record, click **Validation** under **{{< fa file >}} Documents**. + +4. You can map evidence at three levels: + +::: {.panel-tabset} + +#### For the entire report + +Click **{{< fa wand-magic-sparkles >}} Map Evidence** in the right sidebar to expand the mapping panel for the entire report. + +#### For an entire section + +Sections include subsections with guidelines, and a risk assessment summary at the top of the page. + +a. Click on a section of the validation report to expand that section. +b. Click **{{< fa wand-magic-sparkles >}} Map Evidence** at the top of the page to open the mapping panel for that section. + +#### For individual guidelines + +Guidelines are organized into subsections under a parent section. -2. Click **{{< fa wand-magic-sparkles >}} Map Evidence**. +a. Click on a section of the validation report to expand that section. +b. In any subsection, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline. + +::: + +6. Configure the mapping options: -3. Configure the mapping options: - - Toggle **Developer Evidence** to include evidence logged via the {{< var validmind.developer >}}. - - Toggle **Validator Evidence** to include evidence uploaded or created by validators. + - Toggle the **[evidence type]{.smallcaps}** toggle to include evidence from the selected types: + - **Developer Evidence** — Include evidence logged on the [Development document associated with the record](/guide/templates/manage-document-types.qmd){target="_blank"}. + - **Validator Evidence** — Include evidence logged on the current validation report. - Adjust the **[relevance threshold]{.smallcaps}** slider — lower values return more results while higher values show only the most relevant matches. -4. Click **Map Evidence** to run the AI mapping. +7. Click **Map Evidence** to start the mapping. - The panel displays how many evidence items are available to review for each guideline in the section. + If this is your first time running Map Evidence, review the information presented to you explaining the mapping process, then click **Map Evidence** to run the mapping. -After running Map Evidence, you can review and approve suggestions at three levels: +When mapping is complete, the [#]{.bubble} of evidence items to review is displayed. Review the evidence items and approve or reject the suggestions as needed. -#### For the entire report +#### Review and approve mapped evidence -a. Open the validation report and look at the right sidebar. +After running Map Evidence, you can review and approve suggestions at four levels: -b. The **Map Evidence** panel shows how many items need review across the entire report. +::: {.panel-tabset} -c. Use **Approve All** to link all suggested evidence across all guidelines, or **Reject All** to dismiss all suggestions. +#### For the entire report -d. To re-run mapping with different settings, click **Remap Evidence**. This lets you adjust the relevance threshold or change which evidence types to include, then generate new suggestions. +If you have run mapping for the entire report, you can review and approve suggestions at the entire report level. + +The **{{< fa wand-magic-sparkles >}} Map Evidence** panel in the right sidebar for your validation report shows how many items need review across the entire report — click to expand the panel if it is collapsed: + + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence across all guidelines, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all suggestions. + - Click into any section of the report with approved mapped evidence to confirm that any approved evidence appears in the Evidence panel for guidelines as expected. + - To re-run mapping with different settings, click **{{< fa sync >}}Remap Evidence**. + - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. #### For an entire section -a. Navigate to a specific section in the validation report. +Sections include subsections with guidelines, and a risk assessment summary at the top of the page. If you have run mapping for an entire section, you can review and approve suggestions at the section level: -b. In the section header, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel. +a. Click on a section of the validation report to expand that section. -c. Use **Approve All** to link all suggested evidence for guidelines in that section, or **Reject All** to dismiss all section suggestions. +b. Click **{{< fa wand-magic-sparkles >}} Map Evidence** at the top of the page to open the mapping panel for that section: -d. To re-run mapping with different settings, click **Remap Evidence**. + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence for guidelines in that section, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all section suggestions. + - Confirm that any approved evidence appears in the Evidence panels for the guidelines in that section as expected. + - To re-run mapping with different settings, click **{{< fa sync >}} Remap Evidence**. + - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. #### For individual guidelines -a. Navigate to a specific section in the validation report. +Guidelines are organized into subsections under a parent section. If you have run mapping for an individual guideline, you can review and approve suggestions at the guideline level: -b. Expand the **Evidence** panel for a guideline. +a. Click on a section of the validation report to expand that section. -c. Click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline. +b. In any subsection, click **{{< fa wand-magic-sparkles >}} Map Evidence** to open the mapping panel for that guideline: -d. Review individual evidence suggestions: + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested evidence for that guideline, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all guideline suggestions. + - Confirm that any approved evidence appears in the Evidence panel for that guideline as expected. + - To re-run mapping with different settings, click **{{< fa sync >}} Remap Evidence**. + - (Optional) Adjust the relevance threshold or change which evidence types to include, then generate new suggestions. + +#### For individual suggestions + +If you have run mapping at any level, you can review and approve individual suggestions at the individual suggestion level: + +a. Click on a section of the validation report to expand that section. + +b. In any subsection, click **Evidence** to expand the evidence panel for that guideline. + +c. Review individual evidence suggestions on the **Developer Evidence** or **Validator Evidence** tabs: - Each item shows the evidence block name and a relevance score. - Click **See Relevance Analysis** to view why the evidence was suggested. - - Click **Approve** to link an individual item to the guideline. - - Click **Reject** to dismiss an individual suggestion. + - Click **[{{< fa check >}} Approve]{.green}** to link an individual item to the guideline. + - Click **[{{< fa xmark >}} Reject]{.red}** to dismiss an individual suggestion. -e. Or use **Approve All** / **Reject All** to handle all suggestions for that guideline at once. +d. Confirm that any approved evidence appears in the Evidence panel for that guideline as expected. -Approved evidence appears in the Evidence panel for that guideline, organized by evidence type (Developer Evidence or Validator Evidence). +::: :::: diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index c043c15ba..815366369 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -217,36 +217,20 @@ Automatically map & assess evidence :::: {.columns} ::: {.column width="30%" .pr4 .f2} -Map & assess evidence +Automatically map evidence ::: {.f5 .nt2 .pl2 .mb4} (Scroll down for the full instructions.) ::: -
Try it **live** on the next pages. {{< fa hand-point-right >}} +
Try it **live** on the next page. {{< fa hand-point-right >}} ::: ::: {.column width="70%" .bl .pl4 .f4} -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. - -2. Select a record or find your record by [applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. - -3. In the left sidebar that appears for your record, click **Validation** under **{{< fa file >}} Documents**. - -::: {.panel-tabset} - -### Map evidence to guidelines - {{< include /guide/validation/_map-evidence-to-guidelines.qmd >}} -### Assess evidence for compliance - -{{< include /guide/validation/_assess-evidence-for-compliance.qmd >}} - -::: - ::: :::: @@ -254,7 +238,7 @@ Map & assess evidence :::: {.slideover--b .auto-collapse-10} ::: {.tc} -**Map evidence to guidelines** +**Map evidence to a guideline** ::: :::: {.mt2 .f2 .embed} @@ -273,6 +257,64 @@ When you're done, click [{{< fa chevron-right >}}]() to continue. ::: +## {.scrollable} + +:::: {.columns} +::: {.column width="30%" .pr4 .f2} +Automatically map & assess evidence + +::: {.tc} +[Learn more ...](/guide/validation/map-and-assess-evidence.qmd){.button target="_blank"} +::: + +::: + +::: {.column width="70%" .bl .pl4 .f3} + +{{< include /guide/validation/_how-does-mapping-assessment-work.qmd >}} + +::: +:::: + +## {.scrollable} + +:::: {.columns} +::: {.column width="30%" .pr4 .f2} +Automatically assess evidence + +::: {.f5 .nt2 .pl2 .mb4} +(Scroll down for the full instructions.) +::: + + +
Try it **live** on the next pages. {{< fa hand-point-right >}} +::: + +::: {.column width="70%" .bl .pl4 .f4} + +1. In the left sidebar, click **{{< fa cubes >}} Inventory**. + +2. Select a record or find your record by [applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. + +3. In the left sidebar that appears for your record, click **Validation** under **{{< fa file >}} Documents**. + +4. You can map evidence at three levels: + +::: {.panel-tabset} + +### Map evidence to guidelines + +{{< include /guide/validation/_map-evidence-to-guidelines.qmd >}} + +### Assess evidence for compliance + +{{< include /guide/validation/_assess-evidence-for-compliance.qmd >}} + +::: + +::: +:::: + ## {background-iframe="https://app.prod.validmind.ai/model-inventory" background-interactive="true" data-preload="yes"} :::: {.slideover--b .auto-collapse-10} From 0be654c0d16faef1174f3d96592c39655416191a Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 16:51:52 -0700 Subject: [PATCH 22/36] save --- .../_assess-evidence-for-compliance.qmd | 76 ++++++++++++++----- .../finalizing-validation-reports.qmd | 41 +--------- 2 files changed, 57 insertions(+), 60 deletions(-) diff --git a/site/guide/validation/_assess-evidence-for-compliance.qmd b/site/guide/validation/_assess-evidence-for-compliance.qmd index 73925db79..c6c25d79a 100644 --- a/site/guide/validation/_assess-evidence-for-compliance.qmd +++ b/site/guide/validation/_assess-evidence-for-compliance.qmd @@ -99,55 +99,89 @@ b. In any subsection, click **Evidence Assessment** to expand the evidence asses :::: {.content-hidden unless-format="revealjs"} -Assess Evidence analyzes the linked evidence and generates a structured compliance assessment, identifying potential risks and compliance gaps. +Assess Evidence uses AI to analyze the linked evidence and generate a structured compliance assessment, identifying potential risks and compliance gaps. -1. Navigate to a section that has linked evidence. +1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Click **{{< fa wand-magic-sparkles >}} Assess Evidence** under the Evidence Assessment panel. +2. Select a record or find your record by [applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. -3. {{< var vm.product >}} runs an analysis on the linked evidence and generates an Evidence Assessment containing: +3. In the left sidebar that appears for your record, click **Validation** under **{{< fa file >}} Documents**. - - **Guideline Assessment** — A compliance conclusion indicating whether the guideline requirements are fully met, partially met, or not met, with an explanation of the evidence quality. +4. You can assess evidence for compliance at three levels: - - **Validation Observations** — Specific findings about gaps or issues in the evidence, with each observation covering a single concern and suggesting actions for developers. +::: {.panel-tabset} + +#### For the entire report + +Click **{{< fa wand-magic-sparkles >}} Assess Evidence** in the right sidebar to expand the evidence assessment panel for the entire report. + +#### For an entire section + +Sections include subsections with guidelines, and a risk assessment summary at the top of the page. + +a. Click on a section of the validation report to expand that section. +b. Click **{{< fa wand-magic-sparkles >}} Assess Evidence** at the top of the page to open the evidence assessment panel for that section. + +#### For individual guidelines + +Guidelines are organized into subsections under a parent section. + +a. Click on a section of the validation report to expand that section. +b. In any subsection, click **{{< fa wand-magic-sparkles >}} Assess Evidence** to open the evidence assessment panel for that guideline. + +::: + +6. Click **Assess Evidence** to run an analysis on the linked evidence and generate an Evidence Assessment containing: + - **Guideline Assessment** — A compliance conclusion indicating whether the guideline requirements are fully met, partially met, or not met, with an explanation of the evidence quality. + - **Validation Observations** — Specific findings about gaps or issues in the evidence, with each observation covering a single concern and suggesting actions for developers. - **Evidence Review** — A detailed analysis of what the evidence demonstrates, including references to specific test outputs, documentation, and any limitations. - The panel displays how many assessments are available to review. + If this is your first time running Assess Evidence, review the information presented to you explaining the assessment process, then click **Assess Evidence** to run the assessment. + +When evidence assessment is complete, the [#]{.bubble} of assessment items to review is displayed. Review the assessment items and approve or reject the suggestions as needed. + +#### Review and approve evidence assessments After running Assess Evidence, you can review and approve assessments at three levels: +::: {.panel-tabset} + #### For the entire report -a. Open the validation report and look at the right sidebar. +If you have run evidence assessment for the entire report, you can review and approve suggestions at the entire report level. -b. The **Assess Evidence** panel shows how many assessments need review across the entire report. +The **{{< fa wand-magic-sparkles >}} Assess Evidence** panel in the right sidebar for your validation report shows how many items need review across the entire report — click to expand the panel if it is collapsed: -c. Use **Approve All** to accept all generated assessments, or **Reject All** to dismiss all assessments. + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested assessments across all guidelines, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all suggestions. + - Click into any section of the report with approved assessments to confirm that any approved assessments appear in the Evidence Assessment panel for guidelines as expected. + - To re-run the assessment, click **{{< fa sync >}} Reassess Evidence**. #### For an entire section -a. Navigate to a specific section in the validation report. +Sections include subsections with guidelines, and a risk assessment summary at the top of the page. If you have run mapping for an entire section, you can review and approve suggestions at the section level: -b. In the section header, click **{{< fa wand-magic-sparkles >}} Assess Evidence** to open the assessment panel. +a. Click on a section of the validation report to expand that section. -c. Use **Approve All** to accept all generated assessments for that section, or **Reject All** to dismiss them. +b. Click **{{< fa wand-magic-sparkles >}} Assess Evidence** at the top of the page to open the evidence assessment panel for that section: -d. To regenerate assessments with updated evidence, click **Re-assess Evidence**. + - Select **[{{< fa check >}} Approve All]{.green}** to link all suggested assessments for guidelines in that section, or **[{{< fa xmark >}} Reject All]{.red}** to dismiss all section suggestions. + - Confirm that any approved assessments appear in the Evidence Assessment panels for the guidelines in that section as expected. + - To re-run the assessment, click **{{< fa sync >}} Reassess Evidence**. #### For individual guidelines -a. Navigate to a specific section in the validation report. - -b. Expand the **Evidence Assessment** panel for a guideline. Assessments pending review show a [Review]{.bubble} status. +Guidelines are organized into subsections under a parent section. If you have run mapping for an individual guideline, you can review and approve suggestions at the guideline level: -c. Review the generated assessment content. +a. Click on a section of the validation report to expand that section. -d. Click **Approve** to accept the assessment, or **Reject** to dismiss it. +b. In any subsection, click **Evidence Assessment** to expand the evidence assessment panel for that guideline: -e. After approving, you can edit the assessment content as needed — changes are auto-saved. + - Click **[{{< fa check >}} Approve]{.green}** to approve the assessment. + - Click **[{{< fa xmark >}} Reject]{.red}** to dismiss the assessment. + - To re-run the assessment, click **{{< fa wand-magic-sparkles >}} Reassess Evidence**. -f. To regenerate an assessment, click **{{< fa wand-magic-sparkles >}} Reassess Evidence** to run the analysis again with any updated evidence. +::: :::: diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index 815366369..dff4c3b30 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -259,25 +259,6 @@ When you're done, click [{{< fa chevron-right >}}]() to continue. ## {.scrollable} -:::: {.columns} -::: {.column width="30%" .pr4 .f2} -Automatically map & assess evidence - -::: {.tc} -[Learn more ...](/guide/validation/map-and-assess-evidence.qmd){.button target="_blank"} -::: - -::: - -::: {.column width="70%" .bl .pl4 .f3} - -{{< include /guide/validation/_how-does-mapping-assessment-work.qmd >}} - -::: -:::: - -## {.scrollable} - :::: {.columns} ::: {.column width="30%" .pr4 .f2} Automatically assess evidence @@ -287,31 +268,13 @@ Automatically assess evidence ::: -
Try it **live** on the next pages. {{< fa hand-point-right >}} +
Try it **live** on the next page. {{< fa hand-point-right >}} ::: ::: {.column width="70%" .bl .pl4 .f4} -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. - -2. Select a record or find your record by [applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. - -3. In the left sidebar that appears for your record, click **Validation** under **{{< fa file >}} Documents**. - -4. You can map evidence at three levels: - -::: {.panel-tabset} - -### Map evidence to guidelines - -{{< include /guide/validation/_map-evidence-to-guidelines.qmd >}} - -### Assess evidence for compliance - {{< include /guide/validation/_assess-evidence-for-compliance.qmd >}} -::: - ::: :::: @@ -319,7 +282,7 @@ Automatically assess evidence :::: {.slideover--b .auto-collapse-10} ::: {.tc} -**Assess evidence for compliance** +**Assess mapped evidence for compliance** ::: :::: {.mt2 .f2 .embed} From b02ff5130da01dded7d68237d5b33ed4e2b08c93 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 16:54:08 -0700 Subject: [PATCH 23/36] save --- site/guide/validation/_assign-compliance-assessments.qmd | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/site/guide/validation/_assign-compliance-assessments.qmd b/site/guide/validation/_assign-compliance-assessments.qmd index e240f5bb3..f4a5c6166 100644 --- a/site/guide/validation/_assign-compliance-assessments.qmd +++ b/site/guide/validation/_assign-compliance-assessments.qmd @@ -28,15 +28,13 @@ Your organization can customize these options to match its own assessment framew :::: {.content-hidden unless-format="revealjs"} 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -1. Select a record or find your record [by applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. +2. Select a record or find your record [by applying a filter or searching for it](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records){target="_blank"}. -1. In the left sidebar that appears for your record, [click **{{< fa file >}} Documents** and select the **Latest** tab](/guide/documentation/work-with-document-versions.qmd){target="_blank"}. - -1. Click on a Validation type file. +3. In the left sidebar that appears for your record, click **Validation** under **{{< fa file >}} Documents**. Expand any subsection of the validation report you have attached evidence and artifacts for. -1. Under Guideline, click **Select a value for this guideline** to choose one of the available Assessment options. +4. Under Guideline, click **Select a value for this guideline** to choose one of the available Assessment options. At the top of the page for that subsection, confirm that the compliance summary shown provides an accurate overview for current qualitative and quantitative risk assessments for that subsection: From cd4f045de4f203a2b6d0f2ac65be04b376eae673 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 17:10:03 -0700 Subject: [PATCH 24/36] Edit: Add and manage artifacts --- .../validation/_link-artifacts-to-reports.qmd | 11 ++++++++-- .../guide/validation/add-manage-artifacts.qmd | 22 +++++++++++-------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/site/guide/validation/_link-artifacts-to-reports.qmd b/site/guide/validation/_link-artifacts-to-reports.qmd index 5346ff561..09ef47299 100644 --- a/site/guide/validation/_link-artifacts-to-reports.qmd +++ b/site/guide/validation/_link-artifacts-to-reports.qmd @@ -11,10 +11,10 @@ b. Click **{{< fa link >}} Link Artifact** and select the artifact type^[[Manage - Policy Exception - Limitation -c. On the **Link Artifact to Report** modal that opens: +c. On the Link Artifact to Report modal that opens: - Select from the list of available artifacts. - - Click **{{< fa plus >}} Add {Artifact Type}** where `{Artifact Type}` is the artifact type you want to add to create a new artifact,^[[Add and manage artifacts](/guide/validation/add-manage-artifacts.qmd#add-artifacts-on-validation-reports)] then select the new artifact from the list. + - Click **{{< fa plus >}} Add {Artifact Type}** where `{Artifact Type}` is the artifact type you want to add to create a new artifact,[^create-artifact] then select the new artifact from the list. c. Click **Update Linked Artifacts**. @@ -22,6 +22,13 @@ c. Click **Update Linked Artifacts**. :::: + + +[^create-artifact]: + + 1. Click **{{< fa plus >}} Add {Artifact Type}** where `{Artifact Type}` is the artifact type you want to add to create a new artifact. + 2. Enter in the details for your artifact. + 3. Click **Add {Artifact Type}** to submit the artifact. :::: {.content-hidden unless-format="revealjs"} 1. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}}, go to the model you connected to earlier. diff --git a/site/guide/validation/add-manage-artifacts.qmd b/site/guide/validation/add-manage-artifacts.qmd index 0e7a43aac..ca8dd1110 100644 --- a/site/guide/validation/add-manage-artifacts.qmd +++ b/site/guide/validation/add-manage-artifacts.qmd @@ -1,4 +1,4 @@ - --- +--- # Copyright © 2023-2026 ValidMind Inc. All rights reserved. # Refer to the LICENSE file in the root of this repository for details. # SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial @@ -32,7 +32,7 @@ Add artifacts at the record or documentation section level, update your artifact ## Add artifacts on validation reports -When linking artifacts to validation reports,[^5] you can add artifacts as you assess a record's compliance: +When linking artifacts to validation reports,[^5] you can add artifacts as you assess a record's compliance. 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. @@ -42,17 +42,21 @@ When linking artifacts to validation reports,[^5] you can add artifacts as you a 4. Click on a Validation type file.[^8] -5. In any section of the report where the button is available, click **{{< fa link >}} Link Artifact to Report** and select the artifact type[^9] you want to add: + Expand any subsection of the validation report you have attached evidence for to autogenerate validation issues or manually link artifacts to your report: + +::: {.panel-tabset} + +### Autogenerate validation issues - - Validation Issue - - Policy Exception - - Limitation +{{< include _autogenerate-validation-issues.qmd >}} -6. On the Link Artifact to Report modal that opens, click **{{< fa plus >}} Add {Artifact Type}**. +### Manually add artifacts + +{{< include _link-artifacts-to-reports.qmd >}} + +::: -7. On the modal that opens, provide information for your artifact. -8. When you are done, click **Add {Artifact Type}** to submit the artifact. ## Update artifacts From 51cf08e8b792b6347bf924bb9aa133d7dc1c7b49 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 17:20:56 -0700 Subject: [PATCH 25/36] proofread --- .../guide/validation/_add-artifacts-on-documentation.qmd | 4 ++-- .../guide/validation/_autogenerate-validation-issues.qmd | 9 +++++++++ site/guide/validation/add-manage-artifacts.qmd | 4 ++-- site/guide/validation/assess-compliance.qmd | 2 ++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/site/guide/validation/_add-artifacts-on-documentation.qmd b/site/guide/validation/_add-artifacts-on-documentation.qmd index c14f6fce0..ecd4c4fe4 100644 --- a/site/guide/validation/_add-artifacts-on-documentation.qmd +++ b/site/guide/validation/_add-artifacts-on-documentation.qmd @@ -23,7 +23,7 @@ SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> 1. On the modal that opens, provide information for your artifact. -1. When you are done, click **Save** to submit the artifact. +1. When you are done, click **Add {Artifact Type}** where `{Artifact Type}` is the artifact type you want to add to submit the artifact. Once created, you can then add supporting documentation to your artifact.^[[Manage attachments on artifacts](/guide/validation/add-manage-artifacts.qmd#manage-attachments)] @@ -42,7 +42,7 @@ c. Select the [artifact type](/guide/validation/manage-artifact-types.qmd){targe d. On the modal that opens, provide information for your artifact. -e. When you are done, click **Save** to submit the artifact. +e. When you are done, click **Add {Artifact Type}** where `{Artifact Type}` is the artifact type you want to add to submit the artifact. Once created, you can then [add supporting documentation to your artifact](/guide/validation/add-manage-artifacts.qmd#manage-attachments){target="_blank"}. diff --git a/site/guide/validation/_autogenerate-validation-issues.qmd b/site/guide/validation/_autogenerate-validation-issues.qmd index e0cec6b57..ad2d632e9 100644 --- a/site/guide/validation/_autogenerate-validation-issues.qmd +++ b/site/guide/validation/_autogenerate-validation-issues.qmd @@ -49,8 +49,17 @@ d. Approve, reject, or regenerate the suggested validation issues: ::: +:::: {.content-visible when-format="html" when-meta="includes.compliance"} e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status.^[[Add and manage artifacts](/guide/validation/add-manage-artifacts.qmd)] +:::: + +:::: {.content-visible when-format="html" unless-meta="includes.compliance"} +e. After approving a validation issue, you can further customize it by clicking on the issue to edit fields such as owner, due date, and status. + +:::: + + ::::: diff --git a/site/guide/validation/add-manage-artifacts.qmd b/site/guide/validation/add-manage-artifacts.qmd index ca8dd1110..924ef72db 100644 --- a/site/guide/validation/add-manage-artifacts.qmd +++ b/site/guide/validation/add-manage-artifacts.qmd @@ -32,7 +32,7 @@ Add artifacts at the record or documentation section level, update your artifact ## Add artifacts on validation reports -When linking artifacts to validation reports,[^5] you can add artifacts as you assess a record's compliance. +While assessing a record's compliance,[^5] you can add artifacts as you complete your validation report: 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. @@ -129,7 +129,7 @@ If you logged an artifact in error or otherwise no longer need to track that art [^4]: [Manage permissions](/guide/configuration/manage-permissions.qmd) -[^5]: [Link artifacts to reports](/guide/validation/assess-compliance.qmd#link-artifacts-to-reports) +[^5]: [Assess compliance](/guide/validation/assess-compliance.qmd#link-artifacts-to-reports) [^6]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) diff --git a/site/guide/validation/assess-compliance.qmd b/site/guide/validation/assess-compliance.qmd index c5d7548b6..bd9cace00 100644 --- a/site/guide/validation/assess-compliance.qmd +++ b/site/guide/validation/assess-compliance.qmd @@ -7,6 +7,8 @@ date: last-modified aliases: - /guide/assess-compliance.html - /guide/model-validation/assess-compliance.html +includes: + compliance: true --- Use the {{< var validmind.platform >}} to assess compliance of your records with guidelines based on analyzing evidence and artifacts. From d9983182caf1331cb24009e226b8d08300ca597d Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 17:29:19 -0700 Subject: [PATCH 26/36] more proofreading --- site/guide/validation/_link-artifacts-to-reports.qmd | 10 ++++------ .../developing-potential-challengers.qmd | 11 ++++++----- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/site/guide/validation/_link-artifacts-to-reports.qmd b/site/guide/validation/_link-artifacts-to-reports.qmd index 09ef47299..d0de905e8 100644 --- a/site/guide/validation/_link-artifacts-to-reports.qmd +++ b/site/guide/validation/_link-artifacts-to-reports.qmd @@ -37,20 +37,18 @@ c. Click **Update Linked Artifacts**. 1. Click **2.2.2. Model Performance** to expand that section. -1. Under the Model Performance Metrics section, locate Artifacts then click **{{< fa link >}} Link Artifact**. +1. Under the Model Performance Metrics section, click to expand the **Artifacts** panel. -1. Select **Validation Issue** as the [type of artifact](/guide/validation/manage-artifact-types.qmd){target="_blank"}. +1. Click **{{< fa link >}} Link Artifact** and select **Validation Issue** as the [type of artifact](/guide/validation/manage-artifact-types.qmd){target="_blank"}. -1. Click **{{< fa plus >}} Add Validation Issue** to add a validation issue type artifact. - -1. Enter in the details for your validation issue, for example: +1. Click **{{< fa plus >}} Add Validation Issue** and enter in the details for your validation issue, for example: - **[title]{.smallcaps}** — Champion Logistic Regression Model Fails Minimum Accuracy Threshold - **[risk area]{.smallcaps}** — Model Performance - **[documentation section]{.smallcaps}** — 3.2. Model Evaluation - **[description]{.smallcaps}** — The logistic regression champion model was subjected to a Minimum Accuracy test to determine whether its predictive accuracy meets the predefined performance threshold of 0.7. The model achieved an accuracy score of 0.6136, which falls below the required minimum. As a result, the test produced a Fail outcome. -1. Click **Save**. +1. Click **Add Validation Issue** to submit the validation issue. 1. Select the validation issue you just added to link to your validation report. diff --git a/site/training/validator-fundamentals/developing-potential-challengers.qmd b/site/training/validator-fundamentals/developing-potential-challengers.qmd index 63715ea6a..b498691fa 100644 --- a/site/training/validator-fundamentals/developing-potential-challengers.qmd +++ b/site/training/validator-fundamentals/developing-potential-challengers.qmd @@ -364,11 +364,12 @@ As we can observe from the output in our notebook, our champion model doesn't pa 1. Select the name of your model you registered for this course to open up the model details page. 2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. 3. Click on **2.2.2. Model Performance** to expand that section. -4. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report** and select **Validation Issue**. -5. Click **{{< fa plus >}} Add Validation Issue** to add a validation issue type artifact. -6. Enter in the details for your validation issue and click **Save**. -7. Select the validation issue you just added to link to your validation report. -8. Click **Update Linked Artifacts** to insert your validation issue. +4. Under the Model Performance Metrics section, click to expand the **Artifacts** panel. +5. Click **{{< fa link >}} Link Artifact** and select **Validation Issue** as the type of artifact. +6. Click **{{< fa plus >}} Add Validation Issue** and enter in the details for your validation issue. +7. Click **Add Validation Issue** to submit the validation issue. +8. Select the validation issue you just added to link to your validation report. +9. Click **Update Linked Artifacts** to insert your validation issue. When you're done, click [{{< fa chevron-right >}}]() to continue. From daf7346d3766e8b501c40f3406d5b513d63664e9 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 17:42:16 -0700 Subject: [PATCH 27/36] proofreading Validator Fundamentals --- .../validation/_link-artifacts-to-reports.qmd | 2 +- .../developing-potential-challengers.qmd | 2 +- .../finalizing-validation-reports.qmd | 14 +++++++------- .../running-data-quality-tests.qmd | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/site/guide/validation/_link-artifacts-to-reports.qmd b/site/guide/validation/_link-artifacts-to-reports.qmd index d0de905e8..97e7c339a 100644 --- a/site/guide/validation/_link-artifacts-to-reports.qmd +++ b/site/guide/validation/_link-artifacts-to-reports.qmd @@ -37,7 +37,7 @@ c. Click **Update Linked Artifacts**. 1. Click **2.2.2. Model Performance** to expand that section. -1. Under the Model Performance Metrics section, click to expand the **Artifacts** panel. +1. Under the Model Performance Metrics guideline, click to expand the **Artifacts** panel. 1. Click **{{< fa link >}} Link Artifact** and select **Validation Issue** as the [type of artifact](/guide/validation/manage-artifact-types.qmd){target="_blank"}. diff --git a/site/training/validator-fundamentals/developing-potential-challengers.qmd b/site/training/validator-fundamentals/developing-potential-challengers.qmd index b498691fa..76a17a7df 100644 --- a/site/training/validator-fundamentals/developing-potential-challengers.qmd +++ b/site/training/validator-fundamentals/developing-potential-challengers.qmd @@ -364,7 +364,7 @@ As we can observe from the output in our notebook, our champion model doesn't pa 1. Select the name of your model you registered for this course to open up the model details page. 2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. 3. Click on **2.2.2. Model Performance** to expand that section. -4. Under the Model Performance Metrics section, click to expand the **Artifacts** panel. +4. Under the Model Performance Metrics guideline, click to expand the **Artifacts** panel. 5. Click **{{< fa link >}} Link Artifact** and select **Validation Issue** as the type of artifact. 6. Click **{{< fa plus >}} Add Validation Issue** and enter in the details for your validation issue. 7. Click **Add Validation Issue** to submit the validation issue. diff --git a/site/training/validator-fundamentals/finalizing-validation-reports.qmd b/site/training/validator-fundamentals/finalizing-validation-reports.qmd index dff4c3b30..83efc8815 100644 --- a/site/training/validator-fundamentals/finalizing-validation-reports.qmd +++ b/site/training/validator-fundamentals/finalizing-validation-reports.qmd @@ -242,14 +242,14 @@ Automatically map evidence ::: :::: {.mt2 .f2 .embed} -Please note that test results and content blocks must be present on your model's associated Development document for evidence to be automatically mapped to your validation report. +Please note that test results and content blocks must be present on your model's associated default Development document for Developer Evidence to be automatically mapped to your validation report. ::: 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. 3. Click on **2.2.2. Model Performance** to expand that section. -4. Under the Model Performance Metrics section, locate Evidence then click **{{< fa wand-magic-sparkles >}} Map Evidence**. +4. Under the Model Performance Metrics guideline, locate Evidence then click **{{< fa wand-magic-sparkles >}} Map Evidence**. 5. Configure the mapping options, then click **Map Evidence** to run the AI mapping. 6. Review and approve the mapped evidence. @@ -293,8 +293,8 @@ Please note that evidence must already be mapped to be assessed automatically on 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. 3. Click on **2.2.2. Model Performance** to expand that section. -4. Under the Model Performance Metrics section, click **{{< fa wand-magic-sparkles >}} Assess Evidence** under the Evidence Assessment panel. -5. After the AI analyzes the linked evidence and generates an **Evidence Assessment**, review and approve the evidence assessment. +4. Under the Model Performance Metrics guideline, click **{{< fa wand-magic-sparkles >}} Assess Evidence** under the Evidence Assessment panel. +5. Review and approve the evidence assessment. When you're done, click [{{< fa chevron-right >}}]() to continue. @@ -360,7 +360,7 @@ Along with adding artifacts via validation reports, you can also add artifacts d 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. 3. Click on **2.2.2. Model Performance** to expand that section. -4. Under the Model Performance Metrics section, locate Artifacts then click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. +4. Under the Model Performance Metrics guideline, locate Artifacts then click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. 5. Approve or reject any suggested validation issues. When you're done, click [{{< fa chevron-right >}}]() to continue. @@ -377,7 +377,7 @@ When you're done, click [{{< fa chevron-right >}}]() to continue. 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Development** under {{< fa file >}} Documents. -3. Click **{{< fa plus >}} Add Model Artifact** to add an artifact from the overview. +3. Click **{{< fa plus >}} Add Artifact** to add an artifact from the overview. When you're done, click [{{< fa chevron-right >}}]() to continue. @@ -506,7 +506,7 @@ Try it **live** on the next page. {{< fa hand-point-right >}} 1. Select the name of your model you registered for this course to open up the model details page. 2. On the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. -3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to assign the compliance assessment for the Class Imbalance Assessment sub-section. +3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to assign the compliance assessment for the Model Performance Metrics guideline. When you're done, click [{{< fa chevron-right >}}]() to continue. diff --git a/site/training/validator-fundamentals/running-data-quality-tests.qmd b/site/training/validator-fundamentals/running-data-quality-tests.qmd index e76705e7f..fa0622d09 100644 --- a/site/training/validator-fundamentals/running-data-quality-tests.qmd +++ b/site/training/validator-fundamentals/running-data-quality-tests.qmd @@ -318,7 +318,7 @@ a. In the left sidebar that appears for your record, click **Validation** under a. Click **2.2.1. Data Quality** to expand that section. -a. Under the Class Imbalance Assessment section, click **Evidence** to expand the evidence panel. +a. Under the Class Imbalance Assessment guideline, click **Evidence** to expand the evidence panel. a. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. @@ -354,7 +354,7 @@ a. Click **Update Linked Evidence** to add the test results to the validation re 1. Select the name of your model you registered for this course to open up the model details page. 2. In the left sidebar that appears for your model, click **Validation** under {{< fa file >}} Documents. 3. Click **2.2.1. Data Quality** to expand that section. -4. Under the Class Imbalance Assessment section, click **Evidence** to expand the evidence panel. +4. Under the Class Imbalance Assessment guideline, click **Evidence** to expand the evidence panel. 5. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. 6. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** 7. Click **Update Linked Evidence** to add the test results to the validation report. From 66a0d7efec8e8d6dd46c22b0decf683fdb24857d Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 17:46:04 -0700 Subject: [PATCH 28/36] proofread --- .../developer-fundamentals/finalizing-documentation.qmd | 2 +- .../developer-fundamentals/implementing-custom-tests.qmd | 4 ++-- .../training/developer-fundamentals/learning-to-run-tests.qmd | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/site/training/developer-fundamentals/finalizing-documentation.qmd b/site/training/developer-fundamentals/finalizing-documentation.qmd index cc4620cb7..ddfc6a166 100644 --- a/site/training/developer-fundamentals/finalizing-documentation.qmd +++ b/site/training/developer-fundamentals/finalizing-documentation.qmd @@ -199,7 +199,7 @@ You can also use the content editing toolbar to revise the description of test r For example: -1. Within your documentation, locate the Data Preparation section and click on **2.3 Correlations and Interactions** to expand that section. +1. Within your documentation, click on **2.3 Correlations and Interactions** to expand that section. 2. Click on the text to edit the description for our individually inserted `HighPearsonCorrelation:balanced_raw_dataset` test: diff --git a/site/training/developer-fundamentals/implementing-custom-tests.qmd b/site/training/developer-fundamentals/implementing-custom-tests.qmd index 879e3b538..278a6aa0e 100644 --- a/site/training/developer-fundamentals/implementing-custom-tests.qmd +++ b/site/training/developer-fundamentals/implementing-custom-tests.qmd @@ -348,7 +348,7 @@ With the custom test results logged, let's head to the model we connected to at 2. In the left sidebar that appears for your model, click **Development** under {{< fa file >}} Documents. -3. Locate the Data Preparation section and click on **3.2 Model Evaluation** to expand that section. +3. Click on **3.2 Model Evaluation** to expand that section. 4. Hover under the Pearson Correlation Matrix content block until a horizontal line with a **{{< fa plus >}}** button appears, indicating that you can insert a new block. @@ -376,7 +376,7 @@ With the custom test results logged, let's head to the model we connected to at 1. Select the name of your model you registered for this course to open up the model details page. 2. In the left sidebar that appears for your model, click **Development** under {{< fa file >}} Documents. -3. Locate the Data Preparation section and click on **3.2 Model Evaluation** to expand that section. +3. Click on **3.2 Model Evaluation** to expand that section. 4. Hover under the Pearson Correlation Matrix content block until a horizontal line with a **{{< fa plus >}}** button appears, indicating that you can insert a new block. 5. Click **{{< fa plus >}}** and then select **Test-Driven Block** under [from library]{.smallcaps}: - Click on **Custom** under [test-driven]{.smallcaps} in the left sidebar. diff --git a/site/training/developer-fundamentals/learning-to-run-tests.qmd b/site/training/developer-fundamentals/learning-to-run-tests.qmd index 62772da44..c720e5c9b 100644 --- a/site/training/developer-fundamentals/learning-to-run-tests.qmd +++ b/site/training/developer-fundamentals/learning-to-run-tests.qmd @@ -307,7 +307,7 @@ Work with test results 1. Select the name of your model you registered for this course to open up the model details page. 2. In the left sidebar that appears for your model, click **Development** under {{< fa file >}} Documents. -3. Locate the Data Preparation section and click on **2.3 Correlations and Interactions** to expand that section. +3. Click on **2.3 Correlations and Interactions** to expand that section. 4. Hover under the Pearson Correlation Matrix content block until a horizontal line with a **{{< fa plus >}}** button appears, indicating that you can insert a new block. 5. Click **{{< fa plus >}}** and then select **Test-Driven Block** under [from library]{.smallcaps}: - Click on **VM Library** under [test-driven]{.smallcaps} in the left sidebar. From 21b7e76a6cdda7d2fb353d3a407da9696056c901 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 18:03:26 -0700 Subject: [PATCH 29/36] ... --- .../developing-potential-challengers.qmd | 2 +- .../running-data-quality-tests.qmd | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/site/training/validator-fundamentals/developing-potential-challengers.qmd b/site/training/validator-fundamentals/developing-potential-challengers.qmd index 76a17a7df..9e378ca93 100644 --- a/site/training/validator-fundamentals/developing-potential-challengers.qmd +++ b/site/training/validator-fundamentals/developing-potential-challengers.qmd @@ -335,7 +335,7 @@ Log an artifact (finding) ::: ::: {.tc} -[Learn more ...](/notebooks/EXECUTED/validation/3-developing_potential_challenger.html#log-an-artifact){.button target="_blank"} +[Learn more ...](/guide/validation/assess-compliance.qmd#link-artifacts-to-reports){.button target="_blank"} ::: diff --git a/site/training/validator-fundamentals/running-data-quality-tests.qmd b/site/training/validator-fundamentals/running-data-quality-tests.qmd index fa0622d09..82ae9bd2e 100644 --- a/site/training/validator-fundamentals/running-data-quality-tests.qmd +++ b/site/training/validator-fundamentals/running-data-quality-tests.qmd @@ -295,7 +295,7 @@ When you're done, return to this page and click [{{< fa chevron-right >}}]() to Add test results to reporting ::: {.tc} -[Learn more ...](/notebooks/EXECUTED/validation/2-start_validation_process.ipynb#add-test-results-to-reporting){.button target="_blank"} +[Learn more ...](/guide/validation/assess-compliance.qmd#map-evidence){.button target="_blank"} ::: @@ -314,21 +314,21 @@ While the example below focuses on a specific test result, you can follow the sa ### 1. Link data quality test results a. From the **{{< fa cubes >}} Inventory** in the {{< var validmind.platform >}}, go to the record you connected to earlier. -a. In the left sidebar that appears for your record, click **Validation** under {{< fa file >}} Documents. +b. In the left sidebar that appears for your record, click **Validation** under {{< fa file >}} Documents. -a. Click **2.2.1. Data Quality** to expand that section. +c. Click **2.2.1. Data Quality** to expand that section. -a. Under the Class Imbalance Assessment guideline, click **Evidence** to expand the evidence panel. +d. Under the Class Imbalance Assessment guideline, click **Evidence** to expand the evidence panel. -a. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. +e. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. -a. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** +f. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** ![The ClassImbalance tests selected](/notebooks/tutorials/model_validation/selecting-class-imbalance-results.png){fig-alt="Screenshot showing the ClassImbalance tests selected" .screenshot} -a. Click **Update Linked Evidence** to add the test results to the validation report. +g. Click **Update Linked Evidence** to add the test results to the validation report. - Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into right section under **2.2.1. Data Quality** of the report. +h. Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into right section under **2.2.1. Data Quality** of the report. ### 2. Review Class Imbalance test results From dc8401de452ecb4dc41e9d3e067b832cd61af953 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 18:09:10 -0700 Subject: [PATCH 30/36] Pulling in updated notebooks --- site/notebooks.zip | Bin 62274299 -> 61155222 bytes .../2-start_validation_process.ipynb | 177 ++++++++--------- .../3-developing_potential_challenger.ipynb | 185 +++++++++--------- .../inserted-class-imbalance-results.png | Bin 89421 -> 0 bytes .../EXECUTED/validation/link-artifact.png | Bin 188145 -> 0 bytes .../validation/link-validator-evidence.png | Bin 394314 -> 0 bytes .../custom_tests/implement_custom_tests.ipynb | 21 +- .../2-start_validation_process.ipynb | 177 ++++++++--------- .../3-developing_potential_challenger.ipynb | 185 +++++++++--------- .../inserted-class-imbalance-results.png | Bin 89421 -> 0 bytes .../tutorials/validation/link-artifact.png | Bin 188145 -> 0 bytes .../validation/link-validator-evidence.png | Bin 394314 -> 0 bytes 12 files changed, 369 insertions(+), 376 deletions(-) delete mode 100644 site/notebooks/EXECUTED/validation/inserted-class-imbalance-results.png delete mode 100644 site/notebooks/EXECUTED/validation/link-artifact.png delete mode 100644 site/notebooks/EXECUTED/validation/link-validator-evidence.png delete mode 100644 site/notebooks/tutorials/validation/inserted-class-imbalance-results.png delete mode 100644 site/notebooks/tutorials/validation/link-artifact.png delete mode 100644 site/notebooks/tutorials/validation/link-validator-evidence.png diff --git a/site/notebooks.zip b/site/notebooks.zip index eac4468bc85b1d9d1f951c342e90cb9e0d500df6..3706a851af8032715fb5b9d7012ca1c9598b37e8 100644 GIT binary patch delta 60951 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

sqVCJ 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

C8SCqe@*7UCi7pD`TwWMd}IvN{%c@^ ztDaVx9?Vqnk#GEY5x*Y3{R*73(E9t`{c->8*BhJj(tkuvmDmp78mo+K$wkgTE=I%; zlVUz*W$fYKo?eqjSRs&K9TN$Ed&Ht|b@67G*fIETe@lLR!q5k}%VGGpwRm;+Rx$q7 z&3|?C|3x=V0_xJ{7H2dawQv41zb82P%1)1S!n^;x<(m|@7P~3g5dG!vw!mC1dp`og zc1u;ytl$2EFp7Y3~gL;bnou9=x+DQ~AW_q@-oNLcqr0TSq4Dbr>Ps;Kb?CzL^u5V|vY7 zzy;w}KBpHW4?@&cbeAuKYJkFBlmPg=2=w_O9%NM{U@k?}iPep!WiY>|Cm8_rQ_2!L zY((Cp8!Un~m4L)obZVF{TRS^R z)&V&ga&=|G5+KF{KM{2gEmVc2m(XJ}f10j&)HHxo6udV@H&##F3(N8F@FcRAE>b&* zJEpCzElym_aeJt7ZNYw{n7#aY)3wj&Umc}!Rz*Jh8>;i=V@DN9wY6pqw}H=#mSzWC zrxwXp$tHynN^S!k*X!RZw8gId@M>yywpW(YNar$ugIO&MI=_>yUWnChV&s{ye-YEI z!{*43`#H;hFYjd%`cl7LGkHWccf)2Vx`2gfr=UK2fb9}-VSflT*J?snw4X%zK!+Q; zl!Xn9?SDyGZ72(4Umq7paXO&SvQQpJRNO<4db)Zb%&|e2<1y>fuy0`soSGA=szN#q zrse^VXY|o0y~nmV;Hwq5*z3-M$(3 zGFB28$XT*2p%E(?W+g5rrUo}i%fhYFPfa_ckC{hS1Z?v+od{YZ^%_k&c^5~=9U2Q7 zgqxe2*_?8UidX~BN{pi{*|oantuqAIkKMX6Xm-MOhBIl0=Uwv>ojh!uf1#h2{o&+4 zuWVO-#Yj@QkEGG=WCCHXbjx!~hCxB-_x4+3-({Xr?anwZJ`L-cghecV>yLNWJQf!h zH$Q+KVi(tP8^ZKF=poTTSA*>aEdzxr-rn>aG{*4G&|fRC{!4d02ORdl<84&lceoN% zkBXzOlX*;E=2qI6l;Lxu5*uGG&wHil_^pSYJ6yiCLPO3*d$HRuWjC?U_N;Hhf0z{4Q%lO(&Z+Im zSQbb7b9kn&%nQ0gduw7%cFXGdN}t_FMOmnNVjyEP&P$J4b-T}|nCt6%N?&yD zT{EcJc+1Rq!!sp$f7{vsBLl^mS&3nOy;0OjP_=2~tpj>9T|Rj^*DF6r$eW_3 zyuG$X+Ct2$roZe>nqSr0HVs3U>e%aB5LUSZC${Z1)no3(e=b2Bdg?+mB(3P16DzA4 z+rh*ou6pa)wfLC)u;DRNj>QNKR>5G#vqK92OQa5|gn#%(=qAn5GB)2gb8+*&z z`pM#Gf8c4n+&Q=4ZxcQ-(Q5KLyt)YMaBedu)HV)S3v)%5HQc+CRWPt&KT|g7&E66O z$Cv6;X8D0WU2M-tI~sb~ia^-*ggdoMmh0C(Zz#P?$^d!wwnjqfN&QB-RikH(+?AL7 zCY9f@Wg0tp4n_(0_?Nc>j+&82n8HtT9rH+$e{z81;Ku7mn$xQ0X}6L4Nna)`C1irN z&~QnO;VKhJ*;_rUy&1C8J*f6vLX)`tFj3!4n3n#TNwlK>3iB`4#e#%tQ61QkXXo!w9 ze@0)t*?2Q+(Prp6Z#h3Y8{xA%E_Yf(2qgiWjH^=SLOnY(ec; zVceVf?dTY^&j&-X9fUmqfgZ31#2@JIe)elq)1SohNw9rB4+W2=nR@})^206c+mAm+!I)>nYOpL1Oigi1SqnD+0-Z1 zxHu8sBe_>q0L*3EEPCMCw(i+9A57hNDb3Y#!^$6hIa~! zvFkD>aX`?Sn(j=fAQQ(^CH|%)zX~nUKPo7P~)JwCsM;y3as`9pb4fg z-f{|j?kCn+G9SfWw-UWgHJSwB+ml~y)U;3)SEOiCr?{9>t310XRd6p} zGFVb8^+ybNhd{{m^vsO39L2#xR?`dg{{GaqE4P@l@i>IYY{Yk`yPU%Xe+0RhCF)!x zKL)PlC9N-bx3afiy=#Rowo4uLv%R7W9~~9BIZyUqNf$}KNh&TWC>~=qFeuL}9+Da< zZiB-vwwu4uO99lj;J!Oq^gvw~-|m5gFcV)w*@B3vECdUhaTb26$Q|V&Bi&43;{Gso zv_XI6EYqO-yt(=6y7US7e>Na*EP~O2wG9oFSDAqewxWZzV9gXmLhl0Dl>2D+2LduT zidmuzeC3wR3)SGABK7<(-x}-QHJNbp;VVzq?B}1_Z=s;MsaH8wwK?5kz2(6SW?DL* zuiKh?bAI4?O;-06F*V`Ygr~50$#F*cFU=C|UTXW9%|yrLHqOASf3vLK0x8tVOK>L{ ziDkkGs5%1PZ@-d$hM$g{5;mmw274Qin4ad!hfPmj(_00jJm)>*oa32QzC=Fc`qJ!r z`?Z~KVPVlNa>6sv+RMD-)>Rk1(Hv8(^N`F>6H`-MJH2hOl`yeKcO!>10J-G8J_Bi< ztFs<`Pkl#?6sYGFf323LAyB{crN+ zRSc2zWr>rYgWPhxi>l7ae7*_>o(TQ+EDf^yirO2s!PkCKF|Z45JBRK23~$A;Zswte zK;V1{`Yp`*Eo=ZlKY$v7j2i7p-sqmpup`eHk*a?NZC7`3e|jug7d6s^x7a63%AE|R ztScH;4szPsxOxg^FCChdtj=~{n;g1f{m6RG)llGovXp%Rn>ws3RXAH^KyGvDSMxx{ z*Y+d1TUkRw$cgFj&* zrMA9m=c($Ff2-URoAjSH-j>089tK+r(d1RR`u}_v00#s(lVaVIwphRQb1ds>uGj6w zb^uxc)sDIneu`VHuDCJUz+Qcmmx#69{Q|b=)XWOb+lOZ@`8z{KUXCDO-xr-@4jyt2 z1bxX|S#h8-=05j5{wlY=)Vj@{G1I5&AKpKj(X3d?eNm3`DMWjGqe>CQueKXp#ioQ;sI4$97 zm)N!trqWo9aQ1j}KrW?eTIi@WoY@geQteH%+tQiCx8|A-;A+dXD~9HI9og zNdEia>A4EvtRS{ippPiEcblQxxGeTd2m-;{l|@or;Jc^e+!Y%Rl0~cFll_#w;_@9VO2%^VHf*MK9RK?#sfyM-^VmC!xBQSjRe+mp@ zCClP_ctyH0w_~&pc13th)PFVIi$vxR!1s3QF0FwbAMICvy{R}^KLb$B8WX>L{4`iy zE4!e98#K?+dbMF9lz}Rp__KIkNE`f3Rb@WwJfggzC!@GgSnx|se$N#|5HL7LH+$)M zxEf`W+iQ4w%8{IT+dsA$cI~o=f0AkwzqT@+3l*J!)7*Yu@e($};yiJ>2pLE#5ZJUo z>g=>k)xCB>o=F=uGc)t>kd`(~*)Sb9M}5xUMG+Hz>vD&1zvFXLUpL+MkppIpe509V zOsg^8S_1Od2!$L7Ien>Z4^Z66)yRX?jEb>aDP_?W5eC}*hJzJuUC6zHe~gEFbNCIB z{E@dq3CNagG#1P<4nS-@0U7cH1-9&bJRrJJvysw-jy7oIwTPe5EU9&fX{Li~echeL zXAZ^jyjcTOR0-aE-|pnZUE*#&&T!8fv2M0vwp>GE&x_PUeXP^Ywnu1PZnhf|?s6Mc zGGqqr$J3^{n(3ELN6pr!V#r^bD69 zZJZqX+-iu&CjH2;VO`j zoxWnAEcDlAfn~z!VBMtE2nWu5ylcd6!j&s~TT!-;emsjR7s_WSx{8%35$ts~T(xTm zjqr$VsL}$CG$QlzYwcFJNoQ1uT^04Yf{1 zx8Y$jsW~ObXZc4)rhx6ld*$2%kK;=`kLOphSKInxQoVkq2q0|<{2$}_mn+lY9-CjL zHe8m}{d7~toj+Ys#PVl2tBxy{(8$XQ@%>z(j0txkjoSR>f7w^uYWo|Vn2XC8|5(W| zztJpymYFugWpPc!(O_{=f!%OP^;>^ekU$AJpfRs4MiOBmaWce@T^zB4oSvSRb$55q zRp|RMe-GB;S+&(LA9wh}prn?gEFKF2mpp$v&zpaIyt?Y%1dOr>EIu|`!V6D`Oj70| zs93C{cNJId?-s?_?E}#zfUd(jEZf1`MGo5HF^Z%HuAlgzV3aKkjbr6 z$*?_?nNdOx+} zvri}-)slV#$vflGP!uktdET7DXt-giA11wf;-~OpzKV7$q;tnfpuGJDP24mA>7)FP z;Bv@FKg5%Vs5<7gV$6LiV`FWfY3s>7=F;=V@7L@X{Wro3#u%?RFdRbvXnLXua+BBB zf6k4Cz7`kl7~kjy@1RgJf4qfz#?F-B|^xj_4=CZB5*m!etn+O_|tV1_NW!bLPhI#YOz45TLCxlW%@IsRNMG?S zjL*ln-g|vjEjE#ewWmycF&+zKb)?B!IdI2>eRUf3`!hy-*O+0tOC^lySz6z|ik1WG z)XL%_y(I8v-rraYqehDIeMO_%f9J3w7c0LyPmkU%0_FJ<-o@5|#L%LTBDA5Pn30|Q z{Cu5c&3B^>(+4x##ntp|gpr0?PaRs?%N#qpT{b{q;HyuPj_wEbjtFJzhPSyohvN+z z@5FI;&K$R>onPtu`=iX)BsF=s%Q=j7j$vIZIVMMWx;jA%Q$?YmuC(rrf6>Hyo;Z8= zqStCQX#E4cp1o+xa{(3|qYp~7hzt9S0!B^`GW*~kKYnbykc6_{{VoLxUR#r+XAe*z z;~XA#9htYL+~)MZxxk!#Yx+W{>M4;;f!*aED`tWop=W`;tBd0IgLU^HE7+^x09n|! z1I_Pkk4lAw*M!a_PPU-Ie;VHH#Zvx}FP)~l*VSKJDA8XuL8zRP3c9h26(n?2lsFjy z3-`D;ak`$>dHyZfy@pydVsZ7L?K1i7W~SVj9-oA6D2V2CXVqmKN*|V>a@4!x4Lv`4oU17PZSdk@u}$Hy^Kaej;nQTS!Ao%qSny zZFMnG8fwhFB*Y0qe~$!x!OqAC^Swn$C+&fkzal7gT^|Mh>QSEGAi&e|TaMFg;VNG+ zn)4ZdML12_psai8CsI~b#ru1~@F!al*5!IQ9h*jm9-Sw_q%E_UC{Ja5+xue z;d4nvqnR`lG;h!-vUB?q>xI3jKi4pp+q^5)`WQOT&)@~j&UvB>hQ^78V_lVxwY z;K1i*oQ({8=PkpI_H^12%g`Pf-RX-9YT?)34~4)r z-p(!c0lp&@f0tLvv%@S>SK~jM5uZD!XS0HA<#XNRoozuiQHm8{8cNNSn@(E5&NAbhJm2}an zCq#SsfA!AjHiKh$2!hDW?BK(jCou9ty5fw$1zYUq03;F|<6cv|vDessju<7;(K`C| zdu`L;(&y%5gA<<5Q8(qrR$fIlDw9u-z~}SpyHkb-x{69bFO=r{QU+xqBF!dP71O{fGgMAX(#BL z{;bU&UM}%y53UGjhsL8+*>^M{bd^WERJt@)8f;jSK6p_lay2X8f#^GD!;a#IZ*ikSuv+^+LY}om=y}don zKyh;cm@>8cj7J#hE1xhwSjVp-#W_=|pQfMAwufHJLfH-t1k$MsUX!%ITeq~t%g=sO zM{(L&(y7+XHoC( zA4QEEW$ud2=~GA())o*R;y2&3TD#n~akMS9YmKj)Bq-@K%EI-IWKZ7-o+N0iRf?6o zXhM9XcEg+%$oSdB4)%F=WY{7Si0Z&@B1MW?XHW=g?Q!bXxA}bzu_N+{b2$j#{MR=WGd^}xyqMHX94Z51-J@~>;wCwNaZ`M7K zAg57_&LaUn=Q3)n9CI#JHb~b5f2e9+pK*$o>NaqpdEuzwMX+#oPJka_2hlBq<{y>H z5?=`z6JIts=^hOf($mw!D>c4eTb^xUx61N&Itrl7LIz~jIyI|MQAOVsZiCL~Z|vs~ zp4he@RAV3)99p`czy`US1OS()#j`Y;6MuDe^(B#AzX12enK!eBewvFDe|6{tZXmDP zqxRIq@(p9eko5rGiFzJP9B|qB2HJfnt#v3F}wl^BUtH>;*LAn;X$0#>FzG66{T;S0ly1*dHXBQO zPym2cT~2ccJn<$QSS9t_k7sKs0NxycFQeXQ&a&5?GlqdLr;Ve|s?)F{8WM{8f{xU) zB0MJLPDXW#9P_~JZP)DWaV2)fEdgNE%~!VCm;|BJS+I^MfAa>z+d(YkBFL;aGa6FF zH4VgcaH65#bCtFpN&n{m>ManaLG)*)jfv$O{EanrYT?`9qrB3012meGY9CoGQvgvw zuD{gs_cRnOz5-Z@6sWmJm$_AA@`9_|~O6d&@?Yo6wWHt18>pVRE+;HnHEMwCp0h|);*DLhTd3+>; zwNY)S>q(~f;|cqxNtcB^-nLh!>0j?P9Ij^0O*e7Eynmt5o|JR^MD0}(F}o7*WacnX(yPunDif9YZn2*DuhTVk z+_8lFGqcljGC*^IDChpR_}bU@>RMyftR>kie3JRfBAiyWnRNUt!x8<%ldmt{tG{Xe zac1IS*?*L0r#B#}k};KT$xB_l7pQh#w8wyycg3UWN~SC%x1c`@6_&=rQ4zy@0sERU z;n8d656i1eO>DcPLY0T%Z|oJS)4MS3YO=hryVMA17IGfIohf-74)|x7`i_%t;OCou zaiS_aIKOjmx(;%Rf_&U5_bmA#4C++*_jQ6t&ws~w%<ErKJ8J&i*nis`Y&zhZR9k zqy?l)Kw706Y3c5e?(P=l`~lbKB427&u|Fp!qV5nAj%=$rWZhI+gPV>zP+#a7K%yF+SVsGl?ADC9W9Ley*!RaLv zC*>q(lE92jQCo<32^6nYimizr zYBY!o(E+nnuqz$9y3FpY{u%$brbfuYyB#-M9i&-5o3``w=oM$-#&K%BWc~Y2VleQ? zbv=6o1GeSvZLiJKo#wkLSI)$%XAG|9I$W(xAFwCZ2V?=?R81?tnSY);3jI+sGJi=s znD$YU(hftPH*us)?;q*sS3HuD*@bEL96n9RWkw%HvYxIZ<+|uXD>*}VtFl(et+;mB z-Qi)RW%r+q)f??a$^G<E}xTh zmxDaX$Z~6aQMEEiB^wcL&VTHz69;mP@kU#l=yZFS24uY#L*;Ao>(1}%V37$p@ZBIz z!cNjwUEWhOQ=5b>6XT0AmD+{AfOHp9N8T$H`w~@6(@K{=TEn0?+LHEsb9&chh17Uo z=Fr;nDlq5SpIOH5eAk4`$5k}qv^Z>Lx2>_yj4lQL#HIH+eAmbheSf>bexQ2iu2ccY z*uUn=1>5Axv7YFFvZ=K_q=Fhe3?MH{^N^ncNcpnnOD0AXkER7VLWnpN9G4VEtINSM z5+m0$p&4I{=8(d@;ntCjEMA3lp#FYBYFHNYrKEj_``uoxcX5`}3Myil{f@-7UDY(*>~~IrAa2 zG1flepWDRxH_R$vCD>0ffAH*|tV*3nJ`7Z@<5qNRg!?!CZo-wZo%$s#GPRidBLS4V zw0ZA<{q*&JWMQ2JmnW5g_K-)qExrdolhs!CC_NTXjd9afSAVugmQCfxG)(*8z|Ry? z&O7GMVG1qRGMRKV5%{BoG0dIA-C%Agvf#Cxa-n207m1oWE{y}b?i{4+q8kDaevC?F zaf$yLs2L2jD#A6F*bO{Ppl8wBE%2wYLgjttQ6v}Pp}bv}#6kFt{7(oW_de5n`0uy1 zteD1c#J3+f=YKytlfgk84#UzJp#IM0=Pfo9Hz++rh=*)d@`3Dy#70GR%ad$8kUEFB zo#W{eg%!K)w6Fx8TIQtcR!RX*_OLa5HjJ>}T7MJCr|e_}TK39VYucsne64F`UT|mG zsVU8cyKo3idQB)%Rz8XDw6*5cl>e}_RsG=GRa(oG91uI~<)FyqwzwKJK| zUkbo-`;Ki|CJqCC^r0ub(*6U|U^R!b_F!gR7TE5zSVN7qMU}ZQsZ`rBKS3=Xx8yUQ zeR-S?4gzrG)v|LNGxgKelBjyM#Ek}2e!p1w6b8P@m3rAXfkWEZa?p3S8V|eJ^a02_ zrvc!gFn{La;=OW=Kg62$g}qg|#?vzyqfNXgJ>!*c5dZzl%U9mq2__Q*&5rcsNYA4z!t@v2fJS39gpWxuH9mLe%wlPwDFXkyHF@NJ==}8O)Pjw z+p2EmR!2lj`RGaisdoBy5`Mg-mnn z?PkOJxEF4Gio;OEf+QT*{(g7YGNi1^!;E`SOBvEj`|k-qd6yk7FJ{|OBUyCEOcx1& zl0A=>RG{@<^qpESCjZBIqcF8E+S`YhhktfnxV-AusYP|MFJ1Cz6>{T#f~e#bgC&I^ zYFuXB68{Wt%6cEBwa&KO^UY-w#d9kgbx%$kTjF2SNNsl`RUW$mL(ajH9rx{!a~_Djiv@kb^YK70oX5imG>H|Rf`TvX6` z_ZU*}T5r#LEv31HmElxDASJaf)fp6lo+Q zT9k%kY|#I)Ta_;(cf&jT3|{psAt1|+2ZP&hyJD?8xO0=z`Rp(CKb7CwRWO|Org0wf^ou>nPA|4fsdgN8&TLZx=bs)Qn-CnN)=B6gs?KGnf5>GXe}AyB+Pktc z=XGgMUI^EPM6PAr|ElHh2+hsAyO-DU_he0O0O~_tgIqboA`NlX;+V!FUy5EWM5Dep zznrt3irPA(n3977C64>rBw8)&0mDEiH5m_ii$*}p?fE7qR8{nUoA&a?psH}~siGac za~qp(sb709XGm?3|De%Ev46SZ%4OKOo@<eEYmz1$DOBNz?tb5E$;E37|oyG{~3pdpPS{am)|g0m%pt z+H`_{DJNfU&w_-pWk?^!fY%Fg^FnlJQrpe?&V1F?YbE=g|E(`FnSaz?S2uKgkbiI8 z+Yh1=h^^JE+g(gy(QCuM7Px*3p@q*iM1NA-%c~EQf{9hwOkA(e z;40DTZo|KFyV2-`sO5iz{ERI)t>rU&S}jkbu65D5qL@nRDLD!ngX(UzhqIX(bvpk( z8};bK0`~3)mRvOtO-+f^MLAPho#jWkv$z1tUz-1~UmTzeZYL`~42x&s(K@!4>!vm+ z6|0RI62mF2oPQJxx2Fvq{lk;w`M-FHIL)o6a1@g7b%)Xbn(fy8W{*;>Vl*wE{%?E1 znrg22i{H`Lfz-7j?|*I9U;D6??LPj%l@F*#Zl>;cOfG^&wmn3z}= zG^BF=gFpho~tUtH?hD>vrLRp$d_j|6{|xy^lVEy6WD1*NK|YuwNq=q*$m#U#wUJ zu1urs^(^tVNdHYu-;H{%d^tNOqMkE4>D($Pr@8f|F0FWE2B(q!Vr6C&|DzbCguU}; zc-{;wyMJebGIIwN`?X?CsfuGis_SLGs0#P3{_^TKS;7fJr$0(M=D^w)qmh#=Gb|_phC{jj8?$_Tff}-`VZWO z#qu>}muFX>5qJ+tB1LL#szLiPD^JJ#2k2PR|5t-=X=mIg465afkLMm1V=swW;uuq$ zgPR*j<3RjvHhNT}V{`I#xX>I>B}?r50~Ic+nf+f!wNubxP@3-Fx? z;vZxm_5WDsEIQlh6ee_GUe`;+jfs_|D}M&$rsO&`GZS9wjf?aLcAmpsyF#-Wi;Wl0 zAsD-qH7r8nO3hX`&cIsJBYWJB4>0&hhn+od$tsP9OUc7Y3@YU)iub>O(FWxG%;X?$ zGl8a?^176!f{@=I+e$fm%q_Bb5q;xKG5iaHiLbhrJes!-*?VA!KMi5u;VV6+VLy z;wbbUz6oJ88V)g|Z{xz!^b|_5+kYw{W7S9g*QwE93g30a4FU9S@znL!uL;KDH;Ke* z{b-@@p*IujH&@lV({mG;=I?y<37^7bQy&E@^3vhyOLK}PmdJgA#H@;`mQBZX%MwV} z;zd^#D2eg@OX)cVZo)O}951wUO+gFTKs;{M*-sBp(_Z;{w%SUY3%VFw>3;@XCUKf@ zYG7b#X(Yc8%Y+Qjx3JN-T6?zz;L1t;uCJ{qVD4C2h4-|crqZ_GnLB2G3FL$e{(?-f z7hY=B9O=e=d<*XOWnF&FdN(m5GVy&nON-)Pshq&v-rm}bFc5~h5xKA-mS1cd#e0sl z23ssNG9G&FWGuwG#%);nbsNwTQvW(2%{s@+*!txrN=_cg1X?>ofEj z{zg3OsuySaUM`*$gW4JObunHNL#rT$m3m(1`@Zf~=U0UP?$72_*42KN| z9@CT@ms?Duryr8^YM?jq( z`NQ&8 zIZ!0Q5D!ONn}`nc&d8#t14U3<1ZwS+&-<{X2wilFFWvpR(SO-ubD!*GB{o=p^i`(7w&V6YvS*``9KZl9IQUTcL-7IV0 zZw3f}T$=A%TQ85-pzG?qO{WF-VYF?M;D3WE_Ret8>-(FYkx;fyE%zHdWs6X#=e5RJ zOo5-q;>hDIg@387SH8G$)f(E&P06#+7}SW>+9sCCd5GAh5krkl=du3T_I(bYk&|>E zj{tX?;dVAkoW_U*%&*r#t4G>i z_fw{aP*#b7vZux+1KKVDnzMm2yH*}(gooCUwQUg2D$%VV|C6#}CAC)DDHwx7%> zckP|;7k|wQitE`)n5MoyUl#*rYBWcdEgxQXkx2`BwY7bxcKjgu8$Q)w7G}x<{o5e* zii&6EN$*MWQXQ0-48a1m0{+NdYi&2dv(*LzGMaRM`l2Z{Fb{#_SVa3?&EC-w$t45{ z3CX70gi-G#=d%Drk^qbMPK67ySgm+I75JxWSAX@A>$-g)(q~(suE}PMtC2j3vQ{tz zk5&I-N&TW5qs`f(*YmOJ`{nH~UlzwBVgQ&vh@js-*L>#Kay|S4`5>IH7N)Rjyn*`e zOSz-l^`m;)1F?6g?<;9$9_y}+LR$|cc%=ZA1JJZKH4~@2*!?{(u3;m~ z_kY91%_-^aH|^Gg#ad1!eUi&it2h+tS|^9jDomR76LE&&@~zZAkKB)t(*|@qQwIjU z=3tn?#Z6utU$6=vu=LWFNcvDcT57R9?0o(Me!bS8Fr;;P+{A_GUx0Fq`hGJgyC?&#Il`7 ziCPOwns!x=dFYhPPSG)6fzdvYD*ygp~7`vXu;)3_+{FMqqHt}uW? zoR11A`w6vfFRw4hDS0r#eXY_+mUMG%@}4Vs$?Hutzu_n+i9v$Z4 z#=`01L_SQo-dnyESOm~qJp)vvNz&kgt1_2)*=^tLxq=SE)RoVbU3PsvLtJxH&E(n+ z?;?@7wmKTChLdF9rr{s^eMlq(Zf}o4;dhmw%&D31@bHJ{CSn{(mamgmv);P7I*#-@ zwOTK`hX4#{0K9hFsehF#^G?d=vs*!&)e(QFr~r(U!P8R#)%GF{D2Sj<;bW)PqSpiF z9D_Y?i;ul-#)vvwZ*z-%d9H7&k2BS+LMQS@-f2z!8+&rFoNsGGRdsxat9qP=7a7<6 z)ETG%Ty&z|kmO}IReJ}55DNopKt0$pe2S*N(+6>+uz?QoQGXfe-tny5iY&cpRca0v z>uWMf3HH|FIOXfAu`OHZH49ao1NTQ>cQ)>u#o9wHY3_T4Km2+Q?DX{XBoet?dX)vH zrQJkU@|}PLPVOMRM&+gtU#yek6~CxO+&)t@tzWhkAM%}*-#quaW4JdU>Et0Vrgacf zioMUfXr@#SZGX|Zxm@IJ@?dlWJsfi6o?ULr@wc{|0(-`C)-8t#73B*LT<#LZg6SR! zUI5&5>4J*Q5?+})lYRhqn|CmShRiY1DT{$(>Gic3a5Ng|=k%}Hzpc>O9j{WHoUqY4 zJq|~~(H(Kic@K>xx)QxxM*~}MI&~)(D-nJGzWUEmtbd7%V_NMEu3lzh4{4)uBZ3QR z%GVAOC?3{W!)eXQH98wN4k|T<%vfJ&TihoV_O^O<_+1`ew8kUCUl>ifpOh}9u3l~S zoZP1C-+#}ZlvlM^v2b~(rKQaRr$besKA~IeSFhFn z0^j9SZeB**_g-hAexqv#OzRbY8t`2Ak#Xt6?0?Ft?6bz8R7oduF+=G&s!fY+<|fFo z=o5%I)0Z@DQvNxHw!Kc+pxlAWqkC1G(sl zay#tv2&bua-;9>-QblB-t?lLdBgM~@M~maiS#97{FGeEwuk}D@y_~l4qB>32A3xd1 zpnrgh15T${jm=$hhOV9}upaIo%U3|1tf}sfUee;CO-mAlc8q>+{P;xa62y)EPuRvWMN2)IH?xEt;%!PiP4DamULJ8Akg*b z^vlk#5C7uT>khe0y+0yai%YhWB3h3WAqpknblk|h<^Kmc^XnPhaJwSIvp)AMEGpc! zHhGjcJ6A=q(LVr5MSI-=XI61O0Q7Dv#mREcU=u6F4pQ=lx2$z>O+}f6P1}(i@qbU? zWqvn0F@?DwPfNvlV#m<(Hi=S-_7NEqupx-wmz ze8UXnt~z_)b`+#90{Qd|zNlt#QKO${Y%Pgh_tN_1t5*uUO+@2$?_cUU77mW`X#5yy z9SYIwQHaurKb^OUZMvH`D=a7wjg2?sqNeU2*HC5?Cp$ksugP`@pdp(lZ7!H&hH7>U1NfRgRhdD){i;T-pXrf zmAw&5{`~p#YYYN900Qchr<4ej(}}>vOJ^5TuWixlTsJ4qF^-_GPY}NH^}N_f9hy-> zuP%C;idr?`VWDCE${@Y}g9Q{c2jk#1KXK>xfg9(o&%@e(u79u3U|f2_WuNh;k9U3X zq@PH9!{zcZmB)6r#*~gXn0CX+U$%4vT@sN54VLf8@5}Y6_qCsEzqyBzsUyewWlQSu z-4v~MJd4Yqidxeeo+b+cPuizvmmW+ofBlBjdvSu!mA?A)4Cy4h_wI+GD)K~@o>N`xNzww-h>COmR8_-8|fwWg>e;@bthywcFdRr3rD$ zr?^vs?>(pxXM`^4NPHI4aF>^t&wBO3sXo;soM^k>x!5|@J6ODadNBe9q{9JR#Au=Y zhzvFCOBM_D6Y}@YepOY~<|i9JoA&x?c856+t>2yTB!8z%d)@78o9x$FSj4Sk4m&M6 zCU<>UZ2A_?bCt=K9pb$hceOa=P;acq_Hpax^Yp#Jlg) zcI9g~Zdf|p0VDJBhi(WW>&(Cizr1dATU$0v|cH|!oLZ^dw1DmwS$cCr`443+o^ z41cjT55jBgbO1w@6)!2124~_(YsqaTTjTzB5YiBm!tjO3$3oPnFpn#LT`h@x-rr)4 zxwyDZ+8d5jIc{IGNUB_Pd)18ipGxZs^e$6X6~O*kJ{pa%QDKvmeX$v>60w{ZpfgeG z%wp2Zo@%Cc`<-H`<~{nSKUT_@;g60wq<{QbC(-fj8GMiNDZW8Ko)w=M6Twong<44k zA28np?w9v`jfOSFGktdp;=#pd?yvDPt{?OTg}yF`Z%eA1niH%aRss#XVswX73Un@~ z-lm1Ob`sopyMYxY^NsXJIl-+9dC5kq3N)mSHW7DAR$k&-T3Rdyou97jX`iqPf`3SR zF-6SLI(r%9(UO2Cw_x?fRtxIWPeKOd-0h@R9hDlMvO#ZDHKxfsO`uLFJfdKaBX17J zsqloIH@KZ)$7rjoaTHyO>f;-FUTJasrJQR=78>vaZDW9^qBdmOi_huXKp&Iyn)*lb zJ^-HCbh553T>x1f8FrKe54^s7aDUO$%SO)`I430uyZWfZH-6t4jVstm{}Xh)-mO~Z zi;LB8A4Q4M+xbMZm-%9hGW{Kz+egHKO}8jBG2N-Xsk4J3#kVup*<9WNghhc90C%u( z$wGy<=g3U5s{8R~yeYp=!Vw-=I&0RH=t=Db*l5GXq$>yN8@zdsFWM&Vd2T8k9E!Hd zJ?{N|+t%XfQ9d5(uEduwj8@d2qgvNYU}@e`h<~=OvYE7_jx7rogIZ3v6X?>0!x5B#-o7wn@ukNCOG1 z_)nwLIJ&cUfNaDLz+t05GCr4Rn@$geJQ%z9I6wfpS8Epgt$#_w%$EM6>QCB}larm$ z`sFOIqjL)SQ}jj<>@hkg$g4|g$Clgmk&&kEN-JCs@lZH<3O6L_1TZi# z;i!mCCSA8Ff~-oUOY~?o8p3>s4n=0gwFg(%SEi@)0})ek&0NhcFw&(avNk@_Vj-+U z0;GT0Bo<5<{@iV8+LXhVJHgb*_O>L#UzT+ME5(Ld1%D6!yuv&BS-h{~%J({4-9*d* znqH%c0#{G)_65~j*1zNQ)apZ!gNkVMoYoSlqd~a1@tC4X65q$i zP3?o)D{sEdyJjt+BgMbLRrkja-Wr$?C_kv82gcqKuJ$g+VsNE9gy-c?K#4qej;eLm zg(pZBFMooyBM^**1Wz~Qr3*iL?(Vf_!PJq+tK<+bdv1IL>HW;{|Scox_3jT zvy{!Be9(i=l7m<$Ck%~;$MyEwz zHn>9b`(e{N8isr~l^ctI+1wO1!2Pv1{5z(%f|})5aBzD~9|b{j6jUE%OWBB_=nxO* z3V#I97M_(t^pm?2uX~YbRdf3FDAZxw(q)?ki#-(zKP z6_xBySF$Bns6#OxAmC(sq47pNzJuq1y{W@EoQGOquy-wZ2ef21hZNaKB~AZh81}Jz z1_rSm6zJ6duUg&MB;|xU`IrMR4BqD?h1@+zI!@+Ob$Bwkjv@<+3HfXMdhB zUEE-cuG|G4pG)7Na-vIeK=HkBVDe0ECgyIYGB z`ZMooZc8yotr=ehAaaCh#N z<~WKg=}!M zNvndgv6*}zaG9*RZhMQY@8pVhI^Yu2u*9>$85LeaY<)DU(`3HPC5~oe)PHsW&nrVD zp0yO#02F6pVWI9hizE}CjWuR}{i*rZL041e4P14Hpos}p-#OV#f0hh(zh0(UB@A&px0X zZ94#PS?ENEe0|~-J!$tj?3zdUrQ5&QK|E^rVseJn7#_T}`2&|$JvFJW;}sSu3aN{%X`Sy8TptV?s zo5Ry`{oM^d!Wh96;|czYRXi0wuh#Thob`6Bzt+9>Hif@X_ud|h)EusF5^m!^@m=%w z{Ex=8$HL+V_J0A^y6N>mGv!1smpcSY`x1gVWn8Q^a1T1Kf007VlLwbEVZFeu(0q<8#HNw1qVkbe$vlS%jtQeS4|pM z6BLAn*joa^h^x7ozK(it-Tp+}ReAx<-=(9=?J5Y9$$xW^ZGfso3lO)rw>Np5^?=2@ zRTGMyETQZ!D?^qkYai)}Y|fXfoft}0uIK=s43ubkZMTPjJ&Miz1NU?(M90kvQzf#i+eDbh4&5uO3Q#jVd7eKx5swz8v@ z78=^$`AaNc?YAi_pC)R3t9;MeXRMdY{dn7O|9^U1JpvngH1yKpfFLX4?D#Y*Xb;OG znOjwa)D>FA_UOXiVd!j%QMsjA|LW%{i5umQ#-gN#rk<{@vBYMssf`jGMstnMQYaMz zgR=h#zwlyjYT%8J-Db$OT)Ef%-LOL2yMci9=7!R?E675P>$z#uJ$4&0LwVes=|J0+ zaDS-FMgUq&OoB0^=lTujz(`)D6n;Zx2A2g$<-Bn-4{!H}2w|pxKk}G5h`Lq(SXWF! zbVsnb1<+5K?vbale?Tzqo9o{8K>1`3A!Qj6AB|D_1f#M=!lN`q{34c6$Hj>dv1y5S z@%~{@!fBlooo)3XfgvWx_h@+>+c_SX_L?k*tpK`N;6Z!ymN(R>swE|^r3FS0sRRh#7 zgoK3pue2BEga+w#z$fMC$Il*2p2XYFk7B~T@#(mbhsg_Og&K+F@z_rszkiV4_iMJ- zH{2w=Ng|^Y5jCUi%uHGJsihxnUh`tTPyP!tgo5p<>2qvBkne|KdtzE{=iFT91B~@E zEGK^@Rg|blXQMzX2SsDc68F;el|FDG+FubU`30M6{B|$xfGR~;=br9i&_8ibD5I(_ zrQbA&s+V%I260R_fxRLaGJminUVi$~qU2j(3xr`PUfUzKRkL>9M-Nhxc-FCCRgbUz ziZfp-UCDCdV;rX?AQS>x65nSv&+sSmh`Af$cR(vq7g5m9;V}OK|Cv`?TWlxeo0Eb< zOm5?PVq)BF7|6MX=S`(kZ=F?kMa3vjUvAG@H(l926a{|;>=KJ!Re!DuPznrlcb03< zwcD=SEib;AXEKf_*4>s&W-Xq)ymZD*iPBa639&{1cm=-!w6>;=hZ9uyHLI{KyedjY zi7QvhbdA}EbZw{SSB%!(e|0?9Nx7xcbllB7dv)JN3G6d%O)G2MqgLxGyGPd(4$pJe z;(q$zLZcsGkU|NttAA!v`VLem-yuB;j^ORejzPM_>yqN)?ZCWLY`!Tr6;H-@3kc3Gb9?6{Bjrs^!`Bt^P-f)$Bl}UOd=3HfM?+xfnnJ3kp~A`>Q=*<~GKtu7974i>_*fa<2u)^*L|Ah;9tMD;8oIXA*!AS! zvQVfI#K*+QB!6z@PCNi3H4X2*RFmKSbsn9%in)RaseXI{qY-ildA8sE?VCSx;qumCk^!}D{GcXC z-%7B$a>BQ?0Wy-nqghKl6D=V%+hmcG z_)_oLe@-@xdUQG_j?hotM4`_>zcf#-(|yBife`;Wyv#*`Ta2hCosZNA<^Q9+;` zf^N?5HY2XDz4>_&{*x>%H1c z_m8^ymbaZr>EcO%}F2`xgWe5?whxj{Nl(oHDt{=-j zEJAU#YB^!y1iVrY_*5mCW>ev@E#{snSY)W-$=9{5FA{O-+H?27U!{_YIJuc zz2CtCZB=5Z?u>1%CMnxrVO782iva%+j!m(?cunD z?YY%X)Q>%{`^%f;Uj#%fMkXvqqAn%cl~GS|R@GBxIsJb#tFPhDl+UVy`stC{N(e-p zL@bXq_uj<*2Zt-9Br7|bS^|;;eS5>Hp?^(H&rPQjo{A+Ov~+;X+X~NVR^+Z% zKctkuId0N6&ot@_+w(Gvo(Z&9aDr9Km7!X#EAwX@8*{IRRH;|(@)iKRi}Sp$PJfp* zRKi-i%O;}2cCv}UfYSJ6d^<+A3l7D888qs*H%`R4#uX-vBsJ+ zGBBDbE^m{1K+}w;wES@&l6*ICj(=G=+kki9hzjgt?5v%fSgYoj#9VB&?;mo7T_8hi z!LaJ$K~D%_Y3YKZ=e(afqh;Fx%jSxvs$y5mtVp1VFPxHrI-VZ|O_a;AKIXcTgA4!PG$$bq+Qa;~8FO)H`JAX@W`|{JW zFes%PZU!lA+al4>Vn*)o-$Zjy=Dc8&Xh>nk1>wOaB@NyO*lqXmHWkpA0Ez<2XvcpQ zAsJ!a=dW50MFS2cyqIfUMI5c*!&HZBLO=dxH5dq&Cq+(}6g0y9vt~@iTpVs%Q=6_N z0PQak)k7Khellv|-$g8|*T=_WcC_%BF$=WeR z&nCyvvyGg$u9unqJ6@jmZbb%9CxT*WrbJGBLvKr(AJa{H_+a2c2WHB_0?4FCnO>E@ zc&3EJrrzs1(P)yAnmXv^)qHFq?$1+iH*jtn&+&JTT2Fe8Pk&clA{5xYf=GH@U%N_a za2g5_nV!LT1o34H_a1KL-M7`HDQockLh-A&sBc!J(<})UfRkV5L&->*OyB^W^BlJV z1)~wDfN?h1|L|d1gqW1)6ODfP-b42O>GnOqD6u7+b{OHm>@Hw!&Rzn0^MI{re-CHZ z;2~4|@yYvjdw;j)-&MjP*q=Y25u~LBjB!5PtE|j!*3p>LgR>+=;_=VcK71~vTG6=^ zw!1ajQuf>SXe|Uq6O#7QKeknRo6=JI7ocw}L2b?VJjqpUw^QX!Mi~cZC;evSvaZ5@ z)aUIU7qX}TjJcjs5`mpOJWH9rbdNh1yqSxFUQySiE`Pu&eM^ksCH_4eqps+WZm1TTWh7K2ceH2{)9uc7oywM+%z%~t!8u? zf9nb^t$*KXGAkoN%fZtLm=$Vfa#<6+UMITa<88imEIn#1P6_pN+f!PcN%w-NCh=I{ zx|}f6kVLZzcG4HaaNWhXjWP{$5>+Np3cewsq3*2>dz2>r)1?xwrJ?Y%aT(d=#$g%6 zM?G-x5x;$_qJ9lhy|q=F7c0eq^A(z$T+E@v+JDN>wjkI4t2Bo~hB|DB(!>@Wx!eu< zq&&^j5;^qg8*;!f_c)nPQp)ogu*F?thQ)_0dFYd;95xttX)b93uP_0uCA_%wA?jPY(1PH z8~gkFyR|zZ*7I^UdYJcUl zE5dejL#yfv*QRJ{T>i;cl+k);t72O{AvhLxz^ikscb=El7OnK_mth1opxu1?Is2|> zZ8@E?*)>;xet?k5D7`S*1RAORa}U&adNb#4M0eSBg*013*~Rn#jpXuyciR`k7u?tH znVIW6@)#VjhEv67=u~ow!+xcn)_*wOiJ!%5EN(|Afiqhq&wh0bgjTZar)7m~d`;}o zDl=<#OzrGcCSEE9614%+`Vj|(a&*Q>YBuHzm2xW)AH`5ciMoa@)s}Ss-J~N6jGh|r z5zs1bueHsnW*#j59e&r;LcW1xO zJBti;=P9iH=_bCUu*t?}rC$)l281R3DWKYGxhyVVM6Bv2FZVcGg#GQL(x?+#(vW7Z$e zl@5?ld&P;ryNIA-uxH&*n`v%o+^Q@Mxvjc5YhdcqWH`R%n9J_iKeL%z3D* zWSrDM?u4g9jg`pec|Vd!ZNx9a*%H9#;la&)3bH%v1g2*Z0UfY6Q-^=ZY>uzNL^m1O zspL{{u=KCI4cFS%B(l=AdZdPs2rw8En8M#aD!@4YYkUdq>ufJ#dk%*1B4;0Uku?>= zxVnZLz>KWFlZD>@Q!?NqcDS}bcxOgU^UiJ?`B4ttaYK_b`Ch$g93Dxk%sJlwA#3^D z_skY49j9t-9?2c<&_RDLtTrNtBXhHx0@;l|8Vj<&%!UCqKr(<>n%C-}Fpr2`h`{EZ zrKx$Ao`{s$!YLvoyTF*O%IxW*1GXE$;wGOZ(Wb_U=il1SWi*f=%xQkcuz1+^OcaLG z=^)Q(*)5*udP9%H@uq>pAN~*!{v5g8c9Q!9u`9!k$NMm$f98LbYW3BlEAxHfvyG~Y z&D)}wujz8JncAH&dUx9S!on?52WE2 zNF5w(vd#%sqnrb|xw=fWA7hx0TR-{F5Ly!XH0+tkJNG1Ul`NJ8cU2RmNQ_NQ^WvAc z-RR&)w(|2ror-_xUc>ywGWarxirL{gtPL0#-sQJ&s-FoBr+|k`cNH|1a_KnUGb<(g z|7vGjlY56r{IoG>JE(;tadZ3r=q984FD54yCX5}U-h6OpqiepgbzRlI&!UN^-96t9 z#enq=j{9mE1Qg=@^6J&Emia?wml^Su_~6KHBrTKR;cS2V1u_bqKa1$XG|PmMJH`jp zM*lN_omg0Rm}e%JAk}%hVp^)q^1EZEDWzTQwa=SLC$?&kGx@jlhfQzTtq5IQ_cg2R z&m)lk3Z04VS?uw~{=mVtGq09&ic}6eVRhk;Nl8gNyy@JVJ} zqjJBmd!zK8;^F6(W`L|EOkB|68 zq&@VWB#DhAv{kjGn|^z7HS^4#nuaF7QcqaUIN*OE$`c6*DaM92+7Y}YjWl#k-ms>p zOU1%+t&u(ZSK#O2|8n9mBi}u3p@w!{*x|q1;eRhWVc8TIB@$kFB_Nxk^U>)b2g#~M z$l&TqP4{W04%2Z_an1jGWU(*f36(Xj1BM*7poCqjxR|(cy%8RP89Ft=372zR25E+5 zTUCE{_Ol;V3_CKyev(b+pLpv%?e`UxPfu@xq7F%h6J zS;$Tgqg1^$`Q%j0SYe*;L5Np`}y0#WUam~{I8fN(Z2M9 zx~NI0Nf7GL`iviPD*5K%_ucu3D2PYuhAe;W1sBTzV>avlyP>F67puk3^O0ee#524U z-jerF$|wzgw&=+}86GX%G3 zhSRQzpQe9(l4N^(UUNOATw|o2k}R&xbqot9EGXlw!F2@(FOLbR#Xh=K6_SmtON)Q} zaFB<$+HKkXU&ke51g&ASzj!AzKRt&6OD<7J(t@t#__*h6Y(`sF&Ya8F-%rND0V$QL z*J`Fzb3U2d<|FwrH}2ohKqmRbD|ePgOPo=>{1*oJB^fgcAHR?<=u3mMChh z-Bng~Zu1Qi5nI65qbImOhQYt0?GArEOxj@`MoKA^nUOm7<}hLA6$#*+)!XCW_!o~Z zLr+H`=4dlLv9#L&y_C`86dwTCM;JeP=Lkju8&9a1m{?&>)*wmnT9sT>cs0rWbE!nO zG#Hqh)KVYYzkn%2@zHcTW8BnIJmdzVV%8=b|yy~R0M@SReygiE=K4S z5}BX_HU{0Dj)@?T6c-gGrOpg32|8d#udnZ3cZu82iNgP9kXq91OG}|!T0C*B*Y-5b zQ@hHs*iMk2i@N7FSV4er%AwSBzgVjjIKRgyq9<87_<>=`lv$%e;j&c8AD{fWP4qv6 zdm4{Ax-`hdp5OvHg#VE*zLI~9_N$2R?B+I>YiA^zVfA&wA%%+V16}Czx0D?6uMPf+ z6f@`%ZHNplry?;aEW^3m2^Me=`ma`E;V`SQMT zlScb_24#Mqh^1JjF|2<*3+X9qy(ddgxA)4ujt*d&4mQ*RoT| zFRP%&GfhWnr;D9yAJBidsOVj9PEWzRJ6G?HD;}a6l)r{bFuZqW-#6)xv7MalU%%xA zKOt%|?}J76=K5vUP03%|>i=YzW%zD0_fZa;#-mvO1#Z%n zUp*9>r#9#KJWR1s7#Qyup|A$&y_s3#y8e1ckfW^2OBFFO(Tv%IJLCaUjK7eA!+Ya{ z9@U|=S6)b|`p)chX^h_09-YZ|Vu?(F&n15oLkV^om0_@f0&?-=PM`zh5J(|hK)pFeHNr&!Bgr;sCPG{gFMoc|$F zo2vZ1hhl$8#)$uRp#8pbG7wo|g@z)32d$zRD*iLDv?SI(G7>NR3NMQ%HdawVO-YKG zdFp1Z+z%HQudk=a-~Ebg^C!PRujDCMvmO~Y^)DufLbB3lnciVIESElCBu2gR;=3X_ zxk6uhQoq>A=9I+^KmQd5KU!em#=-WC!0@Y%ziNLjh|+u^xZM?u0C!wm+;`APDr$O~ z-0>4z>h*9|U~u3U?zis)1TP7@FEsutu{?RY{o=dG^GJ6JNjxzj-%W)+T}V-pT2WDn zV(8_S+bO4@)k}o4T$zBGRQTYihqG;`@)c<3)S>*6$T-Vn;46eV&ZkI<|Ee~HY~|3B zUf+MpnppoLEX20VCgu^(ye&yrz+jP+zeatYAT*?XtxxCeLc-g+_8a?acI@jDm!mzF zZ&6Wve+3u56)rT?cn7x9bjk)}tY59{pSS<1W@T{7pbYfX;$K;wslpJZqEd%<8X|S{WOQ3)M*IniujR`zF z@n4kof4>MQSHJ|KpLjCogE;8orJ%VM1sFJ6dsR|Q->Lsw_vInB423RUpI1xgZEYEj zFFpCJ1HAms;t=tF+VrvE_Tfk1{L8FWbh?LZdrQ1Vdz*9E3uPPnYLw^S_KlEa`$T`o zlD+%+d1&5l)J}Xt$&kSFzqR#0UtjHD*Z8Aq;T&-3Q@6wyWGESl^}%o16#k7zzs45w z%04mZUl6??ZS0nP`IiCw?-!pqF^PQyi*)|#xJm0n0{roTiAnhgF#l)t2+pp1_;YwQ zNU*OY#(ozp{{Oz(*^7Sr%wl4U0ZgB}l>6!=lWb4+>DSRhT+8MkAc;E482;a9iup>*I8mouWD3A9K*+0X?wLtYA@dt6*7#93nE*Sj;v#hnn zcxKNkFz!Bj6uEJ@KJg<>2LJ!2zJ(6|=OUrwKBFe}_G%0k0-C+=>qQRuzZJav@0lR5 z%`Jmg?52BrQzuMS_@Sz>;e>zULh7u^1|&%T1Y~UVcT`lFQBiW#^z^buls)JqBqXMI zxVS%|KjQRa1Bm`U;gaym;8=D{vS-XNK6lpj;HF++!lXiNs1yPJhi~#!P3J1)Yw&+L z3|~BgzJ7Yf8OXf9mm_mN(j)N4=g+3eQ7Huw`6%?M51xN5)h3ovP?3K;p`tC3%cp^& z>#Vk#;t?L^LqdN=lWSHYhr(j4sU7y}Þz-U8O0>s2uB1t2p@|e|<^=qm@Ru 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≪H3Rm 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%0DHrRE*qmHHnPG@_9>3FI*jU&=w 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

RW3q7!QcV!yG>y|1ZbFjC?|msP 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%0D}^#trb4?LF%2ViS_Lg+RIX?7VE$MI6I$!)Pm|W% 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 z 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

N|tZi+rpX@7J7 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%0DKkO)J(l7irK?i z-Sx=Am4CBuebQh*U)sa@%5d)&H%t)w!fDF{6))qLZlqsXzJmBFVxm8Rc;sB&{M7OF zI>;xEHOHS|f7=^%8kNTT!*f}5Qkbh$Yehic496AiAJ9`vE4sg$rm`O1XTvzFMEm7` z{usbjQF;U&#-&Xi(dO9r#ARL5c+V;zv#Y#a!7CZ8IG<1?6xKnN@mBi>h+^La%~ru@ znu=z5*AC3pUb&YoiUyz-Y{9+V9J)s%z*e}R z=dma5AE1q7Afz%DgjOe+)^BQ&6VIf-;4zX;FVNom+57DogPRIHht)cQGdK``sD84& zbCb_NZJLY6wdovO-($-1%Ke5Iy)@ zLkByOJpC@C{=;-A*y7bb4?%~pw1oU{9ew}x!;S&>AWna3m5F%bt#Ej1!R0!`1oZN3 zq#!qjvw)gf??#Tb+#c6!SPyLO)qyJfo}0-Ge%<>mMBb5y$kr1GK8ielsgA-Pj%U@L z_Rp;H+19_ZzOv$;u+gy8WJ4JWO`q(hho^*E<7&u=ofW^Bh0AVELu6S_cOT(QSLKXv zk-~5JG=@2S4WPErQIqA5y0*HbS8}a8y-<3;ert`|8^}pW|565|N}^#(kcWWnSHb-u z>+eNy?vW*fuu*Fn6faDKy4&h}_4mSH;9bC$ zF)C)1u{)aA#5MW`nfe79golcrQ2Q15u+twZGI|zWqH|x;Yu|Cy>o_V&bMCg>_}zTo zr8Xz$Dak|zRPAE9A=nlc$|i{u!Vqg^T_+0(Iy3U}H* z{DMMnj9`o~dCg>Io6Lx9bu%nGx+9!DP?Ucd8j>hy3YEftlj@)jEGRPemhx`7S}mBv z@o7jlhnzhG_;^luC>@PMU)24XYOH{6u`3UXB$rHfw|5e%-#>Wb^PolkpGPn^;$>MDX4l4;rUaoSDg~x z{%gzcYofn=)>@j?#Hbw5ja&-{*Qo>ga?3E(33&J7!-PsUXblXa3u)m6fA1cOc$*n+ zO~dgNt$t+(9n51FVQE)Mr_os5Ml#AoGm9I!1|yq)4@MI&hBgd#ydX@~_TNg-jBw(y zjz2*=g#CW-)w@uk-_U>S^yojyw!hw|+Ffw@{(gEIVl`~&^K84zEw>T>8nqfuNA_Dg zf&sGN8%X}Upl=6$5YBD|zV?qvslii`#TrMgjCy+3fzy8eWsj}s7zlBd$AR%qlf&pq zbQ&#x((;&#?0#5dtkaIb!|#Y4{T%I`LZRFiV>sC&2q`zG)-2PElZ^>MQ{&QBaUN}d0SC|(3Gb`n(v^0zmWaRwd{GPe3CK=@o79&t}A}x*bAs~MK zQdz8419M<-Vy~FoqQSQRoR0$S+TpZgaEZ)+I>-MR(~d~woO_2<_)MG`>4imJ%Znn` z0!O!9B~8&>S)^~=k&P8ddS$?z)WsUDZYR`iST$*Qb{5iai}UQgH+$NlR!+sfJQ?!C zd3y(Qc;i>IssD&Db!CfxnlS511Ws*l2uhL3RJ1JL9k<#vMpk*_ob8oadyfiAh3A}q z&i%M4dkcLQ!T^Cc?5|&_DhkI-$M!t0Eqqo3`w+Z7wou}eowaCGK(Qp+OZUf)$1l9X zuRM-G2Q1_BqO3@^$gV$H*VxICZWuUP42WGq93h-U$k-qU{hYkl zTUvv~v3si*Sg+-It79ij0@diFt983Bc9aYQ%d1}$#3a|Q`FdqW3_&xrpjlS60zR$B zuF<%`(zO0S-wXOkj${x5gT*L|CBN(acrvp%kVZboSDM`K`5BT&APAB5<`XY}&1&Pl z53Ay2Owh9ZAuynK)EWRX@^^PXmeX#)X5QnZbC;XjMJ5&=p$o23EmOKdye8(+sam_D zV)2T2>fec~G7Uo)T7#O+bu`!BH+KZzzNRi8#L>Nj3^?r@jx*HSBCyT2oVUIUzfe3t z+0^#BS0p$Q51>@^u>9H>k*ZODB`$KhS0Z2A(Q6%{*5IMp>YQ}FtqJ-J#)wUC7QZbV zaJke{SM}P^`n4%A0_UaA^vR`rP&%Ew*SBc6s+}^cjO!t}O7i8Q(+wVH#G~YHI!Gl( z)!lThzJx$qGL`uebTdj@D9cuIScqJ!&jpT<#dX}Ptw-2jHE&IQkjI~Ypw`$d&l|z?*Tb~_s9%dsvyOd+t zRJP35>MQQRaQlfefj_+OZ&1+{L7gFf7@ZQ!up`x;K*ZZJ0gRtocOmcy&+yMEVaHy& zXpK;aaD4++*Lca?ijS&Tje7GdUXD1K3Yi2H>f=y(_zE4r*WHU%RI_BJl(Y6ObDI*M zYY#j`1~eP>#$D`xkoS;vYvjBj@%4Jw$l@0x*!qZ4%4e7DFs==UWkrBEtlNsaZ5fdD zx7ZEX8q&M_i=M&CG0kst$}K?oS}lVyrC&hzXT|p#G?(0S-@%;%%I7{G%sc|*H1y6W z-e-*kNRKM5y3Ej(OAJSd&3=fYzs2Ij@MuZPRdF2IBUqS!{*;F^`ve#_njX)}7QWbq z-{S>5^=wsZLvHxIi4YivE{pR{7raqvVMD!jij%anh3~GfYw>M7-JwuAGi1vFg>o8*+~! zqbCM2X3@qFlbfc_IGjw(idsG=@DkKO5ZVw2$XC8wjn=n2q#}IwuCsuVNi1E0PGh=(-*XuRwmDmC3b zY#`A)fKQXENE@S#0YIga6?q2Bp-k(}hB@mqWJsxqXWSdFx7V);B+sV{Y!$%l)CL^j z@beL3z*mo9f~#)(@9Z=<2~PQT>`yhZi{I;i@}!Z2c*40Pve;?qV0oHukf6P;lc8;@ zN76J^73M*{f+J6KtbDxT*OJJ4%X<88zn}RhVABsNyp;ezmGI}lrC`<-j1#IWp|vAe zbDrg)AUkwrHk|1k1OS~`x-3smPtmm`H~4AY`M((oK39yL)hVcXyZI z?(Xh1G~DEjd}r?5@6P-BF5L#@J8{?p*`kM=4{-@yC(X4gPg^K zEkTi5WA_4B%zOOfo~*=us0;LeP?Fo2KP&jFy|I!MBiRRX&bw*$d070*!<|;^FD*}o zMiuYz_UYy$4q==j>zY{wrMV~TFPv5S8s?Lq0BD$734C@)4b-p#Jra|)`YpvSc#$2NbL$e1 zj^!)KnV0$w%&&pH)5jY=8SH+EFug;d)bI@6-spH2|0|mj6x>Up`<7k>gt$A3d8YIT zwVspmb%1ii0Y-Cl=_8|m?@erGtp30CP5#{6!&&ZV$!(2ePxlO*^ztyemJ+WEQ*B+J zYUkB&!q2zVIUmololj;&2YJkg(VB8UAuVrQSq_kXewQk7S-#o-L6)bQ!97zUez~FA z<3<0~B&6z$8LP@GQcw1c?vRZK3x^X!^lwY<~>X@kSIllWs4RY`vg`FvQ z1e4!2p09!vX26htA<1DXWus3A6ImorlAT5npQLtZ2%Z8V8-84gfk8WC%qHAVx=Mt) z-!)+3da-!<9{MqFrl5LLV{ecKJZZv(4Rp{y?dPyW)oUV{c+nh16A5f6fQ0#0TC9?* z@)k48?xEE{g=<7aYku zPjZwQaIYhOtk~$-)Cr<~F26xn?l!;wjlmfU;Y=unVMb^x)_#B!D$?Oqa32N za^HMx+ikdDSf`mWwrU3K_UFb393*9_5h>JgQ5J)L5e>qbRAO5SZFP}k1K%<{UwN9# ziHxpc`5XkGN~S+!6a}-w#WxCoVHrJCZ&fuc-LueBx2Po+&P^#wSU1V%;y?WO2Dus? z1_uXGjT`=S&GDRQaT5O;NR9}CUznlRyF$EEuN|rCD z9}#a4$5T&M=W(PL9Y~kZ uRi6-vlHd@98S>A1mq3Kbc6KmI9~{gH(^Ds(%j3u-Gs-1C4mP-+wpb=b znMYl%An|o*A#z6!evwKn`FtBH+*gc$8J2#~g8&SJE7Rj~N1_Tpx%pkpiYXgElQ@CR ztYPyPc}c>_CR1a%pF+O`K}wM3@Xl@L9KIkUzcTE9Q4!A=)s-9cEHa9YQmJ+q~TeIVp!#$B?d z?EBfoZux=yup>(#F&~L9*k?lzuCk1l;oc?C8vGb$bXhw$|AVCg**`GFM+LFqR^&BC;`JOjiQ z#lZ0qw{W-gnAz)<5$;BUzZ4hgOjw|fl!xiYL4i9esO78IAuuyE*6s1JPl}T?x+Pqt zU42))orND$0x?V9>fRSj{~*b7DVom0X&}b3k-x&1*+&N0C?_ZpBpeoh*uiRQ3F~-i z=A$DdUqpb5R$1{4p1X4)IbPbY=cga<$-{B<)xQ@VqWxu<72kk4e+a!mkWnS^NbF3Z zWg5g9BS2WG02}0Uovdd)RY!EAQAOeFuHY+N@%zO7$XX-N)rx4sVl)31?ESX z>?2(dWKxQS+g!w2d!@bs>J0q#oU#CKEzLLXT~1}sPrGxq?v7FvJ3kTxudYC4RikAF zzIk}tmg8i7K~nsGqe-;FP%n=-i;#tE?Hdkbj5~-27Xh}}$82U{R!rU;o#Lm0G#=q) zL!GfBSPTl?%**FIE+OG(G+pY;Y}X>o}#{)xcqJ>Mp>ljvu&-nKtA+xzx|Q5(XrpAu#@bJX%bcolLHh` zE=F@cnG)>G;`2-j5OsVme=ERo&Ye(_SB&iqw75fJM%xkLoXXfKU0P|dRJ<=$*?-vp zyzEsi3)pvm`{2)2$;;w%JoMq1tdxnP;z2KtpD#6xF}oE%#IXv)T5dKns?ey(1wlQS z)w`sspS0)|J_n-1`+iu_Ka8@L1^hjh7N0dg>oo`zO^@dMW099%F^`*1JGc04#BK1t zBwD46VUxpV!?YQWzutO%{0Q~V)?$YD`w6#+HXbp5!n}KJ;qliW!=8~tyP$NXqDfq} zbqeH~8X>Di0A)PA-h*QAeT}Jdz8x9etvPL-d}gz#Uwn1BAOVMU;;WN;Wd-ig#n=4` z_gS+D+n&);_N%W$#*nk6Ds=s~e)foJzx^DHC&ilid15Yb7L9hoWTv8Y>>c#8N$Ol{ z(8)7@>`izpXHoL^c19;9cf}PKC(cDyG{F2>UD&ELIEX1H@?ExW5Ltg$=41cPj9ttd zyhZDUSd3StA)$VO_7H7TbfU?&snV>I1NQzBFkJeu|N9b0t*gOmc5RX|9fx&0al>Bp zG$aQs>%W8li2WNs4d_o%`TcUa1GB>Y()#azW&kB`)PoVmb^H4-mCmTi?Q(sQ-1<%F zP%qW{^lH+aKDW}$C~SeS`@HsR63@tL(_zTSO5VDhJFT|$^i$2O6f*lmX*R8r5oFfd zlKhT^AB7gaX1y3hSghpd$e8sF{-$Ku$F~rxi+22CN*Cm-@#4ZbXVt!mbvZa6zB7P- zs8oh6y8{S@0?iWZ@Qm8FJ)R}1aiqCB{ks(%WRTx(Zdvvg`SP{{(v4uww#isknjl=3 zSsr>yqf>dMUzFwJaf+z#0$t@z?tQ(M03K!Y8={zYjz4%!PQ>*IyuHRhgtS^D=PpMH zU+=*(yR6vzzPejnr`4J7s*!}$Y?Uix8bU>Uvkr}4=Bc+84Mg1MxD}gZ zFO`mo6{J_|AaPnBWrsv1q^Q^wYSDIxCj)RxFVl&JtwvtU5zZwp_LVW{SBU-`9ahVE zs!9g~%hW1Fb_b)fi~8H40d?e6tE!_3G5eW0e@{a)DV&-2CcE5-B@c93X;@8v_x6f# zO7FDW_KQu&;$LsAFY1BvR4R!ZK<;w0)BNUP>~boet!*Q&+jbkpWBztVTW@p!L$k{i z&!Ajwj~!L+N{Lq;yfUK2S!@2%$S4zEs@dX4CJsB=R|vsCSf*BH3@Xs?@e1;Mb|{E6 zyZ5+Lk6MaEduW%LI=Ap&&-~gBYJ2m!8OxwA zazb3lqF#7Ym@Hea(*m1NItV=3uO$E4A7N|?P~ZK@yi&8mF?0LZ8Mf|!Ek2Adyk>Qr zen`$e$W`kJ`=m%a!xJKPDe3`NKoOFiEpgfLsGBc=g?^U16q8FzN{2`;+jK3>gqDu+1s(%#KV>%5Ewvq!E}6jNc~<<^mVu4%hXqDm-TFnF!J2yz4`665 z>b_i~E%T}aHHBvI3u~dpXUrkwq9$D}5l9?Otdml{M4@3Yt5%#N3S zUV#4ijNFnckVXDSfrCE(6V&xZZYO(~It^_Gi>=~w4dUP`Syh>TYDqDG;3xZdh4tE9 zgI8n36YP&o!L)C1Ys%RK-(U}RFWQx^AVw1vC+wr-R+yMa>vYk(x?t|?MI9~{mqKTH zM%E}sEAe;5pRMMqGZC4N)JeT{ds0~5VG(c4?PJjfO&OKLch4GaX5es7w0g&YLGkU2 zr^k=(><5+^QJBwv87^3z$&OHT;}TJ&RY&u$dS3H&Hk$;@FDNb>ZMQf~u#v0yx8qiX zd3@29GSRIrY4W-Nd3wMTF0n5G8}v4~HX0ty&Ft9$1N+ypoM15#dB_;Z7X3pPg;F3n4)}tWwsLx5f^<^)@954?r>`g zI<4x;XOkGD?cWPcxx?7oVD~GA)~NgDW_N@nXdIl6y?08y-a6vAOVVq-RvbI6(FV(< z4QO{cU0Zgjer|C&-(#D4?(Pv@xt->O(D3fg?zzh%<@DFqZIH4%^gcI(FjN3J9hZpK znHJKmyB}tM+$ooR$T993rZ!ONozttp|4M7U((RK}0+$wLC4dw|BRFL<(_C|`#O1gb z6OL+!3GHYQxH+e{!Rub^R%2NB7!l=udw{Gto_%pRnxaGzg+s3?!=v_SFTyMJFqmZG z%ouv$_sVZI_;IW@jFU7Nh3E?ryMh6qMXdP#Xwp1?tYo05%f1frc_%Yqpp9LaLHX$} zFWS#e;^RIqO^;U({L*()y^Xa5K2KHYEGp@ZVva_e^~z@+_nZ1+Te;EG(L^ECtrFkn zzF_Z}OpeUG2`snA$cyHQII21)?1kmuHo?wyOIw2gR#=~2$IOk3-T7O)ASVB}jq)mpg zK-Xm%&g)liY_djTFzloJHcX)k`6EPWxs~yMir;@OmR!`Q-55J*_J*;%3iI>iA+wh# z(n52$Y}@u#e>i754b;Q!vyg(+d|N25MB2A%1=eBVGtrvdKzL}{5RcCfNmXzvVl2IkQl*_WGBGkhm~ zLCx|D7E*8R(F!xggS%+g7unRg8I9PdNZ@$oy~)z$;}Qd~BTY+(+&x-4kwGqnjjuR* z5WMA;$bJ2h4DvhI(u2fU!Co#mD%H`?%EwiZ8d&dnMMQ+uC z!BQC<&~l42n_y9QywnqlB?wq7}7vc210VJ7L>OfQv#U(^!@2gA?}Hm+KKfLLSH}f0zM(#PSKY`A`L5QMF03rs}4c93Y*Q_HxZSsL^JsBAsY3 zEEFkvI+S|tv+6SYWoC)M=0%q!X}Z_|fR|bwML0w=sJ7`<7RlUXzQB^sy#khaFrH6QiS*S9I)Zxo}r8|9WaXiE(5ptzHkvGMYvq2RGL74ThLItOC1$H()qzx=5S#Cc-isLyuVmc&_Lh5eOTVS?_NOJ2t6@p9}d4d3t51bwZnLW|PCK zq}c@2eRq=vJwtw?;rX+VhT{G|HFgI{Mxqdw5V~c2h(_^$T|P`{#ZSG=C+7$lsU4hN zYGu5CX82`L({r*Eh`rcP4#A5meJ&=5_XCM7;?W1wh5Gx3cDtK@0-|^6S+J*Gb#b2C zbnaj_rVLkf9xe|HBoi9Ec&4ukA{uIChz<#p_Nzwtary;?et$6nWuxxg1)lud+Y8CD zlgh`}(28Gw2vBZfzWX@zEwVBg-}_XkmfI&j z-bc)O%Gq&y^DE%w0?S|A!ebQa%UEJ#Chs7E$a7A>?(Vwv5@de!=ryuU+S;u8S2Xyn z9=S(2Sh+t8(S;&U5)pWyej#LPF*1yVoW~c;d#G1`24gv)IkMJ#2nVB@j_W@ZGji0c zsrrpDQynSM_==)@jY-i{Ux%kc<^LtfM9f}?jd{ZL^v>myBev1rBIHiRvrm8or;2pC zzKP)Q`UVAed^AnqUqc2Jy;Z1Z@1_WQc5wS{Xrq2Fn3=~Pus4R&8r9R5MlH_-G8keS zBg!Cu_nB!_Q#tf+#=lsfU^o%1$F!l;_Dqo1&lb@W7q5##D#}wyE4drIZd|o#fAMfl zH=2==Y#ubeSwZYvT#vbL)w6FWrw&IY8)WIhr_x(Q zVL_ZFRoTfNlX4mS(p01B@jtd6qc`8X1?$9rn3;QDORn;!)e!Q+l2nUYMQ(_LXQ}1@ z%qz@wSND`k4QWw-Z2s}sy~efm2Xb4lu=tw_+h_rhF;<0E*Ypu#$X8H3k6oJ6O}1Fd%3rv1uHPyVuyeFp1IWZp1n2#zx#UCPU?sF!7NcH2Bp z9oFdv+nv{jiF?lpT-JMW4aipoFSqD6*;&-h;>cp{coJVz%M+{5l@Be-R4LdrX`aDi zoTS)2l9$v~fc|LM$5JM{m4^W7qV<=5?G4AW&dSx!JjJd(GSHYwGuG zF3eyhtvkH4`4ujc!JW84JHh3Ginh842Vgs1{akcznjZ2IrL@y|_R(^>KId0|xTgv( zZrkUV`bIKa$dFd^!vR9fFpil6CLKWS}0pr{&kz3@=4JPqE1pVL8ql((Hd0 zbj`Yshd*dGRB;Wc=Kz0d9Uly!?-r=1!$8r(p%54D4#{I2JcBXL>V05RaHEGV@b^bI zw&1&S8@`w?%Cx`8K?j*v)1zU3FB=%ZcY00*?XIG?-C}v%p@U9W^c;#1aibthaA2W< zm^?*B47i4kP?fqk)Yi#3`x?h+k+u+6YWd<_gK`PPHiyKwhg}AQ3V|g8r7%4n96X1` zlO5^rHJC+80=jdupymqDx$Yxd`d){weAi^(??X3q@8(PKGJA67ohZtGkIVE}PqVhVq9h7X|9^ASUqGgCb~n z@&rlxmbBKt`h9(&!jA@j>xl;Rxan;nTds0-GGB^b?j4LNI`=z{OL{4Kkg(T*Bjl{> z4Mb1Iq%I~Z{xF)@T`I5sfI>wIrxjXT?SApyaKY%~-de0R9_d3Y+T zO3(J01{=Pc8<04f=>MAS(Bo{my4XcA#-QNzEn#Gek^>wl|H$1%mqS z?sbU`9Dv&iZ%%?^0V)X|1T&g~Dw}X%B0m@^E*l={lN1o$Iy6opDKmk@xgRbZFIHz= zo<=<8B9RoFLn(WI;K%bybqkUY7z;TzfzfiA+_K4{UGSKSPmzRd zp_a;JGMN1?#lPyKgS6XRWGS#p&ciBpL_J-Hh?>Sm*ysg+OfQbYb#MUR;Xf}5A$%6E z-rCix$%{;3@B|aJ#0;1-q5u%o{UHu6J0EkF^BUJ*BPcpYKV1FzwX$r817vZ}+0@)Q2Vnc7$8?NJ!mq!~mc zwO{6aj~OX{obzf1VJsPcaC3px^f;{l_aulSo%n>PRrpLFCu(?mfajAO3CE*KN;h;R z2><~LD0EcTJWmz(xFnnTG!LW&E80|))6;j5e6o&@GjEiqlVgqoJ>Vj7&*x6q8I(!l z?lX%&{JeWkMKz!KN05}2G3StcIz~8y{0I>3>gQsABi8--`qyE)96DQIht|~P%Q??+ z;6#VarcV9W>NmLX-0d0SO4%CAq8#CM?yr9^s7Nl0Vi3?32gv3VxQI_W#bI{WNov>@ z2EkdET&Qf20*i7N$+X*kVh6vubL@{H08K$h>vyfok_4|JZOo;Mi&c&)hh(pIoa*-- z?dF$%DmrMJ=lac$gq$h&&WUf$m-&|=hwa#jO_C*iP>quvQyGnbE(#RwVV)QYLG_Ie zGu!kR8zS-wwutNFELSBG{JyWcFN%8jyDV+0`^b;!3sk1t9{bqmta3cgq4?oHoM~q8 zBOP*2=s5t)3>*EG&ZLEY&6Oc%q>VFtKyF;?bkZ$wL@v&~NhfOv%HEJeQ{9RQl z_-l=eaziyLNj!j|gg5vh3(txZ9&l6k%-A_P<)xso*obJ4<(g*TAE)X%9N5p&eCHlA zFf{5-DIQV9fxWO$^W9{>C~JC2QMljjh3HGjBma{+aZR{24SjXaPG9c9$gC*>ly{eZ zv;#lGCEaN~>2Lp^Vb`wpyDS*DiN9veV+(TXQKEHdSs(ReW6nFURfyM;%&P8hxOx9T z-rCXg5Q(>Cba2{x%VFlH)J+LFjG3jMoE<6}0RlzNO3j>h0{GyMJRX!(0^2Kj3cDiH zy=0vSuy^~6YmX4s62(SLASX_6)NS2=C0d2UCpzMJ@%dy|`gh=O2=`d|DXz}WqKYf2 zlM5N+N0wk_c%&gd&&SyK{rOVm92*^OPYh68fwaZ*%cXSqRy?)LRex`rUTdo?3qwU0 zrxmuZQ^(D${8#ce@)QcMnDujb)jgpz<%r|ibyB)*E_FiW&(eXP%?%77_>bOy*vP)n zenBYrrm3~#1bcr|A456ZoB*hQqSb2r8Kd@d*Zv*wC`rG+-_KVE1L=(*lq|J)2}$sJ z7J_B5Hc_|zn(aj+Nn(f&@k%ON0uy_KV}PLap67ev0It zu=peTP+aE@nHl5)Ej{%krOr39z2!)Pl>jPjzSV!#-XBw5&&d@n21b`+4$PyJOy^^E zVXD)`z4!xMQaDYI%772OunhF8u?h?Pk(2c0x!1%5yWe!%=0)Fs`GY*8BkjdK&c$B> zVZNXxXw8x345rG#$2DTyr?<*6hywugh0aJGweCh*rAFbVdHRqZGf(J#Pb})V6-&gV zWbkF4OV@C2o$THFE$S>w`Ct8m%K#|ZM(2T&7j|v2UiauE->nE znH(qO8FV=)CY$y7URF6r8?RKQj*bsBENqygfNg!Pu}BPmri$fL23$a2N}PT)BGg?7 z9;}XB)Ll#-y!u`FN6d})esy$wuqHX$Bx^U1ulyiKB!|PvZbU29sXb>S2GfgT_(ar~cbF)on<$Sy_e8{&HXH zbd}rT!X1TwJdoaLB;_5jZCnmFS@M9j*{Umj2^2o!tKo!(oN>bxWP)qq(fU?{+5Ys_ z8?|lQ-k?oU8(eBcK40M;PfZz1uKVaQlP+za! zt%kBKf`lgtaj&a}uWFqo;_Y>29ydDP3a!j)zL-pc?=m#8VN*hSjx^N!!Ck+Bf4Kem z=AZ$qUb6uzd|`Vp;_1k5YgbN|jzZTf-zVFD>1HlcQlhTfr-a;-;IasN&q%@-5~kR; zN_TLzaIsjSBk3dFm#G+EC<+wSXyHEUOf-?^*2Z49t+yBJXU83cekZCT`K-cV=tk9> zqUw{-SKp(ox*HO`i`~z1`CqLTM~@6dJ5_(D`n`f;)J>kUanC%zqlkFjjZpv5l4PHM z6*Kb5;vNSWUITti{B|v5$!S?*G6(ycM3@F81eZB)JGZnBvXHgqRDGvjDQr|ApArOjkc8W4tub|erJs7J2wZ8DSZP&!NAARY}wXX6~Y$M-D> ziepi?K@Zim-N1zCKBlwt>q(J+ZCCjT*)AKxHMek(lar9wZFecJofCca6YQAB)BV|k zq7A`j$Kv;uruXcnQec5P@3J7n&LnN#2(H%UANy($Oct|5cG*#vpf5QkqrXR<&S_l~ zxovn&F`WE_Of(m~P_ZeZ)A~pe6JRi{i@toFzUXc=H!#t#{+6nuu3JQZhVfeN^y9*1 z7Q2+Wv{$NpNaEyYS!XiNdBcJxnkiN&;QQvqT*0g(U5TK0 z)8?k2FCNp`0$$Kiy>!*7Fr$7rCiAIuI1RfQ^9crY5I;2KTvNwNtFA}=b5T`MF6&@u zAkNZ&WOTTqib~Omvp-3H*I1|;po$uQ4!w<2F2RV3UJW2-odx`HG3w8rK&Kc{tre}< zewK{a=fd-CugFG9t!e3WOv($O_cE=^gE!;?ilPO_Qp*i_%y~xg3m4Z2C0@EjFNp&8 zOS{)t%cGgoIfTnF?+u>jCwi`AbHov6Ce{UJsOcA_$X|+f)?p2Q&Mw+6azXc2$MYdi z?H=<|ccU{L`PUhh8JWqjZfFwwQdsrXb|_=#o4_X7)}Ajs`5yP9H%Iqbbf^dhgoAX} zEd6bdMaX!Kv2WG3PO`nuu}x5rw8|+v553FpZf0~6MFWoi(0^I< z09rt$zb5!&n+GM9x6NSaf9uKPNloNs3q;$dJOW^R;M{XpZBsC7@!Gv|aAJKt&trO{ zQ09Mzq2TH}iC z_84=ThfarSWW5~9SQbSvYSE5pcq+)BqETisIP`WbnR)2?GP%;8f81d^o1t>o|8}gZ z6N9p+>*$oxcfP?zaxR2FgY;eKyVIc5or1&N5xP5%^-8^@LHiH?-F8OT_k$Ex zVI10Dc5L%~_)OK$-m_dtqeTH8F>s7t9bGEIVSki4&dp|yf2e;|j=4V1%iUp23l0?q zB;?@@8o>8(Rae62`sq`zi|{CH0KW+`ThCl9R}_VXIF+kbx1hSkW~yn$TIdjJnVI<; zt17GsTr4k13urbPvN_f)a&cC|;IZjNEcv_x2vyES7xzl^Els4C;sma>Wo7#(des=z zr4#mo=@KC)e`&fj`g7r^#G?q6iUh?!2ApHri_lfy!1df#iy2e>GXFuzMK9p8CZGd$ zA4YhYG+d=52C7^Bn1~rzv?a$)P2I zB9O=Qpr_){(d^D1FaEtaO~>faLfw`BI$!zT+4Aj5f8&fQaA&o{q2T66;4Kalh6{5I z#$9;&9aZi#vDR_r+WHB`h$pXJ{jRj0r`E;iyq)O1Bk>oN8bghW%Q~sKF;zcNnX*OL zQRi<42;W$l6O^54K-%7Kc%*=|0s_oK)%ZhmdQ>8Q!-roiQZdmUP5{BSqDv(Z*rvpz zdQ143e^K&`bjiOTwTI^?mE5XD09;)7hF@10l(l+8X|$wOxZTV1jEPW}ZYYj>Uax~k z{i>d@p2fi#%nU{?u{iV0)~7Bzi^jA@1;DhOJ>}g??A)>{fSGy4v&lMIjdRFsbGnSZ z*e*`fv+%@GJKZhBD|5wl6Wf6X~4>)xQ5{YgbHD10%z723YL7-Fx8 zV!=_c?J?k+8z~ga>%b81VcVDhySe=?#wMm&Kcq$oupDnuw>}MiNa~N|Dv)tUov+l; z5v#NOeOOynXRvGPzCPZM&tp^kxD*adiI8|abon_fzn+k4Q}dYHq0-99=P|F_hBu_z zf6C)N)Q)>vg29s%`i**y6At?{8lNZSoAsO6g;>d5BlpFsw*9Ce>=c*LA!5q)Hv;tj)?lg>XPf^Y@(6Y{n(e?lLV zOdu3&h}gYf!673kJ4)N8R@NuIN|X07#q6{ksD@aidRv2TsQ0xSwlVg;=ycfmq^&wfkV8}fdixD0MSx~J%>+cMEIj2;z;)`{I<7(agPUCBz( zetpK6FP{BH%%~X^^pU{ofU2kUYq6U2Nu%o~MC!L)DkZ*}^#Ux5fjbC)Bg7iEFbo;| z7cx@gGSq{T*~4LL*55l2f9^#hDWx~TjEflI?0_3Qk9u_&OR$XiY$Jw9S=T_XAbjJx zs-N|2?8X-?tC?nm*#yTa^hq5YsM{EEr%71%o9$ea+s_G~W%bRHbOFIJ(>JgnrMd%# z1gKNFJX?jXMz2pKg?t{!amFS_>cvn(=*zeLOr|X!_Z+)e#Hz7~W8e~f&@4VnCwEX` zQ;6$!`KZH|3CHvZ5B-W$V!i%iH33;?PT?ZVoxccNAaQXL z>?{_=8PoL^m)lC^<8U7Q36hU+=EOQO?nVHO*g zSnP2wR&TW!o#Xeh73chslg6Ph5T|v?J(|P2Ay6zjO~^kee=2HrQrVh9nQcr-V3k>> zShWh<+-fR_UMLFU^L0mi3~;GNn!D+f2vip({yst56D4NYCP}Z@rtTA0qMlwseDxsT~Nt$l2e~&Yc!;h`xa>Su^79!4Q zoUN{Xo60LNf9d#eDq@;@HIjZT*!sA^o{H1to(HqH(=X?Z4E?GL2%5?-Vf)+f6YT;G z`h94!u=CezHeQv~YVI^|=EUd&@Ho2^|3e+({DE2ZA+^nEdaw#7LIt0a2Nz!{i17Zw zHdl@#esRMsxw8La$6EG^bTh-UIC&-O-a4+VUSK( zDi1~eXv304tI%rR2>vof7J-0kRQQA169m6v-L=LvQ1$pk$C+n?IW}nrkQzHi|0iL9 z@ZIj|B60*Z!LHh64G#E=(UQ$jQ2UfDpf4Q*%*WTxdWdG18GT3j~k zI)1J$f1fyt1%E3N)6+NjtMhR9eFGdc<0o461j!@k8J6c;=*8^zv3yppW&Rl3B zG18Us0n(Wd1$?La>rSwnVkUTM4A(SD-AD=PMEosG6eMW zHifv3Km$C`V3-G+fX&)jC-d$AB!T`)o1Q?c-E}Uu$q$-CO~a=E^bpYxszY5M zkd{a3IZ_-$xCaW9kZtEZaf4@PnJI$N(N^aU5z566zQqd*%O^KJJdDq0tSOK?+|Uaj zIcz{u0n@S!ajoBRV@5J~syW3yeXe4Ce^}4nTBM02qoSXf2qFws7x_U zmRo?4S`LemGFx+~Q#Uvt$yJw(eMeG`XA`i9nEumP92I5<=tjEsr_a@Fwt=+eW)6?6 z_cay%H$&ceiz#i4id01M`phXS_|JPLfj1`gFeqBkw2exOofyn_hl+132#+GWMKrP} zbI?djrau$|Al&6YQZj3{f6Hi5LY#GBuV#I-zWxZli*KM}AaXORqlg)Gt1fEfTV z?|kPp#n?3YfJFZ}f{00F6$D1DEr)c~_kk#PP4fOO9}a`R#7+48da}c1&+wr@!k&YV zxQzzFKwl6pB(NJT+%70O^?P5xyoNh#U(YDA>IaW|_;#q|D(%?If4&!b{#aGR>M>Y} zQrXm|g1%lz#t<_b80X{gxSEpE?XSjAz+gkeCK>y zabrHgrTlo=Z=`ZMf3i75U(qH0`}dp;o|)@*(14K* z2qVnN=jrd_DoqX%qOE-!&SL+h&M#^Uf=iYJ=Tl8uU5nU4hTF4iFjZ*7wlR9Z=fs=C zNs7tyH_=nR#=K}Po!*Y2UsIRUo-xY%je8>{R)>dvbBK!qe|K%*)Nk$)jcLet{p1vL zLo`FH-b=JNA9CgYjC~ud^V!wUm^WQrkvuOP48X{>QLto#9&rEbH1XriOt`42x!TJe zi5NlGYijj5sKa6gZAFhtz1rdYvO9OgS6FPsLs~Ap@h#dO`t$Jk+fl*fAi!AF1f;>n*P1ZV7YsoLP!l# z7o~CrdL)QNyY;o4xo;ryMR$%0cUMtl0;gXc8yhQ=8xX`4GT>6SSe~bOpNfHP!8vkh z9$`3n|MB?>My%gL5W*EnwDY7H5)lM>h^!k~i=)OCcKCy>*R^p~}AES$xiZKF0$970Qe`h$Laawz8A)Z;~DH~ zi=F&}#e5^&nD}c33$HoVA94#g{+6`{ zl+U}&Ke#Ucn4(?)Hg%Q<)_q2GWSJ2W?CG{p_NGEdOP?A ziUepjk;&+-I?1S2D1gbEkYXduF)Kg>xMhEEIP3D?uZQGZC*<>r9 z!e*9)*+{zKO*&dZu303PC>0Yne-2mBE+rg47)h0B#s3na>wPQR@_mc7W+`V&7!|>< zR|Dj5YwDqeR>_KK zy%HsBYqmq>maEG#7XuZKNH0`0aoHLkp+Y!Yw7NJUF4r(3fn+E2Vx_WFf5Indga*xu zAO|#zwjVU~a}w@tW|`#b`7DU#A~IQD#4hR~42SMg9QRQ%vDK^ne7&fuwGA4;H8=57 zQMlhTI6O<$z2+rR5`4#_^yq2;3?a{G>I2U;m z5|cJWC9abneA(l!%3lphe;*pu4yE~O_)OFc!0@db$q%}{-B}niLB8r~0(!=KZ1-MX zgl#TB-MB)*a!>GY*L~FR)9))oxe`<~L)CA2$ KW>xGDX)z~NO8B}9C$wKOf?F9 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 z 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

k`m_n}n!M+dPjU%VIt4iEc;sJgF`M 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

c`BU9};|I6zQ=zezA zzpA(R^u@FJ!8yKvV;g40+CiPd2R4H*A8&`fehd)~NBU(}1GN+P@We@28@bnsCVcF7 zOovZi)*zaM1f5FGC>xAoojwwjgcmR{Eh9G#0?|b^_Sbv!tZt7W6`D0rN<}aQ@vFjR6`Q5+yK9Yyw zKj0b?#lR`nDz83~rvz*6#~%^5X0h!pu`&tg9(WFJ^Mt*HX>}ceE#}T-_aZ(^TU~V> z`#deS0f=^d_q6xkZbY>MbS&HDysqVLb@W~k%fz-Q zBaD*ai|3u}d_l7WEy<{dbvq|l(lbTk)m-w{4U7cd2CWjD{8bFS+XsEe?9$xM?}wWE zt*+ijah4*N^UBw?#}eVWA@Kz})l$8}V}|wp-|3ylobsK)D_^Tk2smQiDT-Ok$-_qG z-WHC3>mKb);c+OHsh;bc>fpZVEtj~M8{+EpEfru`aHh06QmRZY>Vx2N)P+O3{)(zE z43DjlPglV)E{@-5pG;2G37)UwHRmK3>7#ZRi`+XM?L#;r%(R<5G|CvTxfem^RE?1; zPcrja*s9X!%f5Sgv-YE=H?e)R2xVS$qvK_)GW`pCIaK#^WoZmwGh4Szb;}G`|*X&KFqT6N^Z#TU7F5XQk6ad(N zf;DaGW-YDq0M3-EGUnrgGl^!I7b$ilE1&T_E9K~AguTggztvYUl9xvoHN~HGYSULV z%eZ|*;!D7Goe^LjHewt3O61(*ly0bhr&`meiG~)@(e*H^Y&@&5dxLLMNYnhP;IQ9Y zg3p9%)b>1KWjfrKpcnRAb9dAT`t0Ka!PMcDGOQ^A5-mdGeeI}38AoVSN8>43zUt;4w z%&H$stOY{ zk@;R*tb4dPr+chRqV@?cC5FBv*sRuzx^ya*d5As!>gAU7_(F zfp(gE%%p&gwv4nlIkqi-Ex@GG&~J3q=*5FA?>z3WKWk@*D{}#kCtVLQhZ4l5(&af3 z27w{CJ*Gs}PL;2uqQXMQ$aO-2n?u+THEv}-`#9!Kom!%dRhO8oNY`!HWdC=B5k@y7 z3Bb?ogR_Cf?dXdx`0fTnEiU$|Fh4aNNl+rA(5Jt{f~j18RhS!pyYEMOz3fHy2<|0> zu38YAk-4}_&FseWxpPtA{sd+T{?Wy9O4d;R@nRl8CQAL(dGeXpb@uT6AJ`j|O5X8V z2$RksdBETNVGwoC`PiJ=Vl-zW1_O2yd(y(BI40#bhzct5^zGV7cB66H)4G{e`_AAI z9`caNt}7Za9DquHnW!JWt;s!_s->;=vU|&&xh|1(v;u=~FgPWzdaK%bpn;@Y)gb5? zd|$Q;x(1%zoSK?Ce;`xrc>DPeF75#rKkOGSWyb8Ag~LYtr$b4%)*lfovBl=vRK|O7 z9<(fDG-dg%i^A<=cn(X?g#NsZyjQ#e{#VSsnO8%yHU^h}_1{x*VM~B5QG-(B{fwDL zLy{i%j`Zc}+%wtxQ{5wByE5AP4{h{K>}s(WHL0;d!~q-qezSA^=%J4J>?h_Lwn`-! z(}Ndq_9bOif0Uaj@QggCdp8|o?FO*4@XPE>=*F7DUCzi(ym;LoFr&`G2OMbde)zS$ zpz-W$%RM`PPA}I_cgzU3(lgwU3qu?DX&LWvV|AA9%!C=B5dHG0@t5uWA|Fvq2F-nO z!JY?FiCsD;7*A`%jm4_1dii)d)_zJF7F`kx$2vMU?)ites z^57-`p(?-aGTxvQ7xSLaZwy@NJ&?Hvu}uzu3J0BkP}@yv+G@h6JXZ<^-$=})Y3vke znz*Ips#7CU(5-}FfbUZI^LF;!EJiKsR{X^%YoAlr{z z*VwgxNY-6ltnKx%W5!+0L&GIyZ1zZBXjQMgf(xQqAQzu4lo@!v7%`RgT@sb@(RB=d znFjp5VqpxZB)S`e3Ne!&X)Dv;YBeu(kRglmh1?cP|H66^Gq;+w*C zp#9n|TdMMDUD$Ayl_4d^&){#v4vp$PqD~!u6A|TQkGL=m@;3e4pusw3mv7`m#B=N#Y}p4Q zcKCJJ*zk4-@uh*)2?YTHi0@Pj4Um@?I?+6E*E=gbJeeZCQ`)% z_t<2J2D_4M-~~Xvfu6zw2F)sgUURCuuDWurt3=L%OBcRmt#I4!0+Y-p$79rd0jefR zDxcWEbbV8BAW^q<%tegznm3|JJ<{S!fK6v^S38A&j#{&nx(#ijjX8qn3vy;0AH1ia=mteDN-})B zN8XgL)IEJccw5Ub*SKA2iA0A7g||Zk=J1|kmXeD%Vb$65$+Dcn)1k^roi#T39%@_H z{}y7-8J3ce8v0)u9#&u7G9;hl(xKjOP%G00+YQJ~Gg^T4lg8#*6omC3-!$}tdXWVQQJmq%8#xS|B;9xuRnj7Dqqj5EuZ@Y0IOF6w{h`?tOrbndmD_Y&K7VC)GA#AvIu z8z-_ebH8ZirDsO&w&wE z-e$hhf?wm(fDk()Sqn!$@Dv@Kh9aaEH6a;R`QWM~X_ zq>K!9-i(&wYZ6cs^kBaE><_U2gi(#V5?5=#&)g&3&)c3W5<7(Qg<>PwNk$e`a$~H} zyLRk}u#(~;TlDQs#5!bQ9`pS}a%^6JbLjYfORyYCe09VqZg9-Id@Fkz(8?+cDP7M% z)BKYLjMLT;qbed={2#O|kno6ur?FYsy7VTv?z)PC0{=ZO^UAB-*T<^m-=_=Ed0={` z6EKZ!S0Xq?yrqS?guc)&8~?z^UgDz8T)khpZ5Elf;^Zw;z_ri4ELn;&WJ zsws#A#^!)of44F%l{kS57)3Q4BQ#y|GdD<+;aF&sAsXF6{h_)AKDt4I3uFRK-aA%( z?o#}9J%#<~5IQ<Bg4sPfZomJSyYBpt!B#$(#77h^qaac9$}TKXHrt)Uinp)DW~9 zN&#qG=se!87am8v()TUMG0JV+55NYhrfG_`-jQ}~y+~!(k1s1YHwnegW8Xc*^z$^6 z$UCAe8EqW<2`?Uiu`1_r4w@`$+S!T4lV2F+;|gU&#>N`S;@6itmvwW>GeXLgZ_2E9 zcQ^6FhUI%FWbl$YF>rF43B_UI%t)rZBIw8|EYc@GaBGH0>^}bRVT14Q@Il~zl!Fz3cS_66f@5$)lE{e*GCukXD_2_y`sj(*Ez`aWSzd- zU%m9$=u3n$LWmfeMm`!@tSVk4=a?VdsyH!8qnxk~#b`Z6mbvY4SIua^P-S3hI)a~J z?9_j<9=-?Ywzx$~5^oOM@$ZwuIrz8IB)(q_dyr;#6%$e=Ss)y$`@=^6H7e#gh+fgJ zrz~*=M-|rTnA&R3mr~vJLe{Cj1Ca^*b679uce9J#IhsRKdv3JO8_hoJEpkYyVRj`;2M%IKV24@~*#o{esWp%IR#52Io|%C~lwkfmJlez> z^67y77=BTt=JtzXl3VV5ceW+F_d=Y~UwJ8;^o;x`o|#5If*h)q{GWTB*935lR;Hoa z3Chodr7Hl7ul_BKxS3sY{%}eN^N7ls`&*lFPnuUum?4sp%$UYhSo_HKj1yuUUZC z=$n$9sH@MBKK1K|9TfVho(`CfNGIIGMLC0f(@4h)coPEDdA{c-_t30xIWTPC~Tv|S-47sf?&+;%S+ zg#{qkHL|%Y>5FRg@>02xZhbzG>}GVF#BivhAu*+Epc9b2y%wf6m9Q_<;HQ&-Eqj zi>JzMUxY`iCcWNwtcyka&X8A@waV>}*|>!#boA4d4Ff#y_wZ**n9$)JD@9=}A8;n! zkmij&3z_A?8a>2oj87aYG_C5pm%PEPRXPXNak^ER8|DNQR7Sne_g}C?4&B0KHxaGw zk^9gt$&?G0)-lmNACT+Sl>m|W>GFdgK)w6;Q_MxLcnXL)A7`e#!Ya^2p_xFrn2^?d zm3z*6tS_S?h!l%B`)qz0IBj2D-JtNH@ztS9LTcf%x4VZ|CNOnc5|q$#aoJcxFl&9< zU5yfqY+Pfqk$40J4crqy^+{6(Ag zqoYc1ig7Jht3}FhX0?5Ir>~%wa!h@4uEbLiHPK#_5CGcQ6U-s;89ip1wWFpSP@-abnGxzpKzu zTkd=hGdBuXbJlhY1Bja)ni(8{E1=w4Xaf0iW(|w{ll}sxbzps1_#?x$a}Cv6PB{Zb z^gc)RW*fT&Gf35|yHS?`{nM6CAmHCRxH=`s&pmskOhLYM1&!WAgGG*3%;*}?3x96h zF~tI2FkJ)K+B<8AXs~O`7O@GYz~j6r0C)d!C@{|M1KB5U}pgW9fh^0x!vL&x6yO#6#7ouW>;k zS9oO((GOON<&^zWX}qP%c7Ymxj15FcwQB`9jo*~Fsuyzm|EM)ra3NX5;)NiXf1`OC zDn4(M|A!EGV)N@D*fVw~E+wzD&IJo%i9$wlPqoXD_aEZf)`h`<) zY;=1IxM>oASICQ17H#+@(Yt8Z1n`Ns;*0u5Ult?RL?vxzYCVo>5cirj&8{eBf*0#z ztJ&9EgmQ@D1rfU?Tnv2N_jo^iyW!I?==Mfjs92sX;!Qywud zOK-(nv2q>A!0g6o%%$8i*(4)S45$CYeX`$cu^JD6VledcnW^f-CE#3%-N50>a!i!zfR9wJlMpIG2wvYeu;G@ zSeOo`<9<45&QcSD$LQ@vGb~bx?1D*rzVw;FzrJ?G?UdM9*+piJrv^Fm{a5)DHrjje zr7#;nuif7TXLJYl;F;!i>KU%#(u6#x=GK@zT!)t~;q5g6sjhu<)XQUazD4sfG_ork z5uTr6h>+uOZl&HYZK+UtF;jHb2%7VYFcVNjWNTQ%OG0BiVBEMVvMf_b3_A~oA?4Vz zHL6zNe@(XQZ%h+ZQ}`RrG`afMFGx0>e{KM<9+F1}p|#v)&b}tm;aJSfb{kahW1vq> z+)_!n9z2D%#l*!jdh_18779(*fY9Ada>7GP!o3~Ya2fuWwn{gw{YTtX>I3`MYA`8^ z4?&YBFD3X*ecfsY+7Pbgfd?U}=Q|FiD6dCZvV-yWW6?}%@aC$i;YgjEHUw6o(zh_+ zVWVSZLS~6(Fy#Qx{fM~@cVRnySvWnz`&pk`|1RIZ@{jDoA`dx5N|}Yrajc3>i=)(! zxn>SO*!_ix#+Vxtr8r_?;0rxP1dyIf@9wC|-y) zRFxD?@n!v;j!JanH)>#)GxfN&&g}W3-}2TAS%nKTEouWlWph38ch?FU20C{R7Jzlb z^2>!G2G&Zd#^UhbnmR2&>Bjd&5+Qfeazbm-evG@YX1QuG7wYEIpnsy+sEh5hho)gZ(_?jCt6nFkv5p2Kp=iPgFl zV}g1Cbre@Af47ULZOYhG7@LGV=0vz7H|uY{0f+S^1Z)KIBGn5nI*Awn^pCn;%@>7Z ztwe?#nH(e|E!74op|oZAlEG*52uVvasyy-o9+;rtOI69J3Vp4qZqe^Xp<<+}G%-2? zTI&2a{Cp?M-kUF~@hdaB_!&lpa?5Ob4DQh8bx~tPQHC7TG5-ts8O&ac8?M?S?jy}Awk z?wogbnz0}x{+D*SCeHMG4@|Y#^qlcR;ujW{`PDVakq-L5g4Luc{`S|}z9|h<3{uG* z)72*$Cx!GDbzlMpL#}q|S#GjsA4XS8>f}12yd-QY#zYHPwfwr$mu6m|)!c=R>11{# z$VW1q@@E6-va!c6kJ=u*?5tN4f> zW#)AV!e!`Wwf#G(N_aFoIA2KS7%V2r{Tzx zk5!;7S2YAv$8WfjCKhBvt_@il!bcBtETbmj*zJ_dKfmz|<&A5_kPp1uhFhG~?STz%Wz&QX26f}cw|@)xiq8^EcXXcTMgERw znjy_UwKquM>q$9COI{gwJMzVO45+EX;CacG%Ea7y21xDCFdVuPpwjI?ZRiwb^pdud zu)1?x$s1&W;_?ddV24>a!Z0A@9PsLG1eNL7gMIZsd)?`*IYr|$Gz34bW;vENizWm? z7UXHaY^90lmwFEysP2j>=$bvGuw3YX(I7rJqEQU2ln!;hcYEBjh0!w)OeI4yY%Wlm z$1Nd*E~==X=^I#y(c3-Z0TT_-i|kSgI|*%8WU&zBiEX_c#q10kquTm|E6yVimc7y< zyas?HV(`%EO})Ic(%;VbY)TSYx}j|^NQef>gyg+3(g^3YN$ket*hbm0gK{RJQXTn$ zkyG{htdZfZ`k(6`F{$-M(8xe~1I&c6N`~J+`Nv;4Z+Z1gJVnk*1yY9?vaJhxJbF_? zrj@4aRE`~WsqBv@e*QgU5#CQ1uP(3k$vVKYcmoXSUuSSWoRu5(W&;hZ2ttV`6C(kI zabay5Y+Cu_(Zdivo&^G*Q+>q5kL@w-VBJ>f;)SK@_4nK#t7w7h2c*jTvL4MgA6!rGIF>sQ%bp4hR1t zt8XsYcw2qcG3zik{^DcWfj&0*J%fQBHDFQop0%rtdNTTl&L55C<V0e>PolkLGVw|ovKiK&1d74@)A9wdf?f3z8$B|=cZ6gnb3cU*{f6%>YJ)}Ruef&F zl*U}vPv%xnQ1tO@BV zq5V;-d~>U}h8{eoG%YTpTf^cMkdSCOpM zO<{=2y4Nly)i0T141k4N;DjcJc40$jAw1Q|FDG4aJq-PG3L2%(+$-C*#3=tqTxW+4 zc~CO9Wl`2J&ROdEDN48Q=~tEjfKea%>DC9WYz}`(t>1NQqcGmYNUpNlf6`K}`#rZB z({Rbo!2vN7w!+;2OhOM}zf7$#l51BAQ!Ld<$Icsl{X2NPUd9e-j(oE{)pXee?)YZp z_axu`+6Yfp5QOkoE6CR$OSgI;X|}A6jDLmbFrE>dMl8%b`COwfPK$8J4t!rTCImKX zUJ@Ikl==lPumfFL??F4Ksip#6NUy3d=?!?Cra}r@<5ud`?R}H!P1j3h|R% z+-b-G4%1VsMQ?X%?c$=8EW}^l0#`$3#`bNTSI4)h?TYo6h2quSsl01c>0cSG^1+%^ zyU|~^D#ffag#Y{<8RBg%(hT*Bi9_}}rPao{K;HQ|6}cX`dokKjh(ymE%V=ux|XtaP)#uM2G5dhPRJf}ri6>%1-Z3XG~<8%w5t(NnEte__zal7EF+ zg^h+)^jz7A)kf``oLi5`=;jap@}@+emz3jLxdxGbyePVpT+}yX_jFNDCdI)rVx388 zglfp;f%*>nr?tcT9N90FoClHsuM@umA)+E!1 zottA}mrOST^01g&{OsK5msvr+!=Cs8#`7?0!&fH7AgVIy6-0vwTbcWv&1zHBb@?xksi%WVZD2Xi6}5! z)RPw2&q~y-t{H1#!U=7`+tRQWtx?+3C>QDjXb%Q}a2XQk_sRa-VWzgoY)2l5sks?A z>Ax!oyw@-5(du|yr7SsSYNkj=7_LXH_MV(o5pEYuRps}XvZA-d#T%$RJEAz~=)AdP z_cn@2A!`@k5vhmdxrKGho8-H1g7EWn2L5d)eHt4W-l(`v_@v--9tSvG@mlY1Pz&3j6Mm< z0MW*OsU^t+QLV70a-KAWJM*yRQrqM5{%_KB=%r@oB-@}MPVt46GYwK%{F%G5eGMPL z1hSM)g#teG?2;gynbepiae66@rc>ErG>t4W!DwzAN3`kQNBode7}cN zjA5rKMWZ*$)Ttp>zmZNM>sSkZk|nwWq!r;L+}RrHX`kRhEwF;e0lK_(e;d+7ONH|g zh|G962?;KEQp|sg62+Fdph$vqr;W$dEKTtbk8DfTWkY%f#aGlEjgBLkZgY}FD&pih z_WFTQ-wQa}oDsLTvBK2RTCocquI5U7pPUvw3~!l`1t1Sh_~+P?z#S}Kg6Giy?*&dB z$(^QC2BQfHEg`=d+Z<|;18EkK_l4iXyip(q(IOGPrZCF9C`?u8YlU(w5SxTI4v4TH z%|=2BDtEQ<=XMq({#DMKVxxx|==1DYYIt%!Zu_971P2Qj3a`ZZ-3#H?9~pN!FB2|e zYX-1$He)()a|`-d3%MQYaiHWA$Ra6w|Bsy&CBY{!5%E5W8`DijZ<&7B}ryIQa9(?M6jLnEOecHaF z?xE|c&d4;yrLT(oqlT6AnV%2S;xT#`r}b(h-;@?e&fh6I5Pi;BTt~tld%kuU!tSX(o%ml+;WN)!%cfgn6{Stsxw`#HrukU5TAr6 zkUldL^DjT}pb`bK)segT_jxgtSa;g5rYy^*>Wc>CcZ^M}*`y|?wp_HfRO-_dbOq(C zk2o|SvzMYu293?KG&cH^2b}-SSg{xcM}5 zpuBcrWaX|--qo*(+20`d@BMJ>NcH#EGxyehOVi3CS8N>Y68`&T_o!{J;Z-LtK z#`HJ!jc*HgRVI;)(!Ux*;0Tt+bz!fM`Tjar;%n&*aOVvo7 z-1{OwrO+mWfi}Zk?&PE(?evNRcP4fOq<^{_nZhm_s&mcWxvd$VeR(OG~2F zsx#ue?alHo7#-kdp^i{~Ny4!TzJm;EOCd7>gSL^_89u7F|AEG;m{@#~Nw2;4kF9Fe z`Go_@G^8m6pky5PGsxKyDnN@{ol6u{I?FKuxsnyjZ8%krS)PdD%y}nYL;EVdUf{ znRu#nfyzZ12VaXDqAUAX#LUP_H$UEPU~*ifq`<&5mo5j+N@SL2nIOVqxQJrD{9oA^ zYBnb~V2r*g{JYo#n!b(S$sz%@#sJy=`5cUy_jWQgwF0H6?xux9q&kR1nK*K{yA}a_ zkKj^;dnQl~ofbdh!|D{rCXRITH>Na-ZxXDv48}i)KYU_qRc%ohf8dRWJ!B{DRk+qW zlxIt(@k1|TYUC5SB)SVJqU%+epdyvXGjJ)pOD zjrNb}e^YB)ue}b1vijtcdG1+REu$p6*9k0s|T&8hqJM_lTHT1==A|rX6XWB5v zHS#FO#%tqu$CQoqseTKr;p$c#W!B8K+})L0pJ97&ePXZ+Rsx!^LqkLHU|wFYZ4d}N zfY;qKTIb>IU6okboG$o35a4>y*2gikzXi(0Uu|)(7^q8>&zQ?(B#(AqOi|HztHZZ5 z@d)`n^g{dd&_teXv_lSa0&-TBCrvPJsg)fj8b2t8m_I9fhcr;hooN041Zfd$9F@ij z8Fcrlg8$L|B5t6Cd0bVIM^l}JlD$Tr0)h@~F3yU^{TI++UCd4Lrr$EA8O=1Wi!Q}v zXIFDdLGjw)K;_!P2DZ{j!ygQ8k^2@rR8OJEX-kAnAPfX4x~~XAO6H!_O>NxD4Mqzd z9>LCV2>dgMYOHtTu3%3_z|HSg_htzf8xQX1SCle-L83RB6}1XFTJpBiXq|g;1DePJ z3v3}e_$=!7qA5e7e_L2>w{EZ$n}|cl(6P3?tb)pOndF0UOd{KLl5$h*%FS?$YZW?x zM>zqzYaB-!MO&2`+h&#kZxg7 z6tCI%OJHx0lQXX52+LlQe;#i|MU z)iT_S8;7nb=4Y(Nk~(gRt~1g=DGV zBlsbNsv}~&mYMF@MddtvPF{&PT3QZK$r7>6U!IXaoOgGPTs@M-&g)pA!Y_1JKD88^ zh2DbgI`9sM$_%dcbPx~#Z6*yD0n69qip5%F@0iqMuSs@cNVr9a-+-rV3P zNaUO=yI~J1$$lbxLs3IRb@I@ z;RuE=KQe9SK3D$%Ft#h>_PL*E9xFtww6{m!CLEkcv@~%~Bl=0+ck(_FUWQk}>;Dyj z3)|B%rw%eI`4`C0aJJeT2CW|I4+YNlWYW1t;G0mcg>wAdDM7CQlc}UtVWA=^)<%bA#+jv{{=?2=S*H%@}! zS78XCo@q;NUh3ZV!(++FXAAN^T{e+Cf8uZ<8pU2rjb_)I1rz$&BbEBqKLw}=S5r7` z2vIt6J)&lQvo3o+r${$Vag9;@{>&VTo z?V7G}aI#EEhEYYQd5E~BDzA-t;8 z+7e48R6_E2`x^5f&f|p zd%&2{DuXR1&ThU-%9ZDKS7`t?EllR|w7nRejknn`vm!GkxtKF7<7CrT;AdY)11`Anq1cbY@C#$=_2O^;h?3g2Ku?&Zqr)_CI{q} zS$*1l!OYN9LjhlIi7rtr-vhJF+3u1=2{i_^VmFY}!N@m*vDUto%| zaRB>G$0pivV4=qUx~(_n6DIICAG9G4Oqi4WT9B})jOHp3vz=JmFq<`ey99r%|8743 z_~GmIB+c}rb_&?i zU5Yt3o>JqyMwx8oS*a@ydj`+>i*S!!=fBo!!7aJqD&Aqn;*nAUEh6Nn)OHw0fFuja zdR=^ZJLxWU;+mND8QFJ-sX2<8hlbO8sm!z&)Y)V`J(_=mISB&dLtlM$kY3<}$G_+S zGwXZGivRGuCi91PzRmJt&u=UOUDls{Lo7&Y4)>5szFOH`KIUY?nl~dGU^)s1l_gXR zr#lpxx}G;`l{IU4kL zJ&0=+-TR1=Cn2qeiXdIOIhD`+HL6?2ha&X%5*em2~VOuO9q<&%#81A=3oAx^Ge zgY!Umt=d+tF6Ex2N%3lm-~BXTZ+snEBBXGp7<{%bS}pL=ZBaI^g+|)J2RR@npGu~{ z2Ny-5PO_nLHlXtnQluZvYTfRM5L8nt5&ZmCE2AT;tS;d?nf&=y)K)vZ*LPbM-Tkzk zz(D0n`SkRF164Gex_coXAj0F6}*iM&AG^nb63TdkHvGIbyPuSWlK0xT+ zhd!;+4`dS8!gLbW#DE;YMUvP`89-*>3yX2jj7A==h8HUJ z)cOq2o;sGJwxFSGc4sqKtash2f#X{Mns*v%0Uy*V5r-MRdfo|W1=$jX-S{tm#`OfT z_o>gly#1b&rQndEyYGhDWoC7ED3B8pR%$SY9iQ%o3Y(}@0fn?f=1s{{ugf<%1ik+%?bU(zJ8cj0I(C|Lv zm0oH_9Zv$vitL(fdhy;G0{b|bhQ*dpSv#KJ&wd(i2U5;0{=o#jX-{`xa!e(yt>Js-Sjz!wfnhO3mag?B-`eyZ%n0CXKlh)rfUqt5F!#)+gK4i5Gj@>i2jY&4p~2!IZ2Hd%H7U(a=-bGd zM6qjPo#2Q3`#=v>`DVDLe4C_^2Q@UV!Uy1`<=2@j&+;V06O%JCyzDkhrwSm3-f=0s zoR5!SpbdRx<}eIwcm)vEnwIR-2gt);y{W}J4b9rmKH9yJ?MDq!oT@wLN*>hb7sA9X z>fViWfIr&*_96Zjknrs$$H=7DG%8ijbM0=rBZ5ZAl>9N|gZP}KQ>%=)c6VN5Abos0af|b{^h)2NoOWbf@ONXRg0CJ z{`x^qMAlz8{f=JMEzo?lrK8`Ar_>6B%il>bgbaJc#(S9zS@sV6ekr+to6(0&hKbmU9kuo zr^YEBnrHF){N2rh%hCW>ZfpVRUom2|C3&w;GDJ1bs$F@58Vm)`{ADFPfEDZDDmo67 z(96}yHB8|M61Pb>)Fr|`nYNesw@(PH03l!C`gG{24-wJ+4KnH1Pw0o|Ld-zcP~&&* z+AjUf3@tQYK*h?=>J}}sk35+~;tZmNbq=Dm^-EVsvzz!SnU;^6Ws9%HnkaWQkSNx5@uU(u5PQ}R0 zaSjubri$&&=m@t`h<|0ZJbwWd%=l=lxhZbhWZ28Lul!wCWtm%Wwzhn78=m!L(>KX8 zFGy7~7}%=$Tr|r}=69x~rmtzEd50dAMB<8uav#RCYt#baO@C2(`$6NWoR1%CdIfn+yc^CaRZVZA9!L08_ghgxd`| zN@%5vV@VIENVzm-c*sN=K)&rnVUNYfg|jx2g$Qsx>|k7dc*4vL{{Ax_K+w2kWaz|i z&s&PrJqGxCPgO4-8k_X^?qe+1v-0Rt6(aZWFH*m_@r&H%nC}J0FOm(9_DypxjEBBy z^9kQHP&YxkyH;mPw((16&;!T((5Kk7(uDxo&|eD9NNoHcMyhPkmeil6>p7kkw~abc z>%XnB+Y|?=wOwj1YR(h^svww$BbxG)#{6XsJQ_10 zF4ERTx^ijFxzmeBog2;>w|17`dJvEyr5Ng`VYvM#!CGyC9pqxpl=6kr0a%Y$9ap@P zJe@5ZfNnoc6_)zF*R^=G>9u(HKPjWb-LEOc`JmpUO3#8*CY~dJhj7{WspmanVUDOm zqkMMQ)a$J*tMsH(F6rq_|5Aw`-u3o-A$RU-0>Q7v_E%lFA4cZ!@XU|aklr%;hqU@@962eEdz7AS8`mV_?%u}Y!j!uLq$OsDI?&c$-928onOj3h4F zrkE0KzG(qoQLp5{{1SeJoEnKAE7P0J1g}qMV%_)J=7&w2+D8j43>3%fXY=}9$`4TL z2xyRa0UM3ZFituTt?5u_Ea|+yoG#Gw*ly7BBpsC7N$X?p&-`!PN7reybR#<=$%&6H zpKrUzvveSAeYJdVd7funl^1n2FV7{7J4m=sp`>e{R^0W#+Tj#vU#Elq=Ok20Ux8h6 zX+1RJTdS>@Y#;V|xDcx>l=i#Y?OSXVIc2nK|9>i8(U=vpbR;8|Y( zz{r`_-quV-85RWm|Gl`Si#t3BD8xM|2*`gw?d;9T-DI?Z9&ymMB|&zkdcAtS+Ge$3 zo~OzYsb8=I6I1;pgY&^Yg>o zw0k}S2j%bu2jiRr1v8Wb0~2hNu!`UJ2J}seh%8AcV1=)J5g;MJqQD?td?DXHkbVuJ zz?{We5#+duKB%bYT{txIF zzufk(Iicvl;(FALK|38DD=}zVumGU``SxTko+F$;mD6nEbJ>4Ze*c_*-o*ddkE8sAPmPI>-`^Zmeja7u`(>Ka zz~mEJbb2MmCcE<4^2oQ7`;PSdM&Z2zNMvJ&Bs_dtAhV58Z9idr|4tWI1d<&9z+YX% zh64z`PY8Nl0N)`|JZ!}JXBPkFMK7K>>cjksmunn2T;JD zzEP3a0t|=!Kuc8m|8J0`&NM4-m$xmDieGDQG{ji>;z_`rZKb>L#=LPt&z-|t2 zZl?*cF5?*6f-|fIrA=L@7-#GWt_6oJqU=Fu%79-_EAzLtJ3Pw|P>Wuqd^&X2l1~9F zNc@>pL0riu2{_|@(ox>KEg@bkj+NAqf=UK-c zoWVJHaLn-Zeg^Yw&Wjna2uH^FmYcS+df*w(oX$`kJhNlCvGMo#EXKlby-91eT-SYC z8F|=#5}(iaPR{!NN8}~q;CGmi2pk*I>)YF(8ng$PhB#N6pKyzOZR?z-30%WDsq8+} zyY~`Cjp$&_z8feFnqQ9Zthj=wu12++h_*#<g^AM=V#7BaCAc=;q4}|(aS^^v6aLqm;3#EEo`2Hy zqWT8gU`ftgRm4i4Km2>o*(v0xeXo}HN0Mr-k!EZ8iPC(pM8ft@zJvh=458I3BtkC@ zFV2obhmY0|qMp})DlVPj<@Z>R!%H@3a<9!AyTP`h&&+-Wf_b~}fK7+3Y`6``l+A*+ z1A!$^FP!rF8On_bUAd(VEr}h0@P0$g+QAD9BN7j|A}!q>_1h+^*gR!)#nQ&EB_e;u zrd|_eLfAo3mNLPMS#x`O79A`1LvjbYsOPiD=Ip3k^}p)CQ-nU%7St(CvSPDf4l3yR z{euMU^RZ==F`qt?bCffg6W$IR%NKR#k9xrGtb{N zdPvfEN@)$w@Q+FwT;vFr7%SKk?P)#hDMbVO+aS{J?Be!Ab1oUp(+t(#sgoHjLS@Mh zT7nYFlUyS}e|o*Bi`0uY9;~)?nV0cYyhIHq>G4DJl>SF9AWgGF!dEUtr?o`Q@i~Zh!5( zK1ncaUaxgI&t>f+m51CfO=mpC70YOo6X)gwd5RXt=tvsM!^&=9&2#f^*%OF8?Ogv? z20S!i6K69;tb6Z3sh{VFk|Q^MmaWokVWC}Rvc8Bw8wnF9p??$e$chl7Ui2R)s)o;L zRO|%JG53ZyEZw}L|Hhf&8XXy>ixiLBt%Z~sRkRV*yLoS#m9>=CqI!}I#C2lCZ21vi zV`V}itra0w0OyAHwzgw=Z^EHH`-;Fc^+GzZZ?<{CczLWLCmK~;#>Boa`Ar!A%uG_a z1!==YWzI&pRIx(6;@jA5|9oz>`ah!a!2QG<3AvVU{!r037se*V2tRTh$ zA67ep3ssni91wO|( zAIWhfiC=a9W*Xd$p;0unb07g8*!pE>DA3fp-mHf7+HBoA;tuzFg`6j@?kcP;?AsrH zz69eJG=7G2BLXIv(OCj{io}$eG?7R`g)$yGmdwC<%iYXT-FW$d zV{;`I#yz!TeIq)QRnw|VnRoN7D>czJrVLqM4qF(fOl~h_Pg5$RC(H2_t5R8A2?IrA z6PubB1fHjkrB)a?TSD)QM-~!vC!IRy{$+D<3AAhtWv6T zZvU_6H+JU4tT}txx#>~&J)4TQ&6l*wo?wPiad#i-2gW4Yfg=d3Oz+FD0AZqfZ@ZQC z#o!fXcBR9)hQS!x!$4mh?P@faou%DU$9c>ms4OwerFcfHcX6O5hRG+elqM*DV=!r} zO1q$Ry^!wc1Q)6D!n*mH5CyibZV3}j%yqhtMhgK~$igb~F+Rqvd#_;0N8QP2navW3 z=#zXVSHQA^EoFDQw;PhY_D4v!(frVYeNtnVD|pC@=xal;y7qCaW>N{46=A1~mr6O$ z)HptgM$QDNToT~)4OXzEukzOYpgi%!NHx5+ruJdr+iqdW-RR98`eY>7FA>KN&0_Lh zWuri0tUSu!(p98qD6e!yZ7F5svD8W)i-Vww|Nez+RN};L`ZzD@3Y@#YQzSi^RAH+n z7S|QrE&cqB*Upx1p_s~yifATPRE{+M92E8zWY2R<-YpB*#I`+cN0Kl#sdYhFZznQh zo}^(47*?IKi;%-WgcF%o)~{ra;3mM?cOOY6339fbocO<&p`}jn4fmd=d0p7-Bav<# zxp>8)yU=+t&kXrlbOY&#-^<=p1z6mBwqtws#aG0rc5=3jg#3Toflq=O3{vT1(eE0h za#L_7sAmD1&g8%Zoq>-u*;&#%mB&_rf954j%E9dAA?Xcw?Og#?;5Al_L8 zJGc^uLv(aQrpfy0S1+f1h0v=#l9*Q7& zR6$|0w1*y-^4ri(-&Ls+w>5V*r60x}(JvxeebE4WeXGxTz;f=?(4Px_DbHC5yc1v% zOWM}o7Wtl3?RNQcec)|XzrsBoxLg!9{<{By+4)J@XD-lgP~R&VI9;Ht!KwP-5d!J* zRQ#8xz^SDTWwKyB7kWT<4-d4~JGyw-ST(`bD^tJgtbga+ThbHlb4XoZ=EK2XwU(sv z{23rG%luwG2L*HY_mi0G-?3+TtisL$BdFr9G7efCTHm*v8#XidU=5CvHSB-U3i?(o z@U}jK88YETv$YdH?swrVZtY?~@*ZenF6OGQ9;_);bs4N=!8ua9{Tf4NuhOfkF2*g#Q83EiY)W4PK*|k}ZVi2VbwWAr4Sh<~w|b zG6rsvS5@e=`N>MDV;)&=4!oC43j4%pRVW@`nn+ORJ*5n{Z)h)h)LK>7p z^a{b_e_9zU>`nmT9hMTf#1Y%0Jt)>zX}dlU7gr?bnDp3NLrNW7Uami>q&+xp7(7^-c>S89h6k&zK zsar?($iG3&W4WxRR1@IV+eQ&sh#Pz27!i$hxC+yJ0562qxIALqr|Lmo}a8oXaTh&Lm{vGx< zf6QXR?$L|)#lEibCQ1GXFWqHq3xp4bOB>3BFzcWgUk5M-xtRS+c$;?QM~^GTfs*?C z)NK*~?<>gqmv5DJJ)w(h%vTxIsyQwWsmX@(Z?B+F`Fa5vbQM@DFwJ(`j2Oo%kiY|M zu)C>YFiL0~gNbdkZ`2RYTM+G7*%i&>f8+P7ftN|EJ3fJ9mK|-bMAt$^uBRikVCI=t zb5i0ld33#++HMOTQm4fl3l<$h{!{LECyBd~DM>n9r(j>67RW?%_n-_(qv*J#j@Ehd z(X-2r&AYA1G#FyCcTEW&5|VLQU(;k6XwEfvjlSa7}s4sK;ju z#+hD&U{U2Y65lYnjKWoM;^7Bb*|2DoSjSj8g1+@{5xjVLXN#lPnrW=|HOU+lVmvox z`FC;A^lzw4w7pn^t^)dNgefb~e<5WzA>TBAdh@igSy}A8z8t-3b+b<}X?r5%EEvETq&623hmffsYxUFT6d0a$>B(`for;@Y< zAjbyN*lGuU3Pd4vEAb;e z?g@6PNJ|7=s^f;-r=nsJ4PYoqXferbe0 zez6WtK%3}B&NZ80Gnlvof2!HP!(}z`Q(1C4{?;vS%ws6l+_783evb)KXFgY%_;lK? ztbN5p0u?d|YHP}xSuB_D;A*|WWzpU!qh^?Aq?*C)*$Y;KwEexo!2(l^4$u5E{23`6 z&fV)ce)VA?@2dxmKQbD%#&7Q4q)5Zomff+$HN&T*h7dD08t#p>f9!5ZjLCkY227Bj z{T9MbOldZBxuRP_vwBy-_GqbrlgLmKx%twGQaps@M9!lcPUvKW_K(A=S6}z&BOp?v zF)W!3jtI=}S<|^gqmQ`hozq`7- zN}yK1gl}ANh>2gVf7=6Km0Y}Y8AE2;9)?wp*l`hY5Z-VaMsX81q>zmHvv8c7sHR{U zNToCA(M`Ykka{e4&ZRG@PRXWQYlzq;tOpN0x!gWKY*wQCTA2)xrb!$0s1v8Ry>M5o zyObYXd;Umyb18?Ca<^Z0i8x*BoISd|olwr?x4!GU`S(=be})6>*{V;fS^8bsPCxNB zm~)Nb31G__)RoWKp+qoYEwpPQwph_iuI%L!frB^}4TKJ>QuaRGn|(L4db8;$%9P|*_cJZ|BXrLrDAl zP85Fp87TuXf3sBM@5x8fCD<2>p(QvygKs!oUcr84-8s#^UXO`=pysL+hfL`S_ z|6=+4hBajuuKudBoId|RxE1LjZzAGQ^w@Yc?z~1Lf2mwJ2@ACly&i*~^K`qA3-iYH zLM(ok6AkM5C}ob%&&#WohwGM0HI}VL>cU{r?JJ|6Twtuxj-i2LG@}9TpJz09+4w~bT4-9D|F?j8eW>TI@zjg$S%JHW0k1YQ&3oETcpITKLxejByi3Z$C5)b zUS3TYf9Z&5$b=R5>@WoKAzrXODT||Je}$j{$)aIX)8Jv4M_a2sMOTztEBO_%W1=07 zMM`KLuSu>|R#Y5eh30ZGH1&Ys&7;xiZnK!0tknk4K3bUaaOw?zoL;8h7@ohqefqLi zI2!nt0Tu-2?vdGo+i1VkB=vM?|7GsQp5y;if4TyBkL8+Cwt|}w-?KJVSUgy}{--nZ zg)k;RIqcc;y;1ZCo!PVpSc#|^7*;|Pe;{l#+P&#;Ww7QbU}d3Nnh6f#8Nlda@t3Z-b4=(Z2x8wA)ikL7b5ax@xECKlzbBHwIG-gTlMCNr1VBJJ$t zWHECF>Ap7r2W&H%JTj1vShDqI1^t!iaBa8tQ_sU{>5f4eET*jW!Hb5$sJ@S&$7{-p zcc;PhT~y;*ABp*c(k|yJYLKIke`1`VSol_hRyHknkdn4X-v23rd=AEkr!2-{284lp zYLW+!(hTAoH5yGuHJoMCLO(ntaKBg*jg`=Wtk3E5d@9F?f-@vQ(y7R9RPwGQ=8(w% z!SMQGGKS&O%d7ik8?K(Oa-Y}si;U$yB<>-v5d%tiMK%O4GLmpHwDF3ufA&|{VHx)? zjYWi6L0NOB?N0_5XX29Q`&kf&g|FX!O>L0ecQ*PkF`F0(=#i&&}cKEV~El`!DN#3 z+(>G;sB5$RXza^ln=)-6eiStAUOLjn z!*JFri(m7aWQJY`f4?m-(%$E8)w;SA)$s6>ba$uJxrk$fI5>JqZI+bQh~$I&&od8N z)t3O)wT1Ql#f;wpkOoJDyb-%6cXVd`TeUuToDisj#ptDFq8b1W62zx0M}mq>eq-FU zf`3z|u5`Sv;RB8hs*5k=QNv(STwIR5h%}C}>9oigMK9Xkf07;dW@*ruc%S5?jwtUu zcRq7`n`~ECemEYYn{@61sx^)6jbO5oS=EYcsU*Xv69jEwFdn1t4jKGRap)6@oIE}1 z`KX8K3%h))*(Afq0F*ORNE?}73~}G_l}C%cb6zvB{jQ?8dqo)XM;hk~B&rJkiSqQZ zXN@AIc_R*Pf3&2EBxJV0x6eBwZI-D__cK>L={*)(12 zp0M7URJAveexul#%;;t~CW{IkGrSaj%lix^k9`w22c{T)Y5f)r^xa(Ld)&DGP&v9? zV$;!H$I-&ae1zqWt&XQu+MW!25OAKt01g2dG%~W6$2Pq=Tw%@iFks-zhxy9w8ZCwI z7%4RAf9z%r=CV`Z5G2<-M?wb>9&;YWd!=h#d?b*#Pi_|vd+qGBtVJb?6h{F7g2`NI zTm~e<)m%i=hNmiNp_DG8!MN95`w(6i32K^5y6X^qA^4kL>|b)3=81Ou_89!b2t2h9 z%Fiw;cY0PUlTdIqTOFABoWY8s!2!T5ecl|he?}we#vS_VhrHRlS1y!3Cstcp?n^Ho zTR8@a#_R_@rROMYF7OwYF1S3|nTX4V7g-rt)|~)#Msu2%RU8wV*Nx5D(ss8+^e>xk z%cnRll`dwsFJIjb0ayR0+^zsFXQCuMOl~ZCv+t_$Zr_M}2@65;WHP9tch`y;qUr;e ze`dMB2cr&(WQq9jdgS?q^dGMe2xf|I>%6{?0?w+}ZwUI2ETH0yhLa`?Z3Ol%iwcnU zZ^buAxfuJ;B>4*{K|)b`JzSTtWsTM^cZNv57#rHUU13H+huG0&MtnJST&FAWl5HU< zO^^*K*=P?73d!NYLc_jSb?&hMh%22jzwBv5aq2U%bXN9T#V z<%zcPgyi{qr>XryBzz1%GV}i|#Wkw?bRR5vLNs}Q{0bqfI-k>)gkL^Ye{0B+=?2j{ zYc`1{U`NtHuAGw=qqG{oB)+O!wRks2+pj_qF_YQE1NyFYf?-6i8Urs`r`uyHcI+(V z^~`RooXwtY$dokP&tH25BbNRx;93p=p*pf9&0xY|0M9`du`=Y!aV^#m_{)_z8%Wsu zSFd%BFaAMN|FFIsLfEzLf3V4FPy6?4gJkPSIyQ^G-J*XF<&(%)V2DE0zGV08zlFjJ z90cS)g#afd_qR~8csHTGv8J<*F2nvk6c|>pFKJFXHZgw-1qd8P_+2u;ZFjZ)9*RsC ze%E>(sDJD~5FW+)vEmuYaQFQmIEe60Irf*dyuT;h_cyYR4ZCexe>3_&aM0$R@{_K0 zqJJQqD3W*Z_X7MM*mNo4v9hW#TQAVeRYHo!Q+y_p?+ve@{C%}hy+vx!H@YJC9>$W( zwiV@xL=$9i30dHvp^>!SohIrF1H^k^42h*PmXTpS8697LftdcD5JP@5}deod@hyO+phcT^MdVpd{)ZWO$I&)Xv_O=E@VkG=gj zr>GnA|C>b7kHzzC(+xgZya$-)Z}yQA8MnC>OC9pxzkeTwe-&JBQW)60TnClRv(8N1 z`bx!Vf13v9Wt>!|+Q^5rU8}Y`oV=Ye_<85#wbJZca~c!JEC7qyDq$njgXYb0kpjw1 zjaqw^Q?5}8-qqR0dmw?jl!-$NV7bIY%He$Gc#!MfI7)BQbwqQO<92CMT4;FI0ZJ3* z);2B((Q%XVf5CfOp7xhh_-Csz$pvsp`uY!<7ek ziQox(+ert&(fz}N=&Oh8PBxlkzIkG#9G*8f;E3cJB(1hE!&TNsx5tcBDkBCfd!uqL zrBC?3r-U7Hus5c%CzGw3>>Es*ARexcQDy^A)V z)2Q`oXRG250u1U~vJX6GdOJc(=&Ku`yj{$hncf%}t2S)XTDOGNjn?dV55`LK(0aeV z0K|1LDG7X7-A})pF0|yXv!axYWHicHEklJhJiRenM|?_(bnc;Be4vbtW5( zuKD^0e_5sW_hot=pd|GMAQ-%?EmfUba*&)R{r5bI`j|&~G#?Ar7QkQyJQz&9URv26 zss{^Ot_Snk5#kLO)}6G8ds_RJm3t##^aZ&5I``wqwQh&g#rc*;ecScQZXywfck{$t zAeCD2G@9;%Jmz!mQ|0XlAd{LcH#Ppd&GtKSe|sD})U?jtqjB)nO3U8sQFYU0hG4%? zbJDpzh5WZlb5Go6kHIHsI#baLBvX6aaL+Tk5NmEOw5k^eVhi)@jmow-S0fu9GaYZO zIJjQ&o*S(Ko~s>vIUmnKZ#|^`V%J3M$F7M3i_3Z$ybu^XGS1VZvy)u&tKYeoL(dqO ze@dO)mlKfu+nx18l39ytz^bD~!Y7ugoQ?%}yb*yZ!?1f&v9h>t(pqO%F~d)$HP7|W z#sl#TL8_54Ncw$}j8m(xj}ii$Rx1s3>CmD~tqOqOI<k#e}%9lots1<9HrpvTua#77h z&KBGI9HP10or=|41GB>WAK_EOogXd@iEgBYj<$U zHS4*?j+}PTWY9j|I8(o&e`-zct_I#511nUobt+fJe?3&sw*!}lATBvczp~Lf$KbNv zj5C*1={8kH9AX%RZ$;cM?(P`)xG7n&J+lsjAsXiD_e`#5Mcwzg~Ssr{xi$)91MwL{)AbgjzgJEB?+d;1mGL?nS@mF=_ z7O7N9Rixc-1Ctg>z83v-_=H@u#SP3yA~?->mif}5y)|YQuV?DkDH#p zOPQftC(VO|6zm9#gQC$XNZbHzk?w~6;XZJrx~7a;=^2b2f75XrVLohldS|y&;w!J8 zZC@8^lh^C)+wTH93~8<%j$TW!$@*Gs9t^wTYDZ=*IkuDc+=WW6BISrO;k=dU_rXz& ze?8r;AaW-p^NiFFZL=o+I`D4M*2uDHz~OpYJgZ&vP9_FcV=ol0WC6>!DhsrqXqI=! zzQ1zhgGRp#e{|HIwf_>&LQ~Y1XXy5gjO5YQdcI)I$GNASgw5}wDeH2>9kd-Ly!CEq z??2}Msnfe(KD%`W(&hn2;RC`5ybq~3nGRQglQ3qQ&bw{6@!pF6qWt2yAm*Mve;u*D z-@kFTuq4FfdwjS<`C5nGQ{e5MYeMp!pFi*5CBk5^e-3vq};qtR;4dW&g zv-zZoQpNL0uZ3!4Wqw$V!R&jz?ULtWoO!Ow{C&S6LBv4_lMfk7RwJS`p zZk6_*e;MF~hrM?n5+!{ulOsw z`!1w*-c5@4sNp9pUhJgV!{zRUX%ys5Q6igPA0l(-+G4ykPGaTrR0VqY;?zhA~5>1dZj7-UNS zFX|NWqy#CIrhOLGHX_b*PRm}ZfefzFVnnMOCiBxV8sCHGhs#0OG3OW*;!yK*>&Ebj zl-2&=+i9d}FLNE2E?m`;ekDOP+d#Mjf63-BU0eVfSP|Vf-A>@M{`oOsm%~Bht47N; z!@Gbo^&=2a363MY6eXP&l?ei~33Uc{@zkv2`O3~%!=Yca5^!F3gj9NUDZT~G_!j4(vlIZUQ$?1e^c1d z;%azjD?4W!Xz~}ti> z?W7sf`VMefpjFWk8G%kTo3K03xEWJcy_Iclt{l;rA^21Lo7BYPXNQ5R~a1*NbXd;85SQGHAJ9Q7MIQCklbJ4EH>bE< zcC3up#O|^>o`l_Of#J`VxSnps%Q0t$uS(qRz*cLE9wONn+ub{KcDIy6Hq%GI6VDj0 zFf4!dO77B?Xe(E0f5z^F?TKV?HjivFm#d|;O!xgT2P{RSm!(n#~QAXBrPU?+=> z5gMpiLvNEUe|@vO-u)S#4e}i33{Mx)K`GERofGGabYC)PG5yNF)Qvs*{tAxP7TGca zEC7of@6nBHHl$1)P6VYa`I?%uY5khQR#TS-$2gW{Dq}f*@s))r$W>eO%(!CRv>Q!( z$ zmNfD`iBhLr&h^zQ#W%;n7?WiJ8z}FptA9r3Vreq(HiL9 zx&xuFwzbHNcV&$x7x}yvyf9O zLlqzZYTbA&VML3z0ri5-`1I*JL={W9RXS$0(op^xZRv*R78SMsgG)LYs$Tp&Z*o!* zem>3B-!O<#G&fK~_DNRb=JWF3MBp50$N7A21jXn-!fMS@eI6C~-|WgR}T`5i6^ov$$-yT0FJ!to-kP5UoU zE;k-Kk{nUNUDs82kVEn(1Y)$m3%v~x8r@q;k5_BQ9Q^UNuLrg~6QZ$KsyFJhEPfV^ z^(D{95NrujkNE(jlm{LkCaIMuAZx#jcBMZ#jT*kbZY&uLC#@PXN#~<;e~#SQgN^DM z&r~}dOrMBG{{&yz{e41Sv&6xSA4p;e|EWU@%NT?AbytuHjf1|LtqH;G|O zzTmp?Zlg5hK8-;eo8RLp`C*FFb*ntvNr~x^f8_E#i4|kR)}dE#prU_{rQK}BN<5Kg zUp-Q>*%8Ycy4=rTrM+CQe^qW*i{Dpb8M5gE{tI0~Le4(-!m1Gc*vC8y0+q)-wL=Wu z<~DQfyS@#l4PL;{FBx$V&`DJdID2u1fHIqY%)zIukqp|CfCjk^;+?)0-TEkCc}}z| zd)8U5Od?2Cs&`HpFy|)FWBL{L^8$)@2GZ4)7p#<)TF-p?W}MI9e-XR%1KM2el5fU& zKpd53k2ih^6T~}pg$4n>G99(P4VvF#bED^T?7lEAc*cXdN7563uDOjIy+%u><9oV2 zwLgX;tj|r#0v3-VJ*xCPMw1bp&SGggl39BYB<9Lw6(MfDN5DKTyuPc~yOm4dZXJW| zA?{s>>A1+a0TK?+e;Wc)gDNBLo>;Ua=(`=P8~5D)vvz<~%X@w2)z`)~_eV9k9>`BR zz2&;f-;-GU6N9fQ82r}K_d1+&SlV`y(Jn@a8}|nJr+X*M1|HYTx;nGDcQgq1nN)|O znh?M2#ik2RK|>Vt>mZ&i)*oHoG$MCvf>pGe&fcmx2PLR>fBA%-!q?Y1pF~1Q&6UWG zl=<=EMs}Ok?!H<`ws4MSG>-2y-{h&y49?~ir=AqUfgG}`1KYU!FMZqK)G`iixss7# zz;-M^t$B|SiMMTCmsrf`)E$SA!(Z1|8uNv2+%+Ji>kb>;mkJw?*iK~T*h}mP)}&wg zQaIlPaMmLK9=w@i^7pVFR$9?(mzI_$asD|f~-dXLuinKv;%W%(e2 zy-uTiO3!c?Eu&h~6AbGIOp&;xhXiBJXtvxWXjR^#-&tsb6|_2e&%nW%U>~jndw$ds zXQ#g48jop`l`lCaym_+H%Vk~Mhr~{ncp9Th2nrX4e{qR|PK{y4*zY(fF=cRh@Se zmHVidC=_p33**)`Rw~fx@p3g$Pc6=k2J#`S?5PeRM^R}M`M8EIuD?Kbkg|G@2I3i= zK#b&Df8@82$a`KToKsovv4=3NJcbA#Yf7fy=4$#cWfY@U-e3{!luXA4-tiEed7W3= zM~@Y3xsQ4{;n^OONerE+z@uZAodKKUtOjXICmC?v9OxgB;?zI!j~vP7cGhI-gP?y8 z1U&zQ`^N6sYw>V(#$@E0!f3jkjV5{G_;$BJf9l76FdCTh0BCSi6H_iDq*iOF1zj3- zWR?8S`g#Vq%IvRN_{8^1Zj||aP)P1459vhT0U8LfepG3v+om9xouR>dy3F~Zr)$rp zQMC>meBJ^NmRYUYyAk}$r<(X%djlh>6!xj-d4?4dp-2~LvpKji2%+;P=`~M#fY3$x*)w2|9Xf@RG{reO@TCFT_; zO{W_7a~2#X`>>1JLJ$1mOf;vfOa}!Z|4q-=gCH8uyR#*AP?xvizEtjz%P&}$0Ug)j6X>W68*=6)B)ZQ~7x>x?yf0urXK%kc& zX9YrsAWW^ep7+3s4^WH*UCSN%Eb{!U3g(_$n?8=dc%F|A^me~nC!5V_6Hm%Wp+vlR zHpE>IlhMKW_%zzSFmE!LSHA=U!;zY#Ya3LpRs`xi_HUdeU)>&A4@rnZfw7hI7G5$S#^(}Ggb6?#bdvWh#?HL(iqT6zNSZA&0 zVE$EHRfDstZYv2Rv(5~S$GUK|V->^hXvP4wLD{Z#eGsissU(PFf8vyRP^;tnJlWF+ z+>1l&ggiYX1XN*Ph;RWTp-#K3x(Iqxsm^GvM}7H-Y$%Q7LakWil4m)1$Q%D2TJvTc z%+pNL4;QJo20|1Giyg>SsE$C5QYUdS4RWVr$Wd1OC|Thd0I80FQAk3`maxx*15M1!VmY^cc+e?etcyikr_BiNi%gDwRgxr@~8X zl=XGs#N=H&e;T)3(w_uQjN&ZFD-FNdkn-v=8$9ARJ0e_o^`rxR*`G=cY$dTV?n!3Y z19Ns>*HhXZPHtO>JNmCRt4|+Q2H&5mpPFL9W9)4nrMPK1o&I`NQyF-z5VGZV%=jPH zVgJ2s@%Ky6CLc@CYDq8hf7>LBm*~9>VYCgzKdrLXe*yVVK~oRE{-?wKci$cJ-X>av z)&HN?pw)c34}PE-z5N4WNTTm;M2OP({$YI?n!0P<;X7=t_dn1cO!VG{2xau2Soq`P z;C6Pv0?$9tE`ajh1_j#q??=kw{r+(*dHm;b=0DI*0R4>>JLCt$KP76`9p{p<5T$>0K9uGcA1y}>e3RK9RxB~`}#X3`zJZ~p4-#i+dZ3UlCgR#WLxFi6;Uyig+gMN-%GNSH3q2D{W)5ZI6 z{|hlssys!mNQbXjGdJ)Pl?-n}xdu6TU9LNY@_Veus9`jmK^%d_7&ToipL+VX)TX-n ze_)dY1__xuyi1v~!)dzc@L)Bl@ZdObW_LMFUaXSccK`H{EQjCz)PYYboe|UibUV~f z+YzNF7}`IF+8NfcmeVqt>JKp#ohv+StJ^nmviGtzuuym@;ey_>DHp4DtOD%WUpku5PhXD4D*;Kt!n zyFKC2@#}YaeY)JS+dWo2xHH2=mfY=a=^yNHI!RF&f2B9-|DxYH>!i%+6NxtEe-(;G zPNm*xoyg^Wm(syvy<&9RYCC20v6&YP9Q@$YQZCO%Hx|Q+eTNoi85pEL!{~1gwtt*h zXJ_@?Ki7qZg`H}dWXtj3Vzb+h;unrga>Sf2rDQN3OK?1zOI^Q?z|!^Ob@Y9H$XA)j zVb|FZTBvsi)LAbH;ke)HPOY)5e|gf1E0=u(J`7hQ0E1`B<9XZGulCzWW-tzI&<3kX zx18Fgo;Zb6UFCVZEInRsUji$1K3*h#55!_}F@GRV1Kqv)2Z8lz)!ThGZcHoSjX~E@ z1rT|My7>I1UR9vKBc4udZ{+WIvUo!_f%IiGi7xlvR5daUvxr8%B+g>7e@3xF8!?9K z={7~@j1ZCAq+!MT+{bmfKy?U`2`D^JZNlW~_AHSio+8=wS{J;4jka!|ZJG6;D zrmtn(SXb_hTtTRZ%fyYjr7>4;9jNFN=3KaTkK2zooct(t*KJ*gVTdD6_cr8qQ;EN{O8 zwl^4~xk7&-$j)XVQm#n5+&X5nyE#i6GAfKy$o546Oobi zgXO#5?OPp6ay*$A8FC^eNySsdPgf{TY5nkmxOV5iG%Jq6-5ZXk?Tbj1P#ev?6XyaO z(lg6=bX*%veK8nIkc2^}FaViQDnEkR88mIE%XH<6XObED`?r4hfOLEo$u?xO>a8E@ z>f+@ivG-7uf3d0hvC@=%Q#jRAnEItrvh3xz3!a8A2sG9I7-`?TpQnH0b&z;~$8H$f z_E|c7O^*pA52v+`$zMx}X1zAO^NxN0-eX>(2P>)qw#T}aMg9TV5d3!^u198%`%gRZ z2)fqmU?DUA$v^9TY@z!yxD5FZe!l5rv)RvX(tq0ffA-~L&rTry-9N=9H1BO%ZO)

49D8K<>ufu@Fg=>n`$lDk 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°TibAHKRM8skHoHU$lhBK{I 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

R{An~@He$cg;poN)FW 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%0AW@ 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 vER4|iLP|-b4&yn*DCR% z57 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�^@OkB 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%0Axs91vVyFnKU$b zklkmX>Vi%zUkzOGG|yGTXfLz5rk>6U;qm(ItD+{KHt(;L_%W~UaRqwW1Bd$mHS~+P zA*vxj^HLMPY@D66?oytbEz;wgnVawKYGGld7I_?WAowhCh7aVvjcr0-=st zz}&ao8vx;fC+{$ZvbRr*IB@s*ZXxWLD+Bl+4rHr(K&;Q_Ke%y>MK@BMO_GDg;UC9JYMf5&giMPJqMlj5jjeoVZtn%;RKw4@ ziApuRHM;SaHq48R!dEU9_B0v)1#0s@P2;rp34u7ee9j!&4?oWBh)mF)Xj#9VRF$si zk%H`O4ngwl^Q!i(@J7ghCN#kv$U<@gy)eBSXT%Czh*)2&qdz}=F7>Ba+!XhHNrkHMFB2|8@5yjtBgJ_-b=$xZUk4w~SK)V3sq{N_~FlNc|EEsQy0bxPLf< z+~;Xs4Olrnuy6l{qmTS2TToe3pe;+PXIrTYh!-6JD-!aW``G7;qa|i0wem)#;(5P zeu?yhd+Z=UDq%(jyq7IDh1Vj6b0cM4Cm%F6(QB;{A*1(+*IcJ}lf^6u?tly{%biwi ziQy8`wUga0;%Ld@{^X*sBe$6|Xw!6~j`i#)%JL=$7y5M8=*uIK=mxr}pDY=-W6U0u#_oapH&IC!PQ!Zwyc68l%TWp(i9x(TjkT}y1s1zzvyBo3P4tVn@J}tpl zCj??Z$KcvfR?9B&*X+v}yWb2_8Cc6$McIyp+<<}VkY~C*)!X_Z)~l5hc3n`v;Nu(4 zED)chc*t=;TnNfK92et6ujb;l5Zyzpg1pIEYF!=s@(8e_!c5m9Z|)2$FAY{_JqV(!*d5$nQ!Ptz=yY5(1NkDY zkOf`0e&m~2k?N;?!JuxU`Shi8!7c$92!Tt6T-41j-_SwWomU%&{-M`VBJ7h1X z456A6U22@M$$?9$qH@%l$KvF+NO=^z*KtXk3AIG{W&ockOIP7pAbYjrc27HhcLybs z)1%F$z3c{XE12o~ zW#aGs-EU_$XiET~W;?PuXa7vA`O84}zYrg$oc#x_!n<=`H2yXO=RcLlfAN7UI$+JV zytQS{|AUhR`Y+lvxHm`V*t*qe1(wYe&cU!*?;|uN=c_cpFlg6lmCy2 ztAFu7{`-&qstBObalFjr%YU|cSB1gmB`L^j{(}?)es`01-1 zZS&S=E!_Y82LFfCptQpb&JHD6Hw*-!KYh9X`$qZy{=w(IyCci{U;q5_$t@xtX1)Eo zN8F=VE>~|wIaj|7$*ca@X2+(3rje@wTJ^hZ(ggz6&F@#`uJ- z5z!s*yu4{$*l3jXZ+O7h!$A?j2NvBX4jn>%2(uZ_ZUv>xp;QkMOS-aV#XG&z6%B$! zuB#V-^F{acRFX`YMz9}3z9N+5Ub8+Y+n|r#dBrd8bB7D-XKL<~zA-QEO*xM}`NIE) zVS@Z{AA%EdN(9_umT1!VaaWKtoENQKetR=nQHWidBCHWxv~FvR)MKFe%7i1?&ElnD zB@0_NISz4e&s_Q1>@j{#>ECe1|Kg0iR1K2lVX?c!d0FN6p=5B@`?Zgf*LPiu+c_Mb ztQ2+glLk*2O;+M}FQgu2pY-t9u#e{1R~k+wLBlJ$v)dz52pC}?9a;St?jXcgtmyLj zVYppr>SZx=dJTsTk|?GvDir3ld36{FF+mUEx%^y)NvDG)Fr?vZMN{mb)%!UXXi6W` z-I3Te#NOe1%^Dgz{oV7)rT_3K{LhDu=?&1{xLpeQBPcw)v^*W6wc6e`6iDojZPZNO zge(^;a=c*`8tYs@lihCt^`QLR*qC}uOFXYf_FGO}p()Qxoa}_<=xi;v8&~NVPlex> z0SePgrZrzbXoRfKX4*%qb9xs1^jCWFX^{ogm7An8@82HP%XIH@C<~Qen)DrLB9p*M zYzR$oIN20a5kRwylOLX^;V?RHzgKaDGV`hPa;^K^bdUc8O?ClZbCU=|^BNA_YCf{# zU~wVut姊mr%ZC65dNKfweAn&nU@Cak-*p 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 z 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 HAoza)aTY~{ diff --git a/site/notebooks/how_to/tests/custom_tests/implement_custom_tests.ipynb b/site/notebooks/how_to/tests/custom_tests/implement_custom_tests.ipynb index b7169e96b..cd8af2d27 100644 --- a/site/notebooks/how_to/tests/custom_tests/implement_custom_tests.ipynb +++ b/site/notebooks/how_to/tests/custom_tests/implement_custom_tests.ipynb @@ -92,7 +92,7 @@ "\n", "### Key concepts\n", "\n", - "**Model documentation**: A structured and detailed record pertaining to a model, encompassing key components such as its underlying assumptions, methodologies, data sources, inputs, performance metrics, evaluations, limitations, and intended uses. It serves to ensure transparency, adherence to regulatory requirements, and a clear understanding of potential risks associated with the model’s application.\n", + "**Model documentation**: A structured and detailed record pertaining to a model, encompassing key components such as its underlying assumptions, methodologies, data sources, inputs, performance metrics, evaluations, limitations, and intended uses. It serves to ensure transparency, adherence to regulatory requirements, and a clear understanding of potential risks associated with the model\u2019s application.\n", "\n", "**Documentation template**: Functions as a test suite and lays out the structure of model documentation, segmented into various sections and sub-sections. Documentation templates define the structure of your model documentation, specifying the tests that should be run, and how the results should be displayed.\n", "\n", @@ -807,9 +807,14 @@ " \"My Cool Table\": table,\n", " \"Another Table\": table2,\n", " },\n", - " fig1,\n", - " fig2,\n", - " fig3,\n", + " {\n", + " # Figures support the same dict-of-titles convention as tables.\n", + " # These titles flow into the document media registry as\n", + " # \"Figure N. \" alongside table captions.\n", + " \"Random Line Plot\": fig1,\n", + " \"Random Bar Plot\": fig2,\n", + " \"Random Scatter Plot\": fig3,\n", + " },\n", " )\n", "\n", "\n", @@ -821,7 +826,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Notice how you can return the tables as a dictionary where the key is the title of the table and the value is the table itself. You could also just return the tables by themselves but this way you can give them a title to more easily identify them in the result.\n", + "Notice how you can return the tables as a dictionary where the key is the title of the table and the value is the table itself. The same convention works for **figures** \u2014 wrap them in a dict whose keys are the titles you want shown in the document media registry (e.g. *Figure 7. Random Line Plot*). You could also just return the figures by themselves but this way you can give them a title to more easily identify them in the result.\n", "\n", "![screenshot showing multiple tables and plots](./multiple-tables-plots-custom-metric.png)" ] @@ -996,7 +1001,7 @@ "\n", "## Next steps\n", "\n", - "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way — use the ValidMind Platform to work with your model documentation.\n", + "You can look at the results of this test suite right in the notebook where you ran the code, as you would expect. But there is a better way \u2014 use the ValidMind Platform to work with your model documentation.\n", "\n", "<a id='toc8_1__'></a>\n", "\n", @@ -1029,7 +1034,7 @@ "\n", "## Upgrade ValidMind\n", "\n", - "<div class=\"alert alert-block alert-info\" style=\"background-color: #B5B5B510; color: black; border: 1px solid #083E44; border-left-width: 5px; box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);border-radius: 5px;\">After installing ValidMind, you’ll want to periodically make sure you are on the latest version to access any new features and other enhancements.</div>\n", + "<div class=\"alert alert-block alert-info\" style=\"background-color: #B5B5B510; color: black; border: 1px solid #083E44; border-left-width: 5px; box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);border-radius: 5px;\">After installing ValidMind, you\u2019ll want to periodically make sure you are on the latest version to access any new features and other enhancements.</div>\n", "\n", "Retrieve the information for the currently installed version of ValidMind:" ] @@ -1072,7 +1077,7 @@ "\n", "***\n", "\n", - "Copyright © 2023-2026 ValidMind Inc. All rights reserved.<br>\n", + "Copyright \u00a9 2023-2026 ValidMind Inc. All rights reserved.<br>\n", "Refer to [LICENSE](https://github.com/validmind/validmind-library/blob/main/LICENSE) for details.<br>\n", "SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial</small>" ] diff --git a/site/notebooks/tutorials/validation/2-start_validation_process.ipynb b/site/notebooks/tutorials/validation/2-start_validation_process.ipynb index 8d7321060..e729c2ee3 100644 --- a/site/notebooks/tutorials/validation/2-start_validation_process.ipynb +++ b/site/notebooks/tutorials/validation/2-start_validation_process.ipynb @@ -106,7 +106,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Make sure the ValidMind Library is installed\n", "\n", @@ -128,9 +130,7 @@ " # model=\"...\",\n", " document=\"validation-report\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -152,7 +152,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "from validmind.datasets.classification import customer_churn as demo_dataset\n", "\n", @@ -162,9 +164,7 @@ "\n", "raw_df = demo_dataset.load_data()\n", "raw_df.head()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -195,23 +195,23 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Get the list of available task types\n", "sorted(vm.tests.list_tasks())" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Get the list of available tags\n", "sorted(vm.tests.list_tags())" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -224,12 +224,12 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.list_tests(task=\"classification\", tags=[\"tabular_data\", \"data_quality\"])" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -259,7 +259,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# vm_raw_dataset is now a VMDataset object that you can pass to any ValidMind test\n", "vm_raw_dataset = vm.init_dataset(\n", @@ -267,9 +269,7 @@ " input_id=\"raw_dataset\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -302,12 +302,12 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.describe_test(\"validmind.data_validation.DescriptiveStatistics\")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -318,16 +318,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "result2 = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.ClassImbalance\",\n", " inputs={\"dataset\": vm_raw_dataset},\n", " params={\"min_percent_threshold\": 30},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -340,7 +340,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "import pandas as pd\n", "\n", @@ -352,9 +354,7 @@ "\n", "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -367,7 +367,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", "vm_balanced_raw_dataset = vm.init_dataset(\n", @@ -375,13 +377,13 @@ " input_id=\"balanced_raw_dataset\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Pass the initialized `balanced_raw_dataset` as input into the test run\n", "result = vm.tests.run_test(\n", @@ -389,9 +391,7 @@ " inputs={\"dataset\": vm_balanced_raw_dataset},\n", " params={\"min_percent_threshold\": 30},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -410,16 +410,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "corr_result = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", " params={\"max_threshold\": 0.3},\n", " inputs={\"dataset\": vm_balanced_raw_dataset},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -432,16 +432,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "print(type(corr_result))\n", "print(\"Result ID: \", corr_result.result_id)\n", "print(\"Params: \", corr_result.params)\n", "print(\"Passed: \", corr_result.passed)\n", "print(\"Tables: \", corr_result.tables)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -454,25 +454,25 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Extract table from `corr_result.tables`\n", "features_df = corr_result.tables[0].data\n", "features_df" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Extract list of features that failed the test\n", "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", "high_correlation_features" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -483,13 +483,13 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", "high_correlation_features" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -502,7 +502,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Remove the highly correlated features from the dataset\n", "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", @@ -513,9 +515,7 @@ " input_id=\"raw_dataset_preprocessed\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -526,16 +526,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "corr_result = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", " params={\"max_threshold\": 0.3},\n", " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -546,15 +546,15 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "corr_result = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.PearsonCorrelationMatrix\",\n", " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -589,7 +589,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Individual test config with inputs specified\n", "test_config = {\n", @@ -602,9 +604,7 @@ " \"params\": {\"max_threshold\": 0.3}\n", " },\n", "}" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -615,7 +615,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "for t in test_config:\n", " print(t)\n", @@ -635,9 +637,7 @@ " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", " except Exception as e:\n", " print(f\"Error running test {t}: {str(e)}\")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -666,7 +666,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "result = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.HighPearsonCorrelation:balanced_raw_dataset\",\n", @@ -674,9 +676,7 @@ " inputs={\"dataset\": vm_balanced_raw_dataset},\n", ")\n", "result.log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -694,28 +694,23 @@ "\n", "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", "\n", - "3. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section.\n", + "3. Click on **2.2.1. Data Quality** to expand that section.\n", "\n", - "4. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**:\n", + "4. Under the Class Imbalance Assessment guideline, click **Evidence** to expand the evidence panel.\n", "\n", - " <img src= \"link-validator-evidence.png\" alt=\"Screenshot showing the validation report with the link validator evidence to report option highlighted\" style=\"border: 2px solid #083E44; border-radius: 8px; border-right-width: 2px; border-bottom-width: 3px;\">\n", - " <br><br>\n", + "5. Click **Link Evidence**, then select **Validator Evidence**.\n", "\n", - "5. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** \n", + "6. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance**\n", "\n", " <img src= \"selecting-class-imbalance-results.png\" alt=\"Screenshot showing the ClassImbalance test selected\" style=\"border: 2px solid #083E44; border-radius: 8px; border-right-width: 2px; border-bottom-width: 3px;\">\n", " <br><br>\n", "\n", - "6. Click **Update Linked Evidence** to add the test results to the validation report.\n", + "7. Click **Update Linked Evidence** to add the test results to the validation report.\n", "\n", - " Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report:\n", + "8. Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report.\n", "\n", - " <img src= \"inserted-class-imbalance-results.png\" alt=\"Screenshot showing the ClassImbalance test inserted into the validation report\" style=\"border: 2px solid #083E44; border-radius: 8px; border-right-width: 2px; border-bottom-width: 3px;\">\n", - " <br><br>\n", - "\n", - "7. Note that these test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset.\n", - "\n", - " Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test:\n", + " - Note that these test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset.\n", + " - Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test:\n", "\n", " <img src= \"class-imbalance-results-detail.png\" alt=\"Screenshot showing the ClassImbalance test generated description in the text editor\" style=\"border: 2px solid #083E44; border-radius: 8px; border-right-width: 2px; border-bottom-width: 3px;\">\n", " <br><br>\n", @@ -749,12 +744,12 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "balanced_raw_no_age_df.head()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -768,15 +763,15 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "balanced_raw_no_age_df = pd.get_dummies(\n", " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", ")\n", "balanced_raw_no_age_df.head()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -790,7 +785,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", @@ -800,9 +797,7 @@ "y_train = train_df[\"Exited\"]\n", "X_test = test_df.drop(\"Exited\", axis=1)\n", "y_test = test_df[\"Exited\"]" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -817,7 +812,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm_train_ds = vm.init_dataset(\n", " input_id=\"train_dataset_final\",\n", @@ -830,9 +827,7 @@ " dataset=test_df,\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", diff --git a/site/notebooks/tutorials/validation/3-developing_potential_challenger.ipynb b/site/notebooks/tutorials/validation/3-developing_potential_challenger.ipynb index ca9cb71f6..3c5db2507 100644 --- a/site/notebooks/tutorials/validation/3-developing_potential_challenger.ipynb +++ b/site/notebooks/tutorials/validation/3-developing_potential_challenger.ipynb @@ -111,7 +111,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Make sure the ValidMind Library is installed\n", "\n", @@ -133,9 +135,7 @@ " # model=\"...\",\n", " document=\"validation-report\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -150,7 +150,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Load the sample dataset\n", "from validmind.datasets.classification import customer_churn as demo_dataset\n", @@ -160,9 +162,7 @@ ")\n", "\n", "raw_df = demo_dataset.load_data()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -177,7 +177,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "import pandas as pd\n", "\n", @@ -189,9 +191,7 @@ "\n", "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -204,7 +204,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", "vm_balanced_raw_dataset = vm.init_dataset(\n", @@ -212,9 +214,7 @@ " input_id=\"balanced_raw_dataset\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -225,7 +225,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", "corr_result = vm.tests.run_test(\n", @@ -233,42 +235,40 @@ " params={\"max_threshold\": 0.3},\n", " inputs={\"dataset\": vm_balanced_raw_dataset},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# From result object, extract table from `corr_result.tables`\n", "features_df = corr_result.tables[0].data\n", "features_df" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Extract list of features that failed the test\n", "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", "high_correlation_features" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Extract feature names from the list of strings\n", "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", "high_correlation_features" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -279,7 +279,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Remove the highly correlated features from the dataset\n", "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", @@ -290,13 +292,13 @@ " input_id=\"raw_dataset_preprocessed\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Re-run the test with the reduced feature set\n", "corr_result = vm.tests.run_test(\n", @@ -304,9 +306,7 @@ " params={\"max_threshold\": 0.3},\n", " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -321,20 +321,22 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Encode categorical features in the dataset\n", "balanced_raw_no_age_df = pd.get_dummies(\n", " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", ")\n", "balanced_raw_no_age_df.head()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", @@ -345,13 +347,13 @@ "y_train = train_df[\"Exited\"]\n", "X_test = test_df.drop(\"Exited\", axis=1)\n", "y_test = test_df[\"Exited\"]" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Initialize the split datasets\n", "vm_train_ds = vm.init_dataset(\n", @@ -365,9 +367,7 @@ " dataset=test_df,\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -382,16 +382,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Import the champion model\n", "import pickle as pkl\n", "\n", "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", " log_reg = pkl.load(f)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -421,7 +421,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Import the Random Forest Classification model\n", "from sklearn.ensemble import RandomForestClassifier\n", @@ -434,9 +436,7 @@ "\n", "# Train the model\n", "rf_model.fit(X_train, y_train)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -456,7 +456,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Initialize the champion logistic regression model\n", "vm_log_model = vm.init_model(\n", @@ -469,9 +471,7 @@ " rf_model,\n", " input_id=\"rf_model\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -491,7 +491,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Champion — Logistic regression model\n", "vm_train_ds.assign_predictions(model=vm_log_model)\n", @@ -500,9 +502,7 @@ "# Challenger — Random forest classification model\n", "vm_train_ds.assign_predictions(model=vm_rf_model)\n", "vm_test_ds.assign_predictions(model=vm_rf_model)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -530,13 +530,13 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "\n", "vm.tests.list_tests(tags=[\"model_performance\"], task=\"classification\")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -555,7 +555,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "mpt = [\n", " \"validmind.model_validation.sklearn.ClassifierPerformance:logreg_champion\",\n", @@ -564,9 +566,7 @@ " \"validmind.model_validation.sklearn.MinimumF1Score:logreg_champion\",\n", " \"validmind.model_validation.sklearn.ROCCurve:logreg_champion\"\n", "]" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -584,7 +584,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "for test in mpt:\n", " vm.tests.run_test(\n", @@ -593,9 +595,7 @@ " \"dataset\": vm_test_ds, \"model\" : vm_log_model,\n", " },\n", " ).log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -620,29 +620,28 @@ "\n", "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", "\n", - "3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section.\n", - "\n", - "4. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report**:\n", - "\n", - " <img src=\"link-artifact.png\" alt=\"Screenshot showing the validation report with the link artifact option highlighted\" style=\"border: 2px solid #083E44; border-radius: 8px; border-right-width: 2px; border-bottom-width: 3px;\">\n", - " <br><br>\n", + "3. Click on **2.2.2. Model Performance** to expand that section.\n", "\n", - "5. Select **Validation Issue** as the type of artifact.\n", + "4. Under the Model Performance Metrics guideline, click to expand the **Artifacts** panel.\n", "\n", - "6. Click **+ Add Validation Issue** to add a validation issue type artifact.\n", + "5. Click **Link Artifact** and select **Validation Issue** as the type of artifact.\n", "\n", - "76. Enter in the details for your validation issue, for example:\n", + "6. Click **+ Add Validation Issue** and enter in the details for your validation issue, for example:\n", "\n", " - **TITLE** — Champion Logistic Regression Model Fails Minimum Accuracy Threshold\n", " - **RISK AREA** — Model Performance\n", " - **DOCUMENTATION SECTION** — 3.2. Model Evaluation\n", " - **DESCRIPTION** — The logistic regression champion model was subjected to a Minimum Accuracy test to determine whether its predictive accuracy meets the predefined performance threshold of 0.7. The model achieved an accuracy score of 0.6136, which falls below the required minimum. As a result, the test produced a Fail outcome.\n", "\n", - "8. Click **Save**.\n", + "7. Click **Add Validation Issue** to submit the validation issue.\n", + "\n", + "8. Select the validation issue you just added to link to your validation report.\n", + "\n", + "9. Click **Update Linked Artifacts** to insert your validation issue.\n", "\n", - "9. Select the validation issue you just added to link to your validation report and click **Update Linked Artifacts** to insert your validation issue.\n", + "10. Confirm that validation issue you inserted has been correctly inserted into section 2.2.2. Model Performance of the report.\n", "\n", - "10. Click on the validation issue to expand the issue, where you can adjust details such as severity, owner, due date, status, etc. as well as include proposed remediation plans or supporting documentation as attachments." + "11. Click on the validation issue to expand the issue, where you can adjust details such as severity, owner, due date, status, etc. as well as include proposed remediation plans or supporting documentation as attachments." ] }, { @@ -660,7 +659,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "mpt_chall = [\n", " \"validmind.model_validation.sklearn.ClassifierPerformance:champion_vs_challenger\",\n", @@ -669,9 +670,7 @@ " \"validmind.model_validation.sklearn.MinimumF1Score:champion_vs_challenger\",\n", " \"validmind.model_validation.sklearn.ROCCurve:champion_vs_challenger\"\n", "]" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -682,7 +681,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "for test in mpt_chall:\n", " vm.tests.run_test(\n", @@ -691,9 +692,7 @@ " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", " }\n", " ).log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -719,12 +718,12 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.list_tests(tags=[\"model_diagnosis\"], task=\"classification\")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -740,7 +739,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.run_test(\n", " test_id=\"validmind.model_validation.sklearn.OverfitDiagnosis:champion_vs_challenger\",\n", @@ -749,9 +750,7 @@ " \"model\" : [vm_log_model,vm_rf_model]\n", " }\n", ").log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -764,7 +763,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.run_test(\n", " test_id=\"validmind.model_validation.sklearn.RobustnessDiagnosis:Champion_vs_LogRegression\",\n", @@ -773,9 +774,7 @@ " \"model\" : [vm_log_model,vm_rf_model]\n", " },\n", ").log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -792,14 +791,14 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Store the feature importance tests\n", "FI = vm.tests.list_tests(tags=[\"feature_importance\"], task=\"classification\",pretty=False)\n", "FI" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -810,7 +809,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Run and log our feature importance tests for both models for the testing dataset\n", "for test in FI:\n", @@ -820,9 +821,7 @@ " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", " },\n", " ).log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", diff --git a/site/notebooks/tutorials/validation/inserted-class-imbalance-results.png b/site/notebooks/tutorials/validation/inserted-class-imbalance-results.png deleted file mode 100644 index 2efea1a09b5fc26966b2ca307acfe2cfd8c8ac1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89421 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�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 DF8ju5 diff --git a/site/notebooks/tutorials/validation/link-artifact.png b/site/notebooks/tutorials/validation/link-artifact.png deleted file mode 100644 index 23edc1c9eb7c5b25c74a0c912e6bf8c753eae8f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188145 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°TibAHKRM8skHoHU$lhBK{I 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%0AW@ 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 diff --git a/site/notebooks/tutorials/validation/link-validator-evidence.png b/site/notebooks/tutorials/validation/link-validator-evidence.png deleted file mode 100644 index 660a19cfabaeda95d4cb3ce196fb04eca285576e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394314 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 vER4|iLP|-b4&yn*DCR% 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�^@OkB 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%0Axs91vVyFnKU$b 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姊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 }lJOLeCi@!6k0!4<?|nR%?gljv`oN8!D@$ns0Fg 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 HAoza)aTY~{ From 4a71fb861f33c0bebb761e9137dfcb6e7d0bf6d9 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 18:26:08 -0700 Subject: [PATCH 31/36] tweak --- .../guide/validation/add-manage-artifacts.qmd | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/site/guide/validation/add-manage-artifacts.qmd b/site/guide/validation/add-manage-artifacts.qmd index 924ef72db..13e709f57 100644 --- a/site/guide/validation/add-manage-artifacts.qmd +++ b/site/guide/validation/add-manage-artifacts.qmd @@ -62,7 +62,7 @@ While assessing a record's compliance,[^5] you can add artifacts as you complete As artifacts get resolved or require other changes during the validation process, you can update them: -1. Locate the artifact you want to update.[^10] +1. Locate the artifact you want to update.[^9] 2. Click on a field to make changes. @@ -105,16 +105,16 @@ Uploaded files must be less than 50 MB each in size. ## Delete artifacts ::: {.callout-important title="Artifact deletion is permanent."} -- While artifact deletion will be logged under your {{< fa wifi >}} Activity,[^11] deleted artifacts cannot be retrieved. -- Deleting an artifact will also remove it from any validation reports[^12] it was previously attached to. +- While artifact deletion will be logged under your {{< fa wifi >}} Activity,[^10] deleted artifacts cannot be retrieved. +- Deleting an artifact will also remove it from any validation reports[^11] it was previously attached to. ::: If you logged an artifact in error or otherwise no longer need to track that artifact, you can delete it: -1. Locate the artifact you want to delete.[^13] +1. Locate the artifact you want to delete.[^12] -2. On the artifact's detail page, click **{{< fa trash-can>}} Delete {Artifact Type}**[^14] in the right sidebar. +2. On the artifact's detail page, click **{{< fa trash-can>}} Delete {Artifact Type}**[^13] in the right sidebar. 3. Click **Yes, Delete {Artifact Type}** to confirm permanent deletion of that artifact. @@ -137,14 +137,12 @@ If you logged an artifact in error or otherwise no longer need to track that art [^8]: [Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview) -[^9]: [Manage artifact types](manage-artifact-types.qmd) +[^9]: [View and filter artifacts](view-filter-artifacts.qmd) -[^10]: [View and filter artifacts](view-filter-artifacts.qmd) +[^10]: [View record activity](/guide/inventory/view-record-activity.qmd) -[^11]: [View record activity](/guide/inventory/view-record-activity.qmd) +[^11]: [Link artifacts to reports](/guide/validation/assess-compliance.qmd#link-artifacts-to-reports) -[^12]: [Link artifacts to reports](/guide/validation/assess-compliance.qmd#link-artifacts-to-reports) +[^12]: [View and filter artifacts](view-filter-artifacts.qmd) -[^13]: [View and filter artifacts](view-filter-artifacts.qmd) - -[^14]: [Manage artifact types](manage-artifact-types.qmd) \ No newline at end of file +[^13]: [Manage artifact types](manage-artifact-types.qmd) \ No newline at end of file From 60277701ae289584befcdacad11b3fd8018d1df9 Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 18:37:39 -0700 Subject: [PATCH 32/36] edits --- site/faq/faq-testing.qmd | 2 +- site/get-started/validator/quickstart-validator.qmd | 10 +++++----- .../validation/_autogenerate-validation-issues.qmd | 2 +- site/guide/validation/_link-artifacts-to-reports.qmd | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/site/faq/faq-testing.qmd b/site/faq/faq-testing.qmd index dcfc73b81..07d7e1453 100644 --- a/site/faq/faq-testing.qmd +++ b/site/faq/faq-testing.qmd @@ -115,7 +115,7 @@ Check out our introductory series — [**{{< var vm.product >}} for validation** [^12]: [Manage record stakeholder types](/guide/configuration/manage-record-stakeholder-types.qmd) -[^13]: [Assess compliance](/guide/validation/assess-compliance.qmd#link-validator-evidence) +[^13]: [Assess compliance](/guide/validation/assess-compliance.qmd#map-evidence) [^14]: [Can we configure, customize, or add our own tests?](#can-we-configure-customize-or-add-our-own-tests) diff --git a/site/get-started/validator/quickstart-validator.qmd b/site/get-started/validator/quickstart-validator.qmd index c9abf85b9..ca33e4236 100644 --- a/site/get-started/validator/quickstart-validator.qmd +++ b/site/get-started/validator/quickstart-validator.qmd @@ -118,7 +118,7 @@ After you successfully run the notebook, return to the {{< var validmind.platfor - Your validation report is broken down into sections, defined by your report templates.[^3] - The report includes risk assessment summaries at the overall and per-section level, overviews of your compliance assessments provided within your validation report.[^4] - - Each sub-section allows you to attach test results as evidence,[^5] as well as log artifacts based on your evaluation of datasets or records.[^6] + - Each sub-section (or guideline)allows you to attach test results as evidence,[^5] as well as log artifacts based on your evaluation of datasets or records.[^6] :::: {.flex .flex-wrap .justify-around} @@ -138,13 +138,13 @@ After you successfully run the notebook, return to the {{< var validmind.platfor #### Add evidence to your report -Expand any section of the validation report to attach your test results and drafts of test result summaries generated by the {{< var validmind.developer >}} as evidence by clicking on **{{< fa link >}} Link Evidence to Report**. +Expand any section of the validation report to attach your test results and drafts of test result summaries generated by the {{< var validmind.developer >}} as evidence by clicking **Evidence** on any guideline to expand the evidence panel. For example: -1. Locate the 2.2.1. Data Quality section and click on **Class Imbalance Assessment**. +1. Within your validation report, click on **Class Imbalance Assessment**. -2. Under the Class Imbalance Assessment sub-section, locate Validator Evidence then click **{{< fa link >}} Link Evidence to Report**. +2. Under the Class Imbalance Assessment guideline click **{{< fa link >}} Link Evidence**, then select **Validator Evidence** as the [evidence type]{.smallcaps}. 3. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** @@ -175,7 +175,7 @@ Now that you've grasped the basics of using {{< var vm.product >}} for validatio [^4]: [Assess compliance](/guide/validation/assess-compliance.qmd#assign-compliance-assessments) -[^5]: [Assess compliance](/guide/validation/assess-compliance.qmd#link-validator-evidence) +[^5]: [Assess compliance](/guide/validation/assess-compliance.qmd#map-evidence) [^6]: [Add and manage artifacts](/guide/validation/add-manage-artifacts.qmd#add-artifacts-on-validation-reports) diff --git a/site/guide/validation/_autogenerate-validation-issues.qmd b/site/guide/validation/_autogenerate-validation-issues.qmd index ad2d632e9..805bd861a 100644 --- a/site/guide/validation/_autogenerate-validation-issues.qmd +++ b/site/guide/validation/_autogenerate-validation-issues.qmd @@ -77,7 +77,7 @@ a. In the left sidebar that appears for your record, click **Validation** under b. In the Artifacts section under your evidence, click **{{< fa wand-magic-sparkles >}} Suggest Validation Issues**. -c . Click **Suggest Validation Issues** to have {{< var vm.product >}} analyze your risk assessment notes along with the guideline context and identify any gaps that warrant validation issues. +c. Click **Suggest Validation Issues** to have {{< var vm.product >}} analyze your risk assessment notes along with the guideline context and identify any gaps that warrant validation issues. d. Review the suggested validation issues. Each suggestion includes: diff --git a/site/guide/validation/_link-artifacts-to-reports.qmd b/site/guide/validation/_link-artifacts-to-reports.qmd index 97e7c339a..bdbc706c9 100644 --- a/site/guide/validation/_link-artifacts-to-reports.qmd +++ b/site/guide/validation/_link-artifacts-to-reports.qmd @@ -16,7 +16,7 @@ c. On the Link Artifact to Report modal that opens: - Select from the list of available artifacts. - Click **{{< fa plus >}} Add {Artifact Type}** where `{Artifact Type}` is the artifact type you want to add to create a new artifact,[^create-artifact] then select the new artifact from the list. -c. Click **Update Linked Artifacts**. +d. Click **Update Linked Artifacts**. Confirm that the newly linked artifacts shown under Artifacts is accurate. From 1fae81dd750cd47cee982bdfe1e777ff999f665f Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 18:42:57 -0700 Subject: [PATCH 33/36] edit --- site/guide/validation/assess-compliance.qmd | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/site/guide/validation/assess-compliance.qmd b/site/guide/validation/assess-compliance.qmd index bd9cace00..6c1f2c427 100644 --- a/site/guide/validation/assess-compliance.qmd +++ b/site/guide/validation/assess-compliance.qmd @@ -123,11 +123,11 @@ After you have mapped and assessed available evidence, link artifacts to reports 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a record or find your record by applying a filter or searching for it.[^15] +2. Select a record or find your record by applying a filter or searching for it.[^14] -3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^16] +3. In the left sidebar that appears for your record, click **{{< fa file >}} Documents** and select the **Latest** tab.[^15] -4. Click on a Validation type file.[^17] +4. Click on a Validation type file.[^16] Expand any subsection of the validation report you have attached evidence for to autogenerate validation issues or manually link artifacts to your report: @@ -176,9 +176,9 @@ After you have mapped and assessed available evidence, link artifacts to reports [^13]: [Work with content blocks](/guide/documentation/work-with-content-blocks.qmd#content-editing-toolbar) -[^15]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) +[^14]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) -[^16]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) +[^15]: [Work with document versions](/guide/documentation/work-with-document-versions.qmd) -[^17]: [Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview) +[^16]: [Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview) From 180c2d892ec6da8b4b8130080f077d402f42991c Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Thu, 21 May 2026 19:25:54 -0700 Subject: [PATCH 34/36] oops --- .../validator-fundamentals/running-data-quality-tests.qmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/training/validator-fundamentals/running-data-quality-tests.qmd b/site/training/validator-fundamentals/running-data-quality-tests.qmd index 82ae9bd2e..110859511 100644 --- a/site/training/validator-fundamentals/running-data-quality-tests.qmd +++ b/site/training/validator-fundamentals/running-data-quality-tests.qmd @@ -324,7 +324,7 @@ e. Click **{{< fa link >}} Link Evidence**, then select **Validator Evidence**. f. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** - ![The ClassImbalance tests selected](/notebooks/tutorials/model_validation/selecting-class-imbalance-results.png){fig-alt="Screenshot showing the ClassImbalance tests selected" .screenshot} + ![The ClassImbalance tests selected](/notebooks/tutorials/validation/selecting-class-imbalance-results.png){fig-alt="Screenshot showing the ClassImbalance tests selected" .screenshot} g. Click **Update Linked Evidence** to add the test results to the validation report. @@ -335,7 +335,7 @@ h. Confirm that the results for the Class Imbalance test you inserted has been c - Once linked as evidence to section **2.2.1. Data Quality**, note that the ValidMind Data Validation Class Imbalance test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset. - Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test: - ![ClassImbalance test generated description in the text editor](/notebooks/tutorials/model_validation/class-imbalance-results-detail.png){fig-alt="Screenshot showing the ClassImbalance test generated description in the text editor" .screenshot} + ![ClassImbalance test generated description in the text editor](/notebooks/tutorials/validation/class-imbalance-results-detail.png){fig-alt="Screenshot showing the ClassImbalance test generated description in the text editor" .screenshot} ::: From 9909ae2b12d25024852aa8b5a167388db46ccc1f Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Fri, 22 May 2026 10:07:56 -0700 Subject: [PATCH 35/36] Fixing typo --- site/get-started/validator/quickstart-validator.qmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/get-started/validator/quickstart-validator.qmd b/site/get-started/validator/quickstart-validator.qmd index ca33e4236..db62f0067 100644 --- a/site/get-started/validator/quickstart-validator.qmd +++ b/site/get-started/validator/quickstart-validator.qmd @@ -118,7 +118,7 @@ After you successfully run the notebook, return to the {{< var validmind.platfor - Your validation report is broken down into sections, defined by your report templates.[^3] - The report includes risk assessment summaries at the overall and per-section level, overviews of your compliance assessments provided within your validation report.[^4] - - Each sub-section (or guideline)allows you to attach test results as evidence,[^5] as well as log artifacts based on your evaluation of datasets or records.[^6] + - Each sub-section (or guideline) allows you to attach test results as evidence,[^5] as well as log artifacts based on your evaluation of datasets or records.[^6] :::: {.flex .flex-wrap .justify-around} From 43b7bb9ff4e102c4cb9b4c93899211be6c0a35ac Mon Sep 17 00:00:00 2001 From: Beck <164545837+validbeck@users.noreply.github.com> Date: Fri, 22 May 2026 10:20:52 -0700 Subject: [PATCH 36/36] Finetune --- site/guide/validation/assess-compliance.qmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/guide/validation/assess-compliance.qmd b/site/guide/validation/assess-compliance.qmd index 6c1f2c427..b06fa534f 100644 --- a/site/guide/validation/assess-compliance.qmd +++ b/site/guide/validation/assess-compliance.qmd @@ -73,7 +73,7 @@ Include sections from other documents and logged test results as evidence to val i. Select **Developer Evidence** as the [evidence type]{.smallcaps}. ii. In the left sidebar, click on the document you want to include evidence from. - iii. In the right panel, check off the content blocks you want to include as evidence:[^10] + iii. In the right panel, check off the content blocks and/or test results you want to include as evidence:[^10] - Expand a section by clicking **{{< fa chevron-down >}}** to review any sub-sections. - If you are not sure if a block is relevant, click on a block to preview the contents. - To include all blocks in a section, check off the section header. @@ -168,7 +168,7 @@ After you have mapped and assessed available evidence, link artifacts to reports [^9]: [Preparing validation reports](/guide/validation/preparing-validation-reports.qmd#validation-overview) -[^10]: Only sections with content are available for selection as evidence — empty sections will have their checkboxes disabled and grayed out. +[^10]: Only sections with populated content blocks and/or test results are available for selection as evidence — empty sections will have their checkboxes disabled and grayed out. [^11]: To link validator evidence to a report, you must first log tests on your report with the {{< var validmind.developer >}}: **[{{< var validmind.developer >}}](/developer/validmind-library.qmd)**

b5HZ)&7{%M=t|Hq#Hk3E0K9$vA%TEaq*G-)=;_b#%&9|_b1 zVJlbAXB12l{C8`2EtK@ooDE?4`ICt1xM2TnXIJv2=PxbCDX;G*a=Bn_7-XK8owGgC zj~5eMf6hvm#J$E)?4+l9AETrhbsZsiIA2DQ+n~dM1^f_`Ifs9l=!?RF<6a9m1MV>R zFQ{EB1U`AKSSilV{0!&ciKr%rgwEL|DZE8v+4Eob^(hjgtn+SSC&M}RL}Ftw0Riv1 zjDxQ^U$z}J+3#mO!j!*${}0}C&LO1QtxwKf6w-if_;o;@l|19M!`*y^x;{%4wQTz?G2}{)(wx>0~~`rrQSr zrqJ>R(&~ni{Pn+0t9qqmR;L%DrqNyCFXD9MA&B@}6k_l#%_35X+Ane8q&UXD7LxP& ze-h#Q*kLPQ!(JcWM3Dg?flZc6V$d2(_bn-*r2aA@@ZBc!$>Z=IX}!9edYqJP;{_{} zz5SFt6pM_yUz0;~d#LyUa6d}~rE!q5 zfY6A|$5W!9IcQo12F_`QRv^;62a_=syrI*@#GVhKG5MzUqRJJ1eW38IHd@~Se_zo! z58Ewq=C(jS(5gl|zeDe|SRgjc{<%xnax$jPLnushmUuNMeY7t4OcOd9I`qz^dFcDX z^TcCQd+}_Eo*TNvz6j@x1u9Aesu=9YFCK*bTW%WfWG-WXkiT4yUc?;`@t1_h5L+@2 zWY8pT4@OB}8d8u2)O?ycXrrM8e-rh*A4s7q7X=b%RtVoRWHOhigi8@jXXD3|Czw%7 zmMK8->olI&}zfS_zYokIvt^DM2YvkhkiBYPiP7am~nbTsMR zUCC2RW8%g%75(Sf2;1k8%B4LY%v`X|_P&Qt#uLk{MRe!cj!M;;LKLD#q;TZ$ZbB`S zcbj^UYfWd>F~yYS`>V^?f6UO7WI3qlWNB#CidB@U6V5T=eZ&;Y?H~_Nx6T7uLIn=z zy*JLZP}*$oW^Es&xKs%c#}^TP0AKhfb*;aF@UHKz%2{fsk2Dz5{YkGDHyrVt&f|d3lz&e&np#$F5?tl=A1jpcKRiGZh^*&XRxjhfFtT}D z<%{@pK1%s21|`CHm28(2kBBwIp)3p~_lO`!q;lmB zxI*(bq3?E-$d?R4b7ws$#9(aYedGq8r#l2lo;p+3cfZsGZNc8GbS~ejL+IKx9D9ow zDuO1Eg*ot}e;a=Tl#Q_X8zbYefy&cEHihF)rgs$@P2iIE0ciyLehqt~!JDP!3R^4r zZC%%?UGaCjrbZp_=t#-|ck0+*2alWNRlECQ-D6uj?1P~B8Q3u!ebfE*#p`A>{@iGS0+5BNRa^F2*z0IFz7e{XkDwE7_kRv@dh=J{zpi!f;W zxNhL<{&>O`*k9JdzW6qC6!gzdVdZJ|?B(kugS?NsuMAM*B;G~|!VqX66_f0K<;il6mLgLW` z0o#KKe3ONeJ2k5d2lCs)dDfb{7k?cJyw6*SmFxK7WlZE$zGDcwufOfak(T(v`&27t zl!bfO>ne#B5I_9D4@9po(R7v|Q*N+OFvsdAe+38x4wqrFDCbXl=4k)5UGC3IEB~&` z7ucQBdfbDRvuvZY;EnA`mB`OoLJ&;7sI@Ujo{qu)kAQ}*W}vxJ(;~^ZUgRVMSh%)igKV?yO#!WDrUbdbI(2zu;F{JV^L+#MG0VC7;zPD$BqTrx4_ zf0PRPvI~xen}QWchhug>PNE_GCC0oc$h_Exw6Csf2r`5PTV;HnT&&Z-y*wP7{vVol zJ8D%L&6pPA1|xB^`Mr!{u4(t1^35IIne7Oqe;sSZM0WYYwi=e@{)RM@A?(#>`t5}T zdMT)Hvxpvg><{v3Jm;Qe`)9s+gFv7|e=#^=8~ajmbtZ%UBJ@wwzYPDtz@zwHZaOpP zg#*7J>TxOY!$DPN-7`ZJZc+B1ypu&}b8+dYPT)x4J&?hc{_+*oxKLU*!W12u`!5d= zi7Epz6&YK-%yRSoc0;ehfe`c`f z4%SJhzbULnIe;geX_I+ltLfopG3@$3P6b2v6wBeXE%LNOVM{i_CYQAHxaAV znl5yOUAPLzf-$L73G%-#k#VT#fAr2m-%b$T>c`*l{sE^U&UPhg>0@jt80dK3zWuUM zO5^e7CKF&t-tDE|XiaEesZtSfqsxN;1I?7m+mrR?c7#+C^!ehX3-o!3^bc2}GdTf{ z?EdZWq<^|xowo|jnq2^o!P#g!ip^`A1`Jfx^#Oy(>{qrtoe2WDQeFOHf15F`&CD2Y zlBdOtm-n$ZK(g6grVB<=4Q37%?Y8@6n{77yUL`#hYm7z-7HSM*--i?Tf4s?ex!5H7 zD5FK`fGE>w#Dl6w4qR{*63aj~v=%H>dU<)paNDa5#Buq5s)&*fjT<5@o-7cn(%0#8 zP5^=s(P%S{zIv5bzNDc#R|0{Ii!)ot6RS6f_DAdsUrOSW z=NX0QT?&*R#^6VoqrI+B_A8%?X8ryV%)wAW8&>4IYw9`L*$R$uf3iZU?fqE%b-FJ} z%?Vz?`E*9UWTqT_szk#p5jL;AGdZm5ENHKVa}O1!3HG_&EZ&1_1FPBPBIhYbWK2Af zf|^U)O%w*5=Bp`&u}l~Fc-{Hd?G(fDG7|yKc6rpBjOA*@ z*SVWW91fDgv9#zbH^KRbt+O*)(@mJ3pK4Ps4INyd=+#RoeCP)3_YfK&Kr5NI&OLQd^91Bw1Al_yU9ZgAy_D0r+?5K( z(#VGrXcKA1xGAY|U4N&(j4>FzmE~++$hG%Y1QABrU5~jD z?tpaH<7GGHP=6FneV*8Xb!Y#PyVKCljQ7$Qo2@ep7zFr0VkdQctd;>pGpy#Ucb#Xw zLGrcLgv901N%t zSFE~AIO{cF>CYsrEcPpBBv0Vhjs)#TQk3H5=jt5B>bBqwMKY{-9(K;FaJ(=g|5=ds z-JN(X(pUMD#etfhFio$R?>d-$O&6VS2BU4Rw;M{8N|Ii0JBeV>62EHJ)U8EN)anhY zU-eB_rGI$_q^Amp63W$gmd-jG0lugo@1V`j*1fgFVjYz@kZ=8Z+S3!Jk#RM!LVo@- z*vSb|@WKdNtx};O*TL&0da{8KU#gbtwj8tLx48Q!ZwRWy-#Q*o!)Q6JQUqzeX3Exh zFF%v5+opf+d?n}{P2RF)L;tYG!J;~|X$zNqnSb7H8s$D-kTb=a>NN%-EsVIY@DC4( z+Wj3bPn@^i;2%J9P@!7TP%L%W4b8mCRY(Ba6mcV4*!oa1Z*2CS4y_wCts*)D9S^sq zj=eu*HbLof=NT*M3vDU4>O^CSltgocBQqf5D{d7rV}Co+hP<|LY}4$;%agdlqIOkGb;HHHNiP_MsM1^o|P zueRx)&gPqIuiYLDi#2NtTygRiJS;Qa#JI8PzN5W7mJZM1*@}n+*IBHnt$MsTk}DKN zT^~;gdnIu$7%1G$Y~AmcRuVNr$dxhcoPX<(mmN8t&5o3A)i&@CM9CLQr_SlbU-l=` zW_s}G`mHyOBjB>>o$+`+o~tj;SBkk!k(Xn(&O zRDXF~z&JIZEswSCcu{(TTBKd5F^Vr-Y;0s$nOGBh0fpT&KCCmH)S~6io4C3-vhEz1 zbK@>YE9=fLyis|&J|w=mX;5j{#z%7Dn)kvlBHtcPL6}rO0%f`6QDGj}WWQMJ{#A2z zA0kqT^TuVW-ddnQtEDix@`!*qbANWjMJhFr$Mc3}pw6)rP^xTru}eK!!G%Q!D25Zr#L;j@DGY_t)r8EfZd`HIy09kca)gdlLyRKWr{g?&>+7i+WpmoxQHDj*Tp`g1yMG;tb<{UxoXb^rI|ctjP$rS*HVF1aGo;7T%FYHv<4_1; z`0XOy}iwVnld2N+u69yIXI05;|45Po@1rKfPamTzA%_ou?8V@ z`0p-vCTDjdaq<)r4ywcV`OLkj3?@UH`WX19B31BV@E7G~sqEg0oDjiu#zlCX*7 z#^zFEwqDRnAPjru8Gm8bZg;D1t9Y`^dDAJ?uFNG)a?>)3gRHCux-nrH!^En%BK4KPl7+jjJz=t19XaJp3A*RIgCcfk=re#1dGAg%60%2ioyudA(c0)OI-s=lUWvGTE)E$z1{ z)8n1S%S%k{GR)$!Xn(8`{Z;}B;Z#D2v0r+;ITQz=Yt_9E6L^-l={8{z^_q$XEpci& zcdBVi0l&G5nE9@<&WXHT3zRiinV`{Hj5YbGj>V+lVmp5z7x9YK>G6UhceEiE-OwFg z&lA)akfYI`?0+2Jl?h20!=6@+Z#>+Og;eQ3wd#Pj!p>tFc&2Z;*z}Co6&eVPqcsIY z3Ni}CX}#2;sns5z9iemh9xm<>wto+&(wuG)>OH4ALF_gJbMBn-rn){@QCH)<&r;n> z=ku3%F#(g&H*>wlC4g!p48!m>0Sj4C4}-)R_a#eMtbau=8m;uEQm9aw0CUgf;C3hM z`@NJ>t&!{I=&Ff}YdIsvJq>s24~fV=dv1l2&v!bPW%C}0O731`lxx1^7}*h4z4>9{ zlX+|k2<#GYy4~*Me;!Os)M7up%H|K+mc1!cFN_>Wu_}7WdS%9}=_56rWt^o|ZYbld z;Ip|`>3=pYLoEZoat?%x7D};&7d9walg|%*KCSY@ibQ6boR10WVk(z*+?ox*{nXqy zLsuGL3Uo1dHb9-YZsP+}piGTJa?72@N z?=#!SJ`x{(o&43Eoz?TZ{#0BqyyR=^u_8DEQnu&6YX!(SsBE zSks$qkYfO|q1w(Al>VUcUAA=O-IuCD?ZARRuRxXejASBM1YxdI}a?wii7dZQ!(EV}Pj z^;VyHY05+dauRoiuQFI6vO~FIZeaV@qo5ip&w@*48+_pW?bLm5W6|+k|GiF zd6u#KE}#&cCnpI?Umt|MCe)V4Ouo4$MSl`#OM~{TG8+i1Q`Z_9?2V+(jRMuwRDs?g z5|n!MKHb~fvlGNwV)b9xM_o83JF>k$*KM!2$eeayMJLyok3+0}>>~tu zAj7(hL2wG;=~X&9dXlL9y$}QNaZH8Kl4Wo7MWU%xjrY(Z(-utwe_g?K#Cuq^Lw{aV z&0w!oDk~b+YUP%5MFcBMRj$}KWf(2|V?o8{aT|KU{>ZP@o==hbC4s@&Wr1bSW6yzt znr&L-EhBmNehGCbnycM*gh%daRcLhPV}(MdE4S;=Tgm*pv`ya5NDA|mdKMuHCqa1@ z!?|^9$(=&H<6DKj>a+LlC@6PmiGTT4(Df?bHRE^KAFFwykmPa#e6k8i?l05m$Jp+` zvd5t?FhwG=C7%ui-Ok#7WUOv*?2*(ar>Bpce)svo*|*lh;C$N7a3!5I%xQmW&vGfE zBzifSkyy^G2M)#y1QrfPgL1NB^IJu%19(+tk3nUvM&(uO+U*9AEDh-9ez#MnL0ZrPpdI?EaO+cyrtuDVh9h~8ek3&(h8m<_{ z9d_VQN{8qBz;QgFSEj?X@F%)Vj~x1+J$k>in%stOA8i{n1e`B+ z&=5@rNYIZ^b=S$ZiTP39a4c3^6eS<=c}gE|hJ*ZA4`G+WNP*i~PYQ=p5^^O~YfD^k z7$Xl$Q0CpXi$-24u3-CMoJbxfl%4jDT>XngJfqd5)}!$XV=Zf|Eq^I;fIfJX)b$v@ z>kY74pU@Z;7`i>_r^>W_8Jrnq6vjpZ0!ESnn|;2^gok!+U_f;jG5)>_OW!LfHLBLR zy39SIf_{Vt1cGP7j2|sG`k9E@OrV6R$V}8~dT_X7NC_c(-3~k?UoHLDlC(+KJmYr5>Oy=)-j+CG39>}KZo5Fag{ zz(#Sz8CSmi+N`U^cVrn}(^ceRqD!Zrs_9Q9RS<}?0)J^8v&gMIC?p?lOq&cApd1|d zymC(v61aVGpyKAlZvR;ByqevB%|Y?DN2lLcVpyGL!yFS68$VCsS9%)_r~aPcNlz9o z7piCm^Vo7q&)#+S;g(un90RDFKIL*hNz{uQZt#;xc>LfhVDfDd-y6M#mR@v@Dkn8~ za<-tnIDdUQQzzkTtF}}(l&((3{YFH1k2rccD@?Q`|CP&0!j&=X+!8GY*&`UBNyS=M zW?H1TWxfatGX+ zAly?c<4EiIyOLOojDeUNtjJ;xvh>Vx?9it;^^Uh*%H|*{_zHzMW@Xz_E*DARppU z2Y)e^_-&f3Psm9y-B6Prb1AD^pg#JQ1-(O(GWWcNr0QhbZRp{ko}fL@pjf9yr<^8P zVLVjJYXdw6pgNq!y;3$`VzC&GL4@nM?0nYF7{_yV`NJmylR0mc%1fN{$@@*%*|yo> z%;{({fLky70sdAWhtr{GQ7g5!*iep-+JD~tH^bQY(pkGOKduX}WDJ?saAoHu%tLKu z%?}m1{%vpRbGT!@{0o@OzLXnnSIxIcOUB$oK5+i%{;l>x3Fd8xDxLmh`SpaSWj8MF!C)bu1 z0LKp-#@e0R7>@k=&Zj~^r|QInSASHGwZ}d~VfQx#7?ckX)F+|!`4Ihr)cT380xU_G z5g`&>4kPyn2GdZ2kKS2%Qv=MOJf7RrYOcpIAMf4G!<5!U3+0OJ%C1C3lp?C_G?C|R z%^2!K4s%9D>vE>A+aA#30uA==gb}+;ZPnKLXLe{=kD9CQlX^@&gMBy>Eq}S|kkliq zGrdY`!gsQHQPb;BV!#QV@aRQzTzH3m_&*}8=`Xy3z+$WQ4x`)x-YwbO9UFs2O;V2; zzrdMc7@BD+_1a{R>O0f*u`a9<0BJ)QI0ZC&=5WhkBVgh_$bECwgz2 zJv^veU`dNk9*G(t$qOyRrs?@XX|n88TwraIY$Jga2 zplcs901s^Yl_K`+Abg{Q75kGJjZvYk9x%vI3A}-ESjwnkBKt7TiVoEGv zkoP{LNd1FkBHyMCpUw?}D}G31n4qa*e33Nj&1XzFVN=)1JT9LKy~dQ&)u;$%)tm=z zs*&W8%~9n*PLB9l*O5VTc{p@E6!|ze$E5C5-+nKa3O)7MfsI|;aT>4UbTjhWaI&P> z+nT0Mnx5oE90~8KrGE*sz=j@o)^k>^pPKE?+XKX?PN`N-ybh7YoI>}}b(ylbq+KTNLgPbiVeIMt>{ z4?_|o<2{4Y-&C%zg750(!>bEcBMD}pO-iqN527g~5s5owr0}Fc-G(M69KBJpDdiMe4+sC=Z4Xi(@blTl9mJ-)XDeRt| z(pt;Xa)bUVwQSAi+HRCL7en*PBkIAzhE8dV!vBo2UHsdq6FxOGz;|1F`6376dF}Y z!o$El26*s}HZN4`KG_F5Rs00FO7 z#KG2Yk0{n$79)cYI#*$2KL-wsw@ajJXz3P%g0SZ~Ke4*JA!8tRNwcX7rXHWOeFPN* zZl+323@S~G%Zg3@|FI6K5T3UR1_Vz>iuc*CZhu_cB#-K87{d~^L!1p5SNaMo?h|_L zj~L0{rrOeT9;MU2!OKBVWQ^b!L>^;=TtgIyW zxe^U2*tvxny8^rEJ>O|&8;m2@r|M<@VC($5=Zcz=*TCwI)-CKv1eBj!+5?f1F@cR1 zWPjGAm1;3enu{jD1cC=oLEx!?10#JSjdIWCO>=Ut?ZD_Y2;LnQ(>KjZhoobuUckXk zX2hQnNJF^1sh$J-U@@MKARa5xw3((-jK-(JlNm$=_}T+3@IRgq=~$!85}{Tv%qw+f zn8@+`?t#|2dC|rAkSFpvJY(`uU*x<6K!3umq&evXD|nB={e7rriO`~eKX6)f+G6=_ zN{C$M|E?M+&QuA@2m23`wlp8AINgJTap=~NPh5Lh8M4_#?^1Eo4OB%f=z|J z>ZV8%-Z{gBuE`@yk_|?T)^|9~VQAopiO~3Un=h>)>ler$w(7STA8c;lihrP2u&|F0 z(z%24d!T(V5(JP*i0vdbzr(HaJvcb!Q#>&+Tv8AMe(zFDDnm#!8rK~f5GFAc5uiR> zp1Yk#q)#_fB;Qv6_oog3ct_OgEtu1Hn$;Rk=8fd7l&TC4` zfvOwXRjoFOmbXb*LatVCus&08SNJ0|!?)2-WiG%w4jFwMy!_Vbuzx`Ro;4wCMH^f= zZdne>0)03vBe1rYwj!~SOXgImV-87E(MVxl+ z3LdL}1swn~y=utk(0|J`JJOV>)QV{3hUl2gWOn*RQtdwdVYIkFX7o$tXDAdcnco<^ zxy!XXy9+e5&woktOcqZSUJIHvTc$P)(*HIBh2i~}4hX*ULJfDc^xxbrw%_)@pMrCg z2gi)%O)j!E5OOWAtdJFWeQrIe%633Gw`sjLpbwtPzjB5!hJOd4K_#GtZFUN)ewxiU3nbUFnQ8>&n9;3whzdUqzbXuMfU#*A;PNU6=@VMFjvmvRs< z;I%O-c)IuA{wLU@aW9;Hwc1*+i8qX%K7v& z6>=dSoLr`R)u?qZ`?6vpbvMqR{TdrgjMxYC4)VhoAm5!`Ag|!4((yzmk7Op}K*1v* z(_4!2?IrP$$x4Fha5kS15@9@{{>WtL(J{`l$x3wVUMQl-b*X{*B@5`!xXEO#f@>t1 z1>kf%uYaq^6ifQa`ygJqh|m9Vx{41pv-O4%PEOpzp3Dz+I8&-z z3V$%w*VH{(tS`1+<8DEr^81(zS70U6WxVz30#lKSkQSKfJjoK53pKwz7=vbcD~!vZ zSV*k3rOTn#-X|o|F{+vBEZ{q1YSfe*oi}g;ju3&$yR5zuub(Q}G>;3ImFE~Q)GQKo z@O6F9GOaghxd|*ta8yQDQvl?1kEAp$!hhZT;a!cNExWImTzzW^&GZD5Y7yyKP7Y!;Q20sS(fq(AL zgH+r8LLzxirOmhW!y2iIV7$SJx}{Q|0|nR2_*WR0-V?K>gumJvFZhJLU>^g;taB-CzI1%ljuVG1nuClIdsD=^n2W}w1$VIpqbbgDDCt|S1qknlfoZ;LI zgueTN%AKKpvehI_u)O3U2r_ z>y0`(I;P7+VBs!J!~s+K zNrFzJQmRzt@;cDNW#PQ?3V(qD9Bu!*o2^f|$XXsVg4rHhu;EYlnibr)D&{r{){x`Zn)+ z3Tn|1D%Kz=B|~f^4yQYFH0WPkeyU|e93NT?s+U{M}Of0PBwpC815WIlkP|!`E~N9@Ydn?=T@8XDuEJWlS$`bh5j73O!VvqvrtIBl@n+fX zC?#O#AcrUs;V(v;h>ZT2+N=wn9BaQPa6F!kaJxR>AA`e{GM_8AZvtF}ggA_O-c8I} zE?FFAa5zUoAYy#ya5}D9Frsp~9w0Sc34||kdHor1{eZ3=^)>RV7$yseduAIiJ;x-ouS6vrnYK}bLH|uuW6jgMq^2Q@L0@w zcRY_pGQKK{0t)3~7mi1h$IbSJGZbi4Y68H(z<<*@uJ)yN!jyL_?zEB{TQ>Ig2j?eF ztr>!6JcW|A7S@wZbT16%Xo`S{`hTH|0w9=gF$Szy!7LdyPB6`9b#~<$tAtHiy}o{$ zZdhSrr8q|UJA}=UO+GJ#Jad6kwNCv}N0;j!^_x1Zfa>-?Ym5EP&p$9V6>HVHgU0T5 z{D0+yM!;g~b|JmCe2-RzcVS`ndxDC+!|8l9Cnsl|VP9Xau)OtYS&jj=eEe|2;rIUwRy(0|)n_Hq0?tiO@si~=&y;_R}2G_&&)O5SE^&{??`>)=J z1WP&X#nAYEegIcN0&y)zbZsv(UKVn2kwS={N*fbucD_V|X!<5j$12Wt#+#lFV{cDbHaa?xx__ZG zo!uczR=;0FF?Vhzu2fofa3$PTx|#k?SyVC2PNmXFYk#DsQ>bHU zk*o(SmMQMngd(MEkRF9H-t@z{*3;3?r0;=>%q8^kd|h-wWG3&@gE~Ql7ifuMC-+V3 zQALcm9V_U&EkhC3Il3)pe7GB^b9_Q`Ja*jLoFO{_et}GAvhN0d&(J^7f{-F+7L15H zPY(Ploc4_eKo!D78c8O|k;3Cat9klA?>)~gS zCrhO_sH9Tko#F|+X$|AuenPyoGUBSD14*-y+8r;RZB(0eZP-Jj1H{sZ&f@V=R$O>e z>LwbmKj}IO23l)ix_|k$yJTV_-=Ph7OYCk}13&wUlvj5veH)Hx?IdClYa-02B2mhxN-vPHdcTiti=Sh zht-M}zP&V}c(K$l1qIKwjc12hihXfv#=CdVfyvZsvq zrxvb?6h|-}+)L3CE-9O<^yY9L%~v4Ys^lR{uw(;zsnx^^AJiUS)92p!e?Lp6#@`G_PmlLmN4&A4}a7C&C`A7-u*!PT7MaH`!bmekTs|` zyCwmYpwiuLDQo9);Ce*0)J81d;CM&kR{k~?-XjNb{0ew18d;czLTX9@Gq^rPeX^3|^S(LO~YRI-T9MT;5)k^TR*y+u~b+-vSUFeL9 z`F}Ilu23pdXo}7Ba0`(;&&;E|B}4xbH#YA6c>k+lR)u;HL-E$(A1R29BJ{DAz0YfE z?TACBbEho>>~O%4dEZ@nfwz~MsHAm?_|4K>-bk49)NH$SZQ1cipnn{<)7fPVmEwfE$U)(_=T6ed(Hk*qYuS42 zp1>Vqtf3A8)XDF41QX#J(1~VYSx<*p)-r-#>u6zc)Z3P4amDfnv}g$@0TOQeV;L>t z^R2FLzMu~0h->+YK2X!dvPrXE zdcYmv)<5N@Y87tl8YDaT-S4I<^&aS<x(2@zi4t` zg~jg#N#eusW_>~F-+U@+3_>hq#DDpG*To<`C64PQ(pariV?Tt3Idp3l93%d(ephFm z)>KLfxXb}$K)#d`>(V#R_vnB!Oa99CX9|D_b_IPQ57rZ#v_(i=f>pxj5Rm^kO6qxyEi@TSsekTe z^tUR)5XV0J9o=ZWn)xLeSO?*W!J6GAY4qxbrNP7XaITFmUAtH4?vUGj#%iPv~*d>B^Jw^1^EK94Gk1jwK{X*MntRvlG%h; zdREhQ(u{pK!hbPalrH|=vysd>frf)E0#fzo>jxFJdIP$i*)l;c$Yr4z@`|28@3;Jb zTB8Zyl~yu}2KE(?rxOKQZ-oq}4E_uczk+AZj5b!+jn5gl#L1{kUQZj4i)~KS+LdwT{1D5O?bzi*QTx)Q?0A8d)ZpjD`|Pcv4l?+ zSNfGgoqs2}8!VpvE0NV*aB^!rr18eAK&{&&2AksXMJe3kDxu5O>bGSZWv}<@inoup z#JSwBvm!ZpV$ez-9_b7ZGaa_~WzA;mFlM&hbJo0`(sA6cWzCk0qLoH2sgqY?pz1A` zoGv$y3{7PSh1)s9-_z07o3zg3YQ>vP+K?o zKHi*&f4TXX7M92cknRiN`a4;Bu*jeA-U7v0AYmvDri!o3ZB|O%u)M8pMA z<9|#Al)tN~zkiLn6mLyb=`6+lT`~4}+F63^=D{b-ZvDGgK${Lqk6_PD2?rm|p|j&R1V%6E2>GI){&%#ExzPK=8!;&n<^a#Bp!Fp5$OlNmI!|197K)S!6C5ez++&%mWT?X~1-%Lon}07- zp&+EwQ7WO~>H+&5o62)aeZGxojs5v@b**8VH6lzh^pU=An{B@+aZDV3mF8s)*B!DJE`97e2YWBl59z}<+*iFC^M_RjM~uLe0auQGZE?c7uQAB zZlnoe`bkPWg3@AP%P&g>P{V*{DK(bT`vIRJybnZ9h~UsiWWaw1wM^_ zg*Hxe8)S)sn%~w?SoR9owST{D5@23RBdS>^{Qj(k=1W=QeQbpG%S){-ysi^76%jYv z*5jEVZ4MBgg}R68>Isc)l&$u2f?FZ~`E3C;+Ym*dHr&jV1eJt(L1DO*J#O)=~( zf9+xQ=nKFi)})JYRjuJn$CVeU`@tDaMZm`N=T)%9LRI9d_kkdLH-AXv52)q6`i-)9~2H#^?3E~6t49EF?(L4-ixBv6(UM*d>UJ zuscq-ZxqdG$v;(eAIZ+>n{umndOq%AJ+yWd&0A=-M!tUK@x8;66h`=(Rq6Vg5ZiZE z(MT%&weZfh=5&TCDeRn<7VO82#wb;M)YI6{yXel+XIgiHI)4d2lLT4n5rdxsU{D&8 zAmvsj#ZGq$J-md9m zKqgmx)ZQLI$nz((Zeg)}U!()U22uOS965EXMuzpya(~CV@v=q-VytZc0^0&bwMF+& zaIUCN=M9x=2n_LiHyl@?dJ-+sPJJ*D+t! z=VLDGWq&dDHbP&&U!Wq-1V6d0mLybJ!fBe=~|2|57AVEQ$T9X0t>p4D{s*m~ZX~!Y$NXc9!e%bZ3IG%x- z91GbrHZ{Ez%#v8^jE5ipv)}%B18SYgrZ?5OD1Ur|4{PdNpD(p=u^tn0+0b~3s=Db? zO}pz7_A$TW;9DjavKk2=<4{q8QGdoPs)J>-+XDM^xsWech6!)VO6hgpT(HK$f+?Fi zXL=&Fn!*2%yT1ynLs`~_(Lf+Ta0u>B(BKZi-QC?85Zo=eyIb(!?(XjH?rsAa$RTU( zy??*8|8LIupNn&Kc=~G4qp7a0u72O@s;1$hyWTv4bf%HpbaY6_f4SGUTDrR8?f!P= z7U8YxIg=o~*YJtX%a1M&k8?O3z2eyUvFl*0VWU9jIZ%B$a&y$Wsc3SUcTk;$Cxmm%PmYLW3;9(72g@byW)FM_!{%uXg zf*BDnIZO4L=3yW@7s}Da79E~)++yfn!eQIlpu9yFaikC{pA@{cdoEdt>#)Umx5?Dg zQRZ_c1|1ts-jjBI)CdZ+*DQVav(VeX7Ir$NEkuHoYNpGK6SsPQjj;QMzuzz3a;)ZDY z#bTGcW9wAye2)oY~F#0lL{Y>x@pPQH(^#B@;mLmIKzXHhj@ifX4eAiwQ4l@eanc| zmbLrN7piQ@eW_T>J$h7cGVy)vz6B=N`7?Wa8|?mEsr?tGtbgNPv{h8`{<;T8NwH54 zz_S<QXK;2(;lNC!h1W7UvNCh7kf~NVm%~k7a>D@fA|Rh35k=*$?-SyOVj0W<=NX z1p&tF2zjuyhA2SH*cM+?s?)Ui48NmY372Z6(Ks57& z*HF6n&EW>1O@2QyUSfr$y_AGI2dP9=hOQu4>3JW`EyD_HTza?9Hx2S*#Y2ZRX;Fs}1gv zby+U@`Hu(efxnD+N9r4k6UvUmghhW86O662CPZd%$wDpO=n|7qYkGzW2OAB|4qeDX zoTesF#X?U${W!?ZVObK?7O2krxM*^^gEbOov_7J=SXKX>4?FHg&yUpVvuih(RK z@Pk(0X z^<~D68|7;juGH>3_?t;?D5lpHh40>14~%yLz1&SJ{e8TaQ`K$ED7~0yd%B(t_|yiu z6T26$>pAeM{wdz@?b_qsOFlB*D2ikEg^WO2HAr7e!Ok>*?fH(Y@6(l8aQ;ZrjGfn1 zO*r4lQsDL(+eVI=SAR9e^)tCWwtsn5S_Q0~r^Pbq#YTggt629GUHw4}z&2f)Mn0@V zI5{ymY@`Mg#aGLK0Cvl`5s_A295_|U?^*vaxKd7a^h!bEU2z9`5JL>m1i;eaM+16Q5BbYw&()gqHlJ;=1Q-3Cl+zfu9 zHR8?VNk1x!nlIB-SGnKSMP;i>nBe85gQ?n%kA}MvfyXJ{>vn-=Wue6`S>YHDCb;12e+D6b8H+c0|q!%&mHv;&7UE4t~t zZkZSE53Xs#79lkQD09w6XMdr`ny(mLDkLV`wS7PRZJ4Qq67pZtq7<-AT_|jU)wf@l z)?q11RbF;4e}4;6069R$zYLmC?=@$;XZ$kcM5qzW6O5y4*igMEmdSy7B~}+Ep*GK0 zo?jlkuAvnCwWRl`H*QEGop+3wMOTNC`0Zg&W5)avUc=FtUty8gY#2R%!5pcDe=o+o+&npIniSLKw3G1%#hO|ub9 z;+=1y6!3X*1LTvPln7S%H{B>Ux6Vbne0d!*gJ{HmpPG9~9{;JvaeONn`&v3d>)^Ef z=0jl24o8{qYpvg8W7+jn|>Cd?O3(_kr55DTs^ z2IgJ}jtjqbKicAy9W0+ZiYbKzm7=eHSWXL8f%t)3^U?E6cOhdf2seMvNIcD0R#T?a zh<};z55J3sK{jq|rjHUrrAB;QwdIRq$6*amyzwCPBk)p#uS>d_l>JV7Z$-QsJW<2D zyVadCI67!aaj&zDSSDPU+4kE)s(z3bH zY9yP67X_sWXPzB$R!x6*6BFE)mY(#QtWibKP*@%@J6AJ_8O#$hFVjvo!|fAvXh}4X z8<2M1Ol2HPxYcFg{oO0EPDK{vBY}TeDhM#THqU;$r#H6q zCQ|)&6|s;LUd~r01zH~^;WxT1$IvCfX0yuMS518Y*({sLEDyFoq1d?5ww`g@gyO}Z zr)HIwj!1Gf(KX#Te*H#i^Cd7|a=xk1w2MV}_|`M;hDBJQTvCJUF)}1XWk{o1I_DdH zw>0B8ncyl-`dWWbZ32yX&8c~fR~@6d-v{4qv0q2hjzt=N#WHxQS|@a5y^MzEjcCso z%MrrspOtFVnE}ZiYtsp8Vd9PMXj(Vit+3@biJ`5(Itm8ExM=MdZy=ly+v!60g8a40 zEEVLy9P&R6bogo*HkRm{$_tegYyEXytUufqr?g9;DOh) zjX-n9y_F?TG3}vP){)Fa08n6=P>W=;1o+)TsVP4{CV2X()O^Zc2&Z}W+uK>&?D`}E z#P?rHDA2bz1#quB1+Fq#lKVqn;DGqqZ6J9BQ!7&1mj)$9s^PfvwLIhy-P)-)j@U99 z(iQb3ja`3D{nIf56#Svg>VCC)`>0g2%Y4lzN?X^FEfN*w;!D_$T<)z&UVKO5dR&wi zSN2kB~Nqh!j^{l=RZomrn{v=M8o{(3n1G zOZ4u_=1~%#M^oUdY8zF{d7a;WE$*x*?pJ%7;FI9?3S(-eu2HpOMBK=Fez{Myh`pn! zk~V)et%?gEQN{mE#??aXzEE&kw|_2*uVN7W?(b%|^#Sz7ds$&dA|nuiC%8efPM88CspswsdN>#6SGgiSopZ#5 zUYCN8!pW_NkFjssmf&V$uVE)}z^wV8TJ}PQ`12hYsD*M}QNT*Ae9mQ{#|dGL2rN47_K5lGXeG1?5g`|7-i?3YNE5Bk6^S2x(VBnGkH4iqBeicaxxuWXF%~yf z7-Z`V;#Mc*>rr2iByP3%eJsfMyNBdD^R8ERWn{o_du8@VBckV9EFRCB>WckBb-_tp zIpE(?9>COwo{I5UB2-!srbeOjK6BBfPVPbU9*txN)f0XIM+YZ*E;xmFlaGImZZI=_ zjM7kxt}t$)iEnX--m9h+JbtQE*;BKP@X2BW!B>BO8L387flpJd5V3SQ+<(X)Df%d@ zW&hJto2@2TJFO3WY*}FA`;)kyuj$BE57meZFmUW?Y&N(}d*O7g;yHU|p-9@@)qsDj zyrOsQww7L)j&jmn|U_8=OuLNOONi-V2-0^5zj5 z%!PL)Dl@WKQO2M!%+$w$FX-ajzX1z$Ne-de#v}3{@$KkAPay$ctI*ZiEfcHJT{C%N zjI{|gM6ReZgEh(VzEqrOd2QtdENTS%v?Nh*RtIXy1SOX40GNXG!zmaWr&s zYIn{i+dtB3H3su!3{cAM3wqd)w2#0qwF}UYWFQ-IIUfs!aTtOOfqA<19x2t2NE@c^ z$b)h0k~Et2;TAQfFS_Y>wCdv;%$pbs+h^Q>eg}!6211QytD^d)qYJtWt{GXrH>nHH zOI}B_jZCLX?a6;zET%&zU}J};Po3H?N2&wu$ch@p2hP~B13BN9EaM!JtG?Ixmvf%S zr!z|Cg4{)!Jevz%QmMWkO@H&DpANNAdfF%gYmLpUOEZy-x$pb*@DQmA42D8#tz;qNcg$y|tX_*hHZI5-jPB61^-wXrcMf*;CruL)tSSoHnBfUm z_cy6gtdJ~zV4k<1N+5xd(a+vEkGS;aCDz;$B_FDsI4gOQM3w4>A|n<{`7#gowY75i zmo{q>X|49yngE_6$4x}_RkUHE)f$e=;6pS;R&9E>A$_~h z#t)}WluRk=45k9(?JiL@h{%?3s}+jHf}ImYzHQ!vDXmORq3Sp&zU$zKZ?sTE#Ai-G znHN7uY^-8$)CvOAY#~@=iA=9EmZx|M)h~arNXQ9fBp^}r8SRiXC~VYOqbI5nPYOV*%qvG9zI=qFLUVUN~%# z?Kmu{L0eE)y}=npZ)?saYaGi#SII_e$vm{I1SU(fu8ud=`(sc1SkPKu!4ctFvOIql zLrvG8ADKfa#1gy*5~x&i1{P(+P_xrmEF~Dlx2e21oP2Z{z54}<)O)MgpW$S6*te2& z#mG5sudbBi$at^R)(7EgSo^D&PeotA-?-8_+|lv4ynY(Rb`!RnKE{YLBnJf7YSvrl z>QYGWp2V`UzB-qz22)U*ItM_j|lHJvE*{oRWB^=$v*0 zl3tpku|>3TUp@sv$%UoiETR?UPkd(B`~8A9W_Gp;sJ)GHJbs|M5())8vCV7o;+|`? zR;(ay^X^;a8Y|9IYa*v$R*8Qvu+PoUd1BTS_U-r3q-k&_Nm;ya$Zcw7@{|u#Yh~X# zWn@N_G@|DH%)VcjdNs)h+Wev)gE+9e4+s9K?DC}fZsED;5)7=wU zONnzjkcg1ET>RADsg6V8{qPBERz)e)iHwCL&O@zp3dEjv#{c?(^vZuIfS+6a*EwXZ zvT{*eW=h}dgsaVE8EbPTG5(}E&C{TNNVyPI12Q$@)lB=W*nUuRH#xh56TuA|puXy2 zk|54VF)WxiWj>f%mJryIMawm$_HCj%JV26!u)UwLOOF!Nf!zjHhfhZRjg~9`+;zG$ z=QFajLTqe8^vUlD((!-N+Z}NkGRqa6L5^USkoBl}owe>^R9EQML=GJ_o)^|C@}|yk zq0Nr>KMh0DXV9xN-#`s|uzz;J0U^BDinG=QFUFcjG%|zp;+2UaKHHle=Q}EeYHII> z)Q)Fxjda|<=G{juki=}bH_@5%PCo(qjjI+e?{7NtEIVQ9>EnN-EYF@8_HQPXobG=| z@f95YHrpwmb<259+w;B&&`yf&OAYT^8;Q8#rjn`QwXLVur&zG=7-^!rx(e$P(_bJn z1u{HFiL(Ono^GP8ERd_nX0W%geaB-wY2ooR*EilZQ6l@@Bk7KJBFP>Ct0=|FaZBCI zJLUPb%vD79xLtn;J>JXXS-Zw0n$=*>mg9ihGx)x?&0W^?zRGwB;eC!gh(iVF$eN60 z$dNE&{k70DUYU^S^yb_|2PwVGk~<&j{bAs1@o8FeLAl7m5(_xXRfMJlBK@o99({_Cl25}Rg4DIw2 z!~}USV82ewcqeDV)E&_5U&Vl|5WB?6tc$vB>LYtw%ZyTDbS8UhzgSJ=f`I3uI@~J{ zA@u!=w|?ONI}KU`!bm~rk?_AV#(&i!{|Ttf{;t0BP>yBr)S!?Gn=3Hm5&kL#dmzbn zNdtf2BTJ`;_VJN~*af5pPb~{e!pw5R33-HuZ*A0a2)Ex5Jzhd6K>uBF1GVfgwx^8>UN3%GG> zYw7*oxXqQlec4Fmr$39V8tbFw47a7zpJ7M8tzp#pQ~8fp#lDwwJzd(}7nEwP#1ubq zs(pI5yo`TgCT#uI3K0I( zh)Pg^b#Pv(P@JP^6VrMm1hO z)n4^tdm<`hXyKH=(ggCaEP)3uX>s^1o&IGbed6sDtC}iI`LYWmgey~5EkrFQ8dDcc9f!S&x zLW~f~Nx;l*h9KamS__XA*OPfqd{F$%Sgn1F=~-W^1ZNC8|3SA$OnC-Bw4f4hqS<9C zpoe^vq;HArue@g*G)cs(%y}zbW(67P;?I5E2=4Y6 zS>iF6G9=aHq$OD?jwFAD4TO05?JrOQuj&H1eT()f{G5N&0+sUXc5T0~iLbO#%<@Cx zXx7FwO=FFsDOsbtE2<`Z%w>2+TZ&g2JHy`F&R0fn(X+0NeY%9U>`lKOToT3FxX7*a`NO}@CrQAEr=V|GP{e;CS>5fhg*(kQ6oKL* zw+4%1i@yxY&-mS(N67zs5PjY)C(w$m1uE?_UtIkS8~5)sgYHjAlnfButK5StJ*vk1 zVMuuUIOC|;DmfCq%3q1u`yK2AcZNbJGe%iUo?sC3Ww2f$YAEpzO)VQNPIn|q1=HJ6 zl%^=4wFJS*q|<-Vl{lI(W;MBXAQkE#-P~h4Dhi(x9U=avOw7j~qF024g-3I#2wPLk z;MXYF{?@t4s>9qoU`)GWxx9+xkChLS5Mp$F12Ur^b8@hZ9RK`^A^#|br(6GgX;`&9 zQuAX3@dxBzd&g;s?;d$GLbCcN2;$Jpfu!J{p4?*^4(flB0xMpSF^~SZykD~@(P25x z!BEE4U%e&V5)+JB54LJ(H`N+<6Tnb(NaW&39j+k@N1#LHH`K}w7v@#R?!x5-@= z$kJ7F(CB|yvJw)@xVtvSK*{D%cGr2Vt_?@0rQuv*Bzz@7koX(-Pw5Ilr_(Bi;Zj`= zTN<%@{c~Da2uGjbs1%oO$Jl*qd^tE=>Hhx8U~PAK$$62BH+Tj(_zU+>;U8*rn8^>H zsHZ&BeM)!4s)t5GRU_>|VRmi0UM(oFzb=8xPw{`jF+C1(6kRWL8R_T)9ZKBTAdkPR zurt)Bq5(=*X)ktfL{Ql%S)v@fn7Bt}7oHgWuf4ql2^bawU45Y|$<$*Dri(Zi$lizj zjOOd?$M-q0Ld3JxX_>i-sE1hLcgKzis@Lk%#){Lj62|J&iq9iegpEZZK!N|2jGM$@ z$XS1V^-7F6eFcK2(kz;avi0nDG=WZdy6L za|-x1iSWXe(aG^b;vpelkdd?9(q0#IXIs^oiq*0OkZ)xiHaGc~n=COLPp0$5o@Sh5 zGc#pGqws3JKtez);=aREzL@CFj)!xlaxH%j$t<-GzT4lw({+b{#0R>w@eiG1L1$# zbOU_`hkc;QM24iFb;sHf%mVr=h&}-xHuvf7xJWUz;|Gy+8gE9k!?BXlKxx%-H2{a_ zZj@)Cy#~HevK2z1+`7NPd0W zhX>ox${U;fN~gt7e{DqXjV$7OjO>3DCHP_4%hQw=x&uWdfh-mlmc)0~k2NWfM}QnGAw3 zGj`lC6tdHc743HBy53{y;w35-_37iD_v@01j`peZHb)pS3`P^B@wl9CSWcj3Z zz3=hHbSu9rH(`So2qevQWF%w?%G`mA!g7nOEfJM}2UXtfm(rIQqtLKKIk((Oo@l8# zHh-l=6fxFHza}^`G>4B|CeQu6dBmz_jqxh#C6p;elp9n!%%14kRI?`J_jLECrfsH_ z!~SqHTd?>=3f(ws+wCdZ>ZE^R-E%>q)?y61`E4tx$gshB)_e2&)6N7R?MgW8Jpzu1 zg7?&R-|eaWMA4Y1O-n@k^OI$rM>4I5Nb3W!l32NSsC`1 zYT}gBGwarvR2FlAl7(_*mOD_=&$vRFsY?tUxtEOrtnGlR=+Qf_i>9E+qf)`oOP)m= zq*zn@&rIL`RXj*!**yD}`r$8K{s-uIY;a*Z8Jr=&T6@O!BJ45^_{Wd5iKr$kX9*z# zwQ5$(Hp{aG5~S{es(OEXW>si0NE^n|i*r-7J5{1Ii89URI}6JPd@EfcInL5ERqYM*5prd*Q0+SBlD4x`j20=3lAc| z!{;Ney9VWDMTtb@%thDlSqPJd;XatL*oT zHuO0vG+fD&#d5ZC(JuV;Qjm<)-QB$efWrpJ8G96PW(Jvq?47JQfa!^>{bm#DV+7Td ztxp|qztP+sbsK;9qSI&?A$PrHvV;|@6bZ=kJ?2?p>o$MTWo%0wgmk=!05lp{olMnr zTfBINdgBWh1C5AGJ;DY76|Y3&?B2&$14V9DrBBbp>igL=;U|Vd+Xw<*@?bdjHtBM-U< zS-FIBM#(tF*=!-w2t@?Bkjzk>yJe*gP_les)WyTXqHOGBi5ChVgln&VW#Pr@KyKluI9YA{FDoGlD{yx870XB2Th5;TduCC zZidV5A_qX}0`j5TF)=YI*I#+jC7qhP6J^e6oUYb|S>rGVo77|kE?V85u4}7%n5}3( z%4~n_{3+eO-DBI3Lx4S?RbM^p;+-!SaxU-i2XOXs?h<6y%Jo`Y%_bsop$z#T?C#9+ zI__-$rgzuGK=)=C;Gk)bdOakW6UEldSPX+YZ;@R}8|3X11vvpfZg_9{WIW45l95at*_jy_WDvAViy_7sj~G0i__AfP<{mgS;6(i_J2epcADUVnak zdYW#`@=}<`-JYQFoGnunohu)FogvN%jjDleLDA#@srs9RaNO+2K)2?qHO>iGF%Ey5 zQPX+YELQrWEOPGHpj)$OMpfy08Yj4({%#RDHKskFNEwk#q*I>9(!fF9OR5UGtIQUx zBPJWP1XX`oR!7nW3^}1sxzd0v(u6;o=D~73Le~srxk)Ugb3ZN`7B@@%c!ZEWePDK% z?if5JgVn6ALjJq8{})#I>`Oe6t}}mzH4%IE{D`4D8Ii%M&f6~zQ|EW;4LU21EJgI( z1hW{4dk#qm$aUG7QxylY#8RMt@je8pSE9+9Ap2z*^DE!vqPrs?4+^)U!-oH2aMv=#C}_;S5JjyE(KXWVnBYQ!jgv2KpzmUO)Nbt&)|Qej?v)y#cS1d z)jt?BdsL8iIB?NE6I#~Zaw8N;EVIGoQmH&&XA}mTG|?ZKU(r;Su4zB+-)=LAR00er zn=MxkTW0uJg^w(2?g?>e6w$+RqRm)B)}!5PzvZa;_WERDq3+SKv5Ns=SI%f_)Ig_g zb^PleRPzDi6q&LIJdb}#ygLyXgo^StN1)QUjh#kp-tH4fI;@eZ`&eb%2>)&?h&7JP z#ME@9?w6R9l+seSMt>dk0ojX0L6u1bk^0oM?&I}dS+B8Y)^^<4#DIGd(Tk+}Sn;j` zsA@r`I>)%0SIudWM9E_$Y^P&tTM}0E?@-*2GH5M~?c2JaK`(zlzuS_2ux)04Rr(?I zch)WfE_}`bSOxpX_5Wi6Vjs3^W1#2!%LR zy;pMh{Mg%FTm)#jKg|`*!sUlgt@Zsq!%KT}p&)RjMoX6o|kYQ$Lcyu%`e?%q4+Ft4R z!RBvk^QH6Qi>dB>$s-U9D$UX~5K~;FE_m^OII8cq?1ycKt2eAI=>N5j-;vqvZZREC z=c6d^=O?b_ z40T@jNLhE=fxNLu5Al2&Rkt%C+<&|gkI%>`drIN)BwkzYXmHKy%ex(^7?>JWzmbaC z-z{QdzV)S$YT%%nwf~{iFl*(!buaesTH8sk3ub?G>Jh{=fiM39Grn+vldaoxl92dC z;_^tKQ7irO@$oT$!i0kO-!>t<*(I8p?FmAh{*AbivuMGaI=!S(HJp5_x!X$75Lo4@0YA*0&f?r;k#P%R@dc#ZG!ibl67 zkSdX0Hj0N)Dr8$F!DVm6#=G`Z7P!`8%JyWxEQQh%rD@ZY!s%>fYF_QMCXza;K0hE! zIw`HqHI4VtTAr1JI5-OAN=*CYjHO(rk@A0OeL3lPp~TRf0`}+#>$Z1hVy1;eS05)v zu1>mokPin$8)5KCU0uCk0JPQ!Q|r-Zv0Up)jmP7ZzV33zA=yFPALX*;I6OG|3xw|x zi|_h_lEr-0XTEGBFY@Me$$mCl8>iWDllC2MLJm23ZzaSy{G2E<1l2n%{92(=Hu8VI zzFDnygvyfDcH7M+GBPP5rYG^j<_kfm)940L;xiutHGf+kAQTe}8NJ=sRG5PzwTq+N z&#}e!MuJKJVd(VlbVr(ujg9SiE|=QzVt%OlqG-l+`m_mlb|lapYD0$B#;l+ot>5j< z*N+)ELU1^H#5CKiY>#a>L3sVcS@nPH^o{}t7Q~|vA^l3BK4W70&iZQ%60~WTW~NSs zBmPg=r5!@TWB+#cXy#~LzvmESyAw*kXYj))&I=SFLrVI^kEDy}e*xIfV94H<^WnzX zkG9Qa-UJq_zj@&gj6;-57E+v=Y-iAqr^;&PSn28MQ=e93C6W{2M^sDYu_k{t^0lqZ zs|**c>zX|ete4wND>QVP+-P~Odw*EWRddu?u1LU?YT!J2U8i7}-z1(nyiIoP9$bjN zbHlXQ*w{Pe*=jHE>gW9x0(p-$c8flPLy{=OLcgHM-)?EFHn~s)o`I<>0HGHUFvq4H zl+yn21XXt?ie5nR0;J%1-b8=0m?g}_cRR(Bkd$m#PO7Lt%r7XIs>Q0I*&`kuehj;> zZ`(OrY=@sS7$+VN{az9EtMfziP2{UYrT5{hdy$6J7l0A6``}BIqBi=yuol7F$;Is! zMb=50I&BB2%Zw}$v9&Aw7|{TGfW z9tFJQ=ZQ>c+Bm{Lg;#$Vz+vfTQRM%5(Tat5(>4OAY1ERzWP`tUz!`NxEW;H|uHl zuS`QSW>r zq%O5hvtoSWC)|I2;uwzDl0u(UQ#6sF!~k8JR6S!Ui@_^q5A+PyOkqqcS?D68(^&%~ zvQtjzavgK-{a6}XwL_mo3cJbg#$%g@%dNeE!>MpH>kWMWv)!RsiA@`DoGIKBw_7Y4 zN2TZrmHgJPsg(NQLkS)JwN`-}VPTWwc8IarN_vLe>q`C!x;vX|_r1zw2z zK#2XTwbOuk)5>JM9S~&v-mMPDVUe&oS|N4^p3Q`Zh2sa)sn<)ryLGDj^Npli^BIY? z+)6uTGltMZYr%`N5A? zY6_q0?eb}6&xoiCEb=7^_*6{CGx+Eg3uTjDpb#aJC$sN%8$wN5zA%@lmZ_6y&Uw>% zueX1?q415-Q0vtG&fHB(;BuZtt?=@kF-baK8)NSe$JA#TF-0K+`=915@gec^nj3ul zZ+T+Lvs3~NH$Al~!xzeAZifA+sWD1h1km#%>{7j9l2)73n&$RxNStY&LDSnQ)pVgG zfaHGRD$Y)nmUh~7$VM|zYSaErtG4a_RG5DlZKy05pEgvQTQn`L!753gq(5!WW_EaI ze@wH#rCFrzGr2uizRYECxTO&TNzXEa9^}ta{mN#$z2>SxA9h%x#ljcI)&8munMDYP z(y(k+lCIZ#zB=8Mk(&kP3h4 zEu0=Nr%=N)pid?B5*#{tFKC0MM~gS5P(o^M}s0!>Tx*`{0EMejDO>Gbaegki=8%awDhTUBK37vo&! zGgSv-%061Rf7`BkMfiEa?Dt<5CDwoGjdHoLeVgidLaG=Dcl~m|QIe$N#51II!k@n0 z;N209$)nNibV^xe&=>noeZ@DxK0<7tDz*)8v^rYenU+vyEH@-+w>V3xq6Hs}rGL#< zehz3{t&t_Tn=YZKvz-0bZ9BpWFslFDi|qZtUvPMn+2)>ac`!~csJA#6<2HY?A~lx! zd$0QJeNI?JZ9hW?K7#IMR!}L1>6f8`$JbgMrs75gMVKd|dE1cVF5W@Nyx<3dygla= zryw{2x@=~5Qp-ddH{vI$$Sm&1b6_vI^zLm66Qjwq%UG)z)zwa4T-OUovP~o+uYEZy zPb#L{8^7q31t$8#e>b0q58QvrB}z7W{+&m0qLP<-T~;Tjx_M%mLafCN%vS73Doz)# ze%=xmW5vQAZ=Q07-uml@-j~VGdj| zD~pB5!Zo2=NvDS!xI(Cco7vpv&p&1s?!2uML+6f%_wT5~zgczg7^Q#p01cKx=g2=| zrOZOt!V_3*9NNTF;x}!AcM76;kcftwZJ@1Kx?4A}2x2WwWD5j*F_J$R%2;#xx$^l0 z*3>z0UKJ-!>sYnT;ELwu3}tvRtFssa?8$p91Z*{c&orJL-d(KPVKh6$v?nt9@rJKc ze=uijv{E03F&GWBCTBkWCidSx>6sNQD~r}^%XX`t+X(Mq_{zFFp1a9z2#CkEd$luA zpQ$|=Ze~PzFz;x)(;EY%qPstt8!7E@dTAbNrc`fj>@0*+pQ(Q-kYVX&{ydt@BKfjQ zC7z;?Pbz%9o9a8s-yH};(qZYu1P&;aNKvpMlhPO3L>3GbyR(=ZAX@keH{>o03Ixz(9S3Mpg ziF8`eNxZv8I)-A+DX*- z8eS`HbZA97hP|My@01{w&MX+60ov>m#NxI1`6QMVm(Ee0OvO=SI@JQHiWwF-V>*t_ zu%fQHRAVx2wR!~31y##r{DiB?VDzD5&Knk;R#o~2$F+YTE^z^{DA6}8SdDLz%k~gS@37q|n33)bgg|`(thQ?NWQV0OmOsI6 zJ-zQ6nHAVFf$I~t3V5h5gM}~Yzv8%gr#FZmB7U~#%cMvN6!X>9_&~9e*ZJcO1T&zL zNfyBEYvF%kAhB94Qw=ctVejXhMz&A?qKvy3T9%U!P1qF*0j2xj=bpV^D86ABkd1wEm*11_F# zamS4M)>MVWFY>^`wtREUZiid=;yzKGTede}p0qG@0d%T@vYU z5dx;qDiKeaYKtTxd&p|;)XSyI3B54GoYquq!YkN1p21W&^sArFS1p5EoslVp`1D(~ znTlOA^V^z%vqVi40}}^hPMOaDu8_GK0dKaCWfb*D|+n2$l36rC(V!*8Iub)+D zM0I}~(BWXdr9nTox>LfWjb;@)e-!zq z%y6{9e@88oK$k==Ksvh{ZXjajWYr*3R&0NgBeW>9=}~7q^QqeIj#CltV63K4Hky2F z#r)Hm*`vsTZx?A`^0&!C`8EwnBDdYi_JSq@;m?>`PPdD?cMY8% zeLqCN5N8O78j0^Fgx0v!_n#Jb3_=HfYvqSrgSSj{F+*1$XDL>WE#(M1#7m});OT#N zt&zjY4z#)HwH4%40UPZd1O@jziIAurqVI(j0%saO9_zy^F5l%DdedYEmZAIy2PJs-?Umobmy?}TmLuk&0PO%6N0y}`Fz0IzlP z9=2hie931QTCPuwQ3FK@L1>M!9nTFL;eY{twAztGI@&R8Hr5h`Tj?~m5%Pb#lJz>% zsNNZvkD>@TCX8s;=u}2R2bielrJ~;e8>-NBX+Z z7>v`dKWH50GfQ?3{rVlc_);l% zt+oYCjbp^6ZI`jI=tzJ5%jb3ocj}tR2>w`abu4jEnqrMxg9sk9u+EvsKni6zB9bv; z2!TFjy7Z}V(7ekE1bp(yw-taMLFA71)K&p-6DpW4P@h(Ie%;IYJk@BY*1`+9l>R} zrmxIuVs|r@a{eGT;@NzIbBC3R5B5=8{jJW_RMO4VyBb$0lM*+m$EiOWlPj8^_j$fh zCW{r&#rg3klSe+X@LauNgqw!VV&jxcZP#0qzl>g^BBXz{kmlX5{ycxAQUY!lJsRfj z_6hVKbM@w(IB)#i9S)Dxqp3`yH7NMS7wfcbXXQoVSZw2GDqi8pf-;ABA>-U9tJeOI z|HEVcP#H`xqb?l|@7W{6i%92#4&73FFNdB#%;n41*x~pP5>MK=l_-R}k|Xr$Z1-au z2Ixs(J-&a7c8LU9Q4!+j8Qrn1PT$ynO&#I`_<6qQLzS<9$9OURlnQ!{=l%8mkl`t> zg>nU50<}u~4%J}dOt{%<0rXZ=l7_{mipYaBNm{e=N`3zXRtm8rizKIcENMX#vBin6 z)v>(cfCOS)|Mx^@a?#OeUd0yWF!X7~B#dbov?+fl@G_8q& zqA2t}VFaC!gBdRI%bK&9S7HA50jLfBI&Z(sB^E>bd^tsei26z6Zj0X;G>%s@&ZOJQ zrAB|i+p65x!(>7&>JN>-+GE#hTX=>@)uiS_bGF$`>ul5FV1wSP z7wbO`tN&;aq~N*%?0C^mm;(af<emKuEYHF@Gi5|3QBP=^y&cvuX^b{}Ye>-;Ds}7yFsuk5Z9; z5{z`y9{fw8=XfN`-_7yg%|py*yB4vl3j3b~i}sm-kxK`1aLtqclVB*9L|~yaybuEx z|9`JE!eGRcKRWaACW{{Fa7uq62Sa(-g<$o(rv35pF9y~l=^Qo3`P}}GGNL?aK_q{3 zyflf~bCGT?Kz|dQt~f&m20^srg00J6?Je4m{6B}iL_^ivzg2C$;c)oJaTVTG>HYP3 zmF}N3>CyM6S07iFAjLmO=}Rx{vwfRHJaHEL59`vYD)rv${~N)0Q`ldQ=cv1SGF)Dt zo4ES8Y3;A3$vC{W{aamc`ezuk?E8QCFz5!C?@l}&Q;AST zaM6(homQQ=M>HZf@a{MTpzr?i={6=pqvOH{>>5a`@y2}xDpsyGz0iMI>9<(;O(cm< zQwg(+N-oW4P*dg;h7t7ote8lrYfX(tqxMbxX2m8;D7l_hp~%CvhJdwPn|h|U;~g#~ zr~sCe=duhzDtzGAH$9?JyA>U8K!;$RvYT2I)xY;md}Ny^+YYPjwxr(e9)E&6lE3A$ z^USuoe~ucM#?VTlizj~&2S6a;s^y4=kuTL4$3>*EaZw-ZWBHpxx1V`E_8CzaYMPO} zb8(Sfoigx~fG`Z{3}q^hhDkdhSXHa@+iShBJMb*786HRC92_!FD&TXq%aOtg=d8^} zQ5o|P3%?abCnw(Nbn@OHYeQ6I z>K^y&f-WG;WIToBw_>FlL(Q3Hs`j}I#OE(!+r5#rbG0^lW`Kd^_PPF8;}N*9ZZZk6 zd!052teNrcn9qOJci1e9ppm7g3Ue&R9KoYCh;bn^njTIQX>Vy!|A8u<#vkIWR;yH^ zk@yXs9WFFo&aW9CO3Q(#T!*uqLmg2OFMs6_vXCwvH4z77p7YVsLQqJ5Xr11^z|f|# z0yGLwPBFR-u~kryGU8ttMBqa5fLN7iA!tkm-0ncB^NoKF8{M^8&xgxwbtmx^i-oG( zcv@`@jUpG1<6CnqZmZ;8&=G~NG}Lj=HFyr-hFm(Fo!jKuMLdzYh*TzCjML1?_N~j0 ztiZY?T*KO5Zsn6@ntr!`Oc&Kp!Su2U0b2>QZR8T=*34f5c8b~vAUGqP21T%EXSBYN z5<+;*2tI#Ag2c#FW&FFgzMeJrdkFQTKLNB0zfUX%uEJwZB6@4}XDh~|gE9LrG-w4$ z=KGFJXybmr=Y~p`Y9cycPa19Ot*jL%!`|qA+W?(6JSp@Y;h-%+E^Rh%URVrnwGPVG z{}o3}vASa*5z(uojb_=<7(gNtfGE-|Nd!DDJcEC4GnH}?icm}$!fj>wAHDjC99FrG z-f~IAi!oZs+1xB&@qz4Oh=t>k1)tc_udYBAEI7j*Z|$+x87qee6zwZ#r)%DFfd~W? z`aOX$wz;1;${M!sS=_kkft7SdgGjMd#*9PByk&VZ39CJv8!jKas$EZHs;&B{X0(3G z5$%61cAdF((MH=azs=R@d!Kq18O|~tuDQd<7cuQ03$Hvg>W?B#gxYfa)hWRO!CS=c zDFWH}zE4IV&=|G*81KviKYVtFQT095UzG8m3#xe#uW67k(0hFzS8-QE7wkL5QY?TL z0zmW{xTq6wxXlL7s5!}k?j%c8`c*kSn;n0u-#WpTssU-pg+$|@7Qz>xk5k~c7I`cVQ}%{fMz}O)e;2sGX*XyAxV~W#L0k|hjlOKWz25V?tE>bt_qe|V z!W)FlR5JPoXJ|p%O9`<%_QPRu{`fUSDvAI_K)SzYRFhPuCXaBE99?uyQ?A`X2V(h% z+s$r&B^>RUspwgq@#syG%PFxt7|W$fN3z_Y>Wlxg)$_ST!0lkY4Kk6Cr`f?)^Gkyb z$*=Z$jNc3*Z}AMCrxkJ4fC1~3^7oS=kTm#B#;5_E*W*EqY0oq{?5i3&(|*fDV%@7@ zR>Q@r<#PMm<{Biq^Gb^+sQk#iH<-^wV{dwYuLQr}6iuscAMvKT<@2_q<(m~PFyVlY z`JLe~x6@0YQUiSRBkxNYy6n@_i9@K@`fDKtzze_^YCl!+jq zFW1~t5B>{p56c?1t%k~&ckHp^zRjyT6#cq}d^1hsZ&g1C>r-o{txLjUZi6x#POuj4XExI#|lE3<^ z4lH7YItIxabsSuBoat#auG1VWHl_tJyfy3Qg9nK2=)gT>UJQF9P)8D%o))g+s*RQ; z+6e0uoA2>S-%ruFQ+1}tPM#%W)kN=xabgGJP#s$v|`UFlek$)P^=ABmg{>8nlh!vV zcg|)OUDe?;X#x41P@&aiP@Uu*inE|$m5JIPRnc(wX6dhO1j#4QaOc15LMj>C`+Ue( zL2Q*Ek-$A$f%-Pv?KU`Ldxr4C<(Bc(Y7_Yi4hA}*QV%*LE3t}4Mao8h*DZsv@U4kO zQ1`<-&;=%qM-xS8j9A6>jd&#?0MgvqRnSZHA_kL*%1j?u?rSsRkk*r`aRYYa6=VNHpA3Jv`1L!m2spKF080UX_(`hNWr>(gKb?TC* zaix78gu$zBE~_rjw2c{mt%mEeKZ+G5lP+kryV<8*s&*`dvR$5YlFj7I&Ac5U-9|*t zv&gq&wAoTHj8Mqc5LT}PBHkrNX^U!QNbN@0?Ji0y?j%09>WMz6r0 zwT>0jr$wsS=HzF!-rS>wS*p^M4p>zI-CyuUuel>84;Z#BMzhOwJJS5B;V4 zF({I;f~(GkENBjByhf0AYp`P2_9H?00CLcr#n`=n13Db%OhjcR$-~u7OaSc#@8e$m z#Ucrp^99p0W1b{`AQElBZhRfo&k(wEbiGGyaS$uuYOFHyJJ>{VFi*G1tqoAKXoGy~ zUS;d2!Md+=7L_NCQUtFguj%RR+8Kq5AwK?Q&wp0E4HId*+H_gv9cP8N1^ZVRd=%nU zk>1n1XHdhssN3NxM;H=_I%qBOeKR2HT5c>dP!HY~yZgs~f%RHm5HBHPE{&Iw;1}&| z@bmpL&3xgRf^ABfpjj)$_$*$_#M{}B5Bk0g(q%MyV_;zD+p4j>A!AM?C2!0$)X_!Z zEBnYu_FM1~YAs%Er1I1eTY|4QZ|Q|tV+0g@X$3qli0I^XN{torWvO33@?&{TuOnl2 zqNB1IoPM2u#ld04fvyBU$)lPz>=vhvmW~J^S%Y~n?4iIx*KF7jTmtlbgeIMQxzk6UW#bB_;#tFw=VodAOZgmju zn-xS6isBFcJ>Gi+%y1hzbq%xnW-_L2#GA%c5I%K(5$JrTw>La@lIOLfYZdn~2iM=! zw90Jg^UjJ@2f{oiN#N~`!el-D#hj%Fh4E0l%sbl6-_U$B9%-&wvp=986sqI!P57A1 z4=3V-n5b#He_{WW!a?C`XUewCe6B~SSyh0`99J+tJ>f>GUS*UhJ-Sh4A0?H- zD|-Ha8z7E2cG_Ml;B~6T5Wx;8bHCco*MYz#LINS%W6;Fp!xo%C7R>d3Tw3n5G7hg- zB$YHk*Y5CA{ESxd3pIDWJ~a72-q0(-ILt(1lpr^4=%v&)PbNhRn-yTVV#;JPmc&|? zdU)^Rsp)BilSHShO%e4nkqF5<)%cykd%mK7{(?XFiEQMBCQ50yKI)k2`2J{WN@d(D z-=-o4a zx$A>=^86PeS~D(I+e+Fq#sGW8O&qp5vS_tcWxSkQgw+)cTkFGfCB~=zFxO!w0-9d4 zl?Oi2pRb5L6ZtBLU=+mVe2xi*6NhTR*w>%}#+GSVOz9;u00*|nOTAM3 zdFt6;ra0KjrWdh!Eba-PcMPe3p^F%QLbv2Ritm+DwOmK}YTx&$WiIlCsaHqMr4y(5 z*XKDEJ(Qkj*PGOAq)wVA?P+6K+13Gj<{Jwr=~;k;{7Li5#t60GL?(J)tPpX zU$^^Udtg%v2IuREqeESb6!RHD`B_i8y3HO-8hr;JzJD07$kbXI6(gL~s1jm-DypLM zd}2nSdGH?atMl4D3=v62$Yy2w_~aC~kvN)Yp*);6p_B26_EwG4FqD|7R=p&$po}=+ zdZaplX?MZ4XV%L!Vr*pD!hRw1Wx5%l%Jce4ai+nR5OMqlTZQ1nIHut!7xmy=kEP<8 z#Vv>=^obsPX$bnl8l(HBi!bVbI0NF&=ycFGmdzPKy}>S9XOP-#*^e^fzOC8u+r`PO zjlRFRQNIi}pVt0(x*20(g?0x~Lh&3^%51?V=q-^(_iMIbP;BPfvgCqH*_kRYV6>4Eh^I}xlvJ*qM!_strAN&GK2km5w zI!c=HJ0HETgl|3K(n}7ViZH&t1Y`Ae_dmCn)NA)VC|7!IYDX?$I8PYaA52F6NGfvs zTVyta!`;^$b+35VOz&8^NKHkhBH4yUmM~B@i$k`9snDYmFaXKRE28WY^eqAakGCi} z|JweYX?^7LlTx_?z|eGmCQl!L80TToA)UEtE1*^Z44PAQc2!$CVn=9kHm9bDI*k>+ zDM)?c@!a=_69?1{nf`^xy_ALU;IZeFJzq_IOj`Ns$CxhxgRfF64}#`S7tYG$$)K&L z6%4%n<@Ev~a73S)537&qgn^V2Q)CI*yPQasH=e>KYf^*;N&ZNGt(@bZ@(tNI6rIkB z(OWW}*0P#yCSRNci@9WlD`kc(6eB6q^GPi8C#3Py?$CSzV1mW#Rb3=7&~-u5;1zcU5>>>I;TTMezFU0oQ5$`d8|rRf zsMB@VTRSYfy&!HdXxVI5O3MocR?~kfL0vB)(I(;Lr z^@gxJ%^~H&_=Ki`gLBBxvOZFDFRjX<$-;?iTHth|Ku?&B<2{%V* zHe4i6P@aB6T3@56p+JmWv*C*GkzSHC`gN$&>jNgqc@%+5q(y$ApgIO*crk@JN-2sB9=_L zxLcTik0hFR0ZzxrFfxl>zUKbZ;ANK|AdakCblFAR61^(d=d*hhvS3gujj<8ECf33{ zJ1(Rnjg8Vqe`qqHthze`>DD z-Lcs)#Hr{vI%p%L1!SZ;yq@b6C#^^ZC*>=DoE?5(-A*#@NE8mwvTY1j4^TSIYUHdT z3JCQZGpf`|YTJxY-RM-U%4lGJtlkat0%?sP{Da8%fcaI98u7+Ted$jx1!F4_07x2| zA0FQu11GHr?$6g$vmU}ske}VlIvHXGHw4ppT@HiQJ(PHgkdI~xfR`y_se63-3tuLG z-w@1M8NpF8=53yJ`!5qp7RKz<%w5>NMS2AA=zJ021Kpp$Q-G;V=LQ^dDKkWaYE@6p zhXXEzOZIwy^LQwm;M&1$-e0As0oK9$kgyP^+CTWgfee{}h*9z`b|iXR)!X-Pk@{L%-%l5I zV76;ZE-k#(9M|^1_<%GiGifh6IaVw?^pTz#Ich}qQfg;cDSs7G#QBrDr&&pVv>)hl zK>?6HHZ801cKT9qwh%C1+7|^6J);w_^AwD{Azi+wj_1si!&8EorKQ?kYwEbBj*toL zuH|x6Bi}^oJU~GGB9qCwB839o0t0c%+Z_mh)AikE@e!S5Wu2F>nb`W!-!Hhu`6A_j zQl2=)^n?$(1c{VLN<)9H$!;%ywJfs^fw$9U-R<_UZr=3{E`}}6O@QRvm2UAD@w>=S zW_)tk+jFNfSZN)=f`(}wo(d#jpmI^&xb#k^4l!oQxD`Y9Y~&7yU8^j%AQe`7(Zy9&{_LYFVy3;VwgJU@6l+q>6k@1UcmA0kdP+WW3BwEV;C074#q>2w-cWUjV#`($w+noSd zYeozMxBe(n#wKgU(Li_K2oGAJ_8n15q~+f6ogHwM4?na!?rC^`&JyKFM_{WB$rv+TL;bk2r(aE9vs0dt$pafl_J$&tkPDNS2j3RUhoNt zKERR$My2X$Ldv6mtWQEqR*JMh*TS|SQlr!8=(pAK^sIlVl3VB!=nh5BrAUT(p}8=z zY_j3;9zHX8zBCPrfUGtwQ>(GgrHxxOFfO|}JBUl=fYZlTzl6LwsE64d2l}?G)IYU) z9^fxEyhWES`*e}a)pXRxQ@z!wCjwu11MX}0d?V0K*sKzN-QEc_O&yjkTdRFIG4%$@ zOW{PS4P$>5o*E|00t{yh@X+QY>cu|`aeXDRafPBJy@gvZU!lzjwMecmva0Gyo<4K7 zNL`s$cRQ_sPOI69<*xyTDnv5JS%nh@mn67X)c2-pvOLudA`#5~T{oSjgWHoib;!Zv zYV#4Nq2w}uALIq6(`Ccs{qYoKszhq@Psv=SPD3%YHQ&=qmC7>nB-0eEH=0SJvbb5i zh7#|;eP;WuD#&WRY~m5DSTOSS@n$dHa>07=ybUUxOf;+jo)@N8wnh z2;@06YDHb=5CI)BXcP#*+jkkQ0M}w^Ek)kF*6C~fP@F_kv?i}F=;+Fe&-}e^sg-S=BvA7S84!^Sod!8)WC!YVWwqeW%roxvU z9m6c~PDEr%?VMoRlKN7LM0^$JotH17Cek>jiAjR!;S@cYW;h|=ar}D~wgksQ|(O`XxS(`GXAeB8oWi(&?#-Dgp z7%bbS9d4TZd3JD@$LZPsbh%BoZ<2kwN?X!=K5xAcGd75oq5UXMG!5p9vsuASulNj^ z-EJ@^mW3+fUMr};`5s}qk)PIg^K%tex5KTO{5x2FHSyLwyPFxJ(4V;)y@AMI=N7>5&w1OU@)@{L?*uNUv0JJAf8U?>&!NC{a4qn z6wnaUEA<<0g%nBF+|igZyy7pBH6Z*m3)@>;iO(9o*1}}vXpy9K^(a!Pf5f)?k4u{R7M!a75AFuGqH!u2* z>P{9U1MK#U)&k+LpYALP{GbofD5O$JlPa`e4tsVV{z2$x7+=EIyeyd(*VioX-RZp% zM(bJ1rB>sx)1?MkM$^&5?9*7|5u>Z=e7lQRPw_0)ve`0i&G%huF^tQ9YbPWUg+qZs zuMVh!$G_uS%~WP9O7S>ShLX3JdtEFRr&6mKMqfXO zn9>v`$(>K|yDK&wj!QtFEOLbY7O{W~!)(kO~O zikeHZKbRPqJ(@9o>+(Z?A$KqEdZA0ydH>=B`#)i245G~nrox3%O^Osoqv(r{Hyt~p3A&Pn z^1BbV8?P^n2DfHK%5BZz*sN0EPzW@hP;lRjGkHC!#xxsP4Q?TS&{BvboRxhay8NI_ zc>GWP@V-c^B_p{GFBBdPX7ilzv`akr47_cE;u_Rk<{&T&g)jA;d$>T<%NPdv?#gFmXq% zc6SyeMhzD0tMQ^hAT8R^K~a>$JdOG&BZ*$gB`&WPyLc8|#wp*A@AYP^j@v>Zq+YEq z*JErOVz-BXQ)BGXkguZPO~HS^C)#nrys2dfo^E6f=VIh&83;!OX5rDO;;j~I#U;K_ zn*{F<#|Rdfv)U`8#S!TojHf6X^o1JF_eG$J#!^U{kSqG*iJ;f*i6xOo0A$lS?fZ>z z5OFxB>rY!Q+L>~g(Z5h@sd1Vm-ppApgy)O;dOTWxCE}Mai@ZQkVQL~PfFe3Ek&vc) ziUzGsn)_&~c1lF@a2Pt%X$t zB;cQa6~ylTG5L$1Y!^ghr8HPHPc${V{xL?ptqfx{lQwK_20LZ!9dWa!EV<6vecV!C zNu;Rzy1VaPNywjd3W^nC%8Ai`r*e{~AHmuDAktA5cOAZB{B6EUrzzPcec#c+MApck zn6_bylL%>jaF<1Hh=#6KliQq>8}v!kLWM4W4hT-o?E9}kPm#M~Wk?`i6agP=B0=TL zcc7zs-PK~9X_V1K>YSQBA!?IMnTE>E&$I3gY_Ke|2M)GU)d}v+D{jR;3(0g~F+kJL zx?K#Dul;nfZbVS`n>lf>{ilE07Z0M~8xI3AHZvg~h`4)-Nz!Fd%>JGBXrxR+h|Xqz zF)wvqd9)Xr@qFvvS;L6ITV&R7k$=Os&SN&1$i6%E+we ztx0I9y82Jn;|c=a=%1`dh7e*J=5P8$;Bh2wbM;?$Bi;xzb(=lZO~z745b=4L;}}`3 zmX-R$aSoiQ`TB$P$;E`~IsE?qTza>EXl5|)6b|?+juJN^P4!VA(#`%5Ny&U^jK*Av zz-&V#mP~hkl_lsxA_Zz@z4Qx@AzG zPR3=ZS#~AVINA;4adaihkV6JgOrGvrTfqPP@o&jD_16kbWwFXUeLbODD;SP{^v_aR z)~xgUC-_EwGZ-3;x4KqKP-y0z1+5&aMgRR2Hc^qFZ&iA@&UBiuz8eUAKFgreZKbIW zAmDY|)$jgZqKNr=#^pTPY}0O=Ddq)rGS{)J&OIOU8JXxO)SF%%7r=-*|dZDRRW2&4n8F12L9!D2r29r-k>a*+RZ4i&Tu zM0(+8s8(A$p?^-h^9uHvXeD}{{IH0ILg+gox!EK`_jGxr=vpwb?g07JinllacY5H( z0UNcw?|9#kN|k!oZM-e0UkcZ*OE!KDEkKdtu0Z3iy1w?wp{E!WpG_(A{`=3>ZYLDPCd1g@ zXQ-({5X!aWlF6q#3CI3_$rgnJlkpn-==*mmi+JEjg=lrk-XamN1y*?b^85-G)x|8uuhqVKlLcoH;!bvN=K_EPdEkIwU`|D*01B@W5oPUm0t!v3c(-VY>O(toy> zc4?pOS{qbj_kZq2_YQrXLV_XxU#6S(KHUxSVcY%C00+qr+qM?eU7L zOeQDUyAw;2!eWxhNM#|Dh<~^0dd~p_EDn?KcO)s<9Ry3kVZR&w$?;^kVZ-aB_Iahj z#yD+0g~=xKyH+NbeZh>~I66L;mzGAYH7&p2CzcYT)&A#yE774?j+)sLZOxw$wul=U zT+T*g&5jC92Es63D5Gnno9a&K&n7yF1b0uH>``dczVUlc7fMrSa5+TFWeYUT1(pb? zmg^)ObJo{UtERp%SOTqJa9B(8#4@!!EOE=9I`95rf?!#l7!&D%of`kjc{Dg|Rj-j^ zy=10`*llQkmgTIqq`-MUn~(*AKKCBOr?I*=7n&3|a_Uc$iYF8LuC}=^%-HFasewQj z)wX9EkA`;^N0aqsxS$hy^NpsOR+p>p5{r6AHtY5HDpYc4f4i*yDZ_!hKKc%^eW?_q zzF4xrh48P6yG_7s^%9lq%Pqky)-&U_n4UoK3F|d~DXb05pd_4~;fl=8l7))B&1{nE zg{!!q3+oYr-uN-rJWzwVqES3$Zd=>N9A4Y;YR*tD8kaAje{PpU;tI#OJOZKM@QX0g zSeuLc|5gWd&>pt7oYv{=v3$C`kFTH$X`szicYyIsB5kGqNGoa%5nj@@`ErB*v zWLQ*`vI>QW$9TeOvqtqN_faQ_MpdR?Hr-5z&-Gd;FcOof?;ZVdFAvO9xos#Ruhb-G zcYB_{!+fs{P81oY6y$ekLG+R3z7CQ_-fxh^x?vLehDDU~flJs;4j5lU;+Rsy2v#X8ZzwDK(G z>cdFIV}wH!%84Jt;^X{>7>DzUYP6K^D!qoP6AH$4sd(Md&$#a5Jpx9Cnb^vFu~`9s zBmt62jALtU&bs~KS*2MaOPMSadw-{0Ym|rW?OH>=H%?mt6!XNI7F&T43Yqx9nQdfZ zp$AH8cvJWwI4lK5<3U0S*^ZF{tupmhRIe9hsziGF9nq-7cQ%W2g^@B>q*xGN5P_Xy zLP(lKr#{_^&ubBXy4InqQ54MOu=(A8HG5kt>-8lAFizulCjP1J@&_FB{?}MCrg}=X zdyN`t{f?`CI!Vxm_gezjMNR)zv-Ch@fmX+QTYj!d_Qh(Qq{&#u$zrYR+u;<6Yq3Cc zjcw;VX_GZhA{p>c9&f*OuNRhXoR29)CXYMaoCQnlBW%)9KymszMJL3XY)I38ftE0; z{uLC7d7wUrnCN`6D&l0VLxwd|_^6j*Ljz4fS9-c$uTmh5y@xYa1^+jh-^DNwUu~a8 zH@ru>`@-^#YfP-q;*F_Qpvj?1^Kvc^A_rrLVV=Ui@83&}jngUT_*WsCt5sxHQTVbk zxBl8vj0h&6&lC#BoNBe6sx1nC$KutpGnue{PN!D>O?cVpWWw^H3Tr1EhpoKmJZF(1V!=U^y9GZLTYxVE)!vc~ocjof$O`AQ+{=O`)p z@W*$-6uxyAhrmQq=G`z#SgQbGk zBPtyYE<7T6&AgN^;*gdJ0lg4DaG?#~0hD<~xss4S?G<1Jb*59-m^@J>gM-ew* z>&IEcVBlp-8ruZg>giANqJxxiy~&BLtj6Ceu_|n&Hh#Y{8ws;*rMnwT_m|`TcBKA7La>z#VK+OMg zi#t9b8n6Ln>0Y+tm_R`6zc3`&GdQ{gdu#1i$Y`g=r|A3=I3^+&g~k-9M5!vFQt>Eg zF>78NS0fV-cckEMmSyud)WMQ?lcLw$2-2{+W0}Q54B;++x*kzYs51(EsV$oY7Ry#B zVAad-(~w?Wm(N8lTJo36s0f@rt}%o_xnrv6J@`-~#K&WW~kL=LHcFO4kw z$-`Ku_!~2Soc;D7OGGXZFvNiuWU4+#X~~C7!pL`0GB#+5Hc?|TZgnb7Y|eTwpRqed zflMh!7)J(wt`~X0$zu7G_jUeJ0*3GeGlsBBmKFTcp+0N2QY&TK4dW*WL$5TjU@Y0v z%9FKRyC5s+cj}zCI^zMQQQ3Tm5W&!cZs8FgoVpQz@b=1tgN8pkqs?}P^{Z~Ze_5$2 zz1_iRaa?}=x2!tmljO7V7KlE7m}EPYKUVF6R?+o?9?3 z*!ZA-?@wcF8-swl4j-{_DMNQ#Z1vGZs2bxm-)nDtUMq4kf5LOT_YYSNMWHf!k-*$z zG^k1!CWpX~lf#jIaz5?R5F!co;&IvKVPOob#ZkMdP$ami(rYx&LU$1f_hwxFN?}zV=@Fol}^)Sgq?s(|7W3R-LdN( zoMlvs{r;d=h70o2S|yc!v`-5}caS$*7e#AfS@PwHLzCTI>YWOssl)-m7W*vY?I4FV z_$>~(U`lP2Aa_L8)^KFQbRw;uD12vo41TP=e50{W9k|^mdE;?-Dc{g{l+Lj(-55H5 zVbjd~b?;vJL@I5tfYo!@IS9x(aRouQCSzkceLp?TrV_ z&!KO;?kfG^I221ayHz}dcAQ~o9dFj;_m$`jP-CHgfiGg|i&fHB1YQqaYDV1dz)|QKLnXN&Xlr8{ z(V0;zDSQ_#3LAd_lz-7?mmdx_V(>|W^@a-ls(ArzNu(hk_H3Euah>^w&WlBZWXw;< zy^zq&F{N}mh2PO8dIe0%grkMiG^a;Qrr0A0i_TUXO*8YjPoF_ZQkB5~{zjdDCbzn> ziu#{2I_!}>RN#_GM&5=5#HhG&%#324+TdSfDOiLN2{=qjs+|Woo9teHuZzblX|ac3 zutfqgUQBzNlZ`da@4-_>9&le}`D}n-VTjb1SOR)jG#r<~xEwi3B?>weCK0A+_K&!; zA?PYP~%W#XsE?4lI5`G1Lp)|+^FlT#; z3ZZKx8Z|?6(A5(NLoN4BPvj%r+?QwNF;xbA%&u;yhoC>7)WC zVFfC$*ntb;ni*e)Vv`s2d;DWw+cwm%2zQ>A?{HAK=37Ff00Ewt;GV%~H=<2%o4&W_ z>s=oElcPg3-tT+G;PIER3ejKd+(&RTENsRL%ea}@oExqF3n8jr()0B9r1f=?QrFVdUCxxt*(YX(S zPVzAbF2-mmR$K@G6~k?=fR!&$wdWdU++@Gk9fu4?M7S{X$}QIghl;TbyM0+-k8$IE zf2e<~{>Bm6qw!jQ2IQ029qi{?(dait`4RNJIxi&8azHmvG>bpBK~8-riK|7!O>2P* z!U?-2leH{0*#sQwRRjRA8)=1<%$KvXzmIKO17xMEYI76aa|*eqA|S)t0q zysSlt{*z~kGh*wvzG$)xNm>q8nVbZs~gIrJbN7rqIgcUZBB zsu1s_2ETKEi0vfY_%t;ntcr8R5$(mQP#{*2^595jbBJq_ze zFZno#q#}8fbR~_NXiv z9D;3s>R;Ve|6#rvA8JWepOBdfKR(G{h73Sem~&&2ZfZiDQqbI%N`p>4Cx#d45wV$n zL)7VR?y^`3^5%bwkXA@`0?!Ql>v)_7_=ZOv$wB8o*UGkIf@K-YbfjrcjK~ZiEzA?> zuy!VpA|XLreTMei#Qgh!$34t9`{nzTYTio_6tVL*5!asXJ4g;fp zEb5P)b8x;jZ>PTm3;zyjGJu)LcpG$DW&UH_Wm6FROCg_8H`zZ2!LpJ+^c~5I1R*gPS9@AdyX!T8(9_3dZ> zgtG%W;|gW>x&tH$91hYteaZBnvv}3c*C6lD*OJ`t3EtrZL!0JY*)<{oZ|t9v6^T8` zk^2oO$CB{@^ruNs_XjP`?aud`{j#h`wLLBW}LGk9P|U~FV%qcK94E`^cy!}ncd%+lp}Y z;Pcl%#Z!b&pwZB@2J4Zt73b21`h!0Y8ipV0cyFi&obk=@`+Z7KWAKje^yS%?&4J_H zcu408gTz@@9$4s%)3=A%chkB-Wp_CY zRw~uF|ESLvpSg&;+;Wu5Rr}m9$7uSBqTXP)CE5`1Nu^weg6|oLf4b0<;uqc=>M?#B zlz9KGIjMa2Lwhy+fQVOr2Djj6v{6ft{>h4=-RgRwoA>Dh%vZ(i0xeGW#WLyJQzjwV z91`(+I>6rEh&P$;R&}-27MyqzYl7w-pK7*Uf`#N_Wj2{9kOqa*;rB${(ual&h8=QA z7c>+~nU)62HqhG6!`j}u3NPTRGiX;g3jXa$`^EhJX<_ck5KYQ|?G~FfW4R&zc#g`A z!{x%Opv`I&v4TdkDiIEUQt8}cuS$PsMr!{vAT%dhJ&bsY;7Dmf)fv?J~mB^w= zbh=~!E~lhnv|+J-FVZrXIQB}w@ zB14}RAn8f z^PP-7FU8#jnG<@?pU^L8UwGZKdpUbHWxh2SJA-;F<~e>k z^Ub`5`Cr^QE$7Ma8&n#GaXFpGaKdX!xR23fGPwKhSa^e8JG=PE!gU@3DKU|99m7PX zTg7=uqzpY;?oZ>mo2n%ztj_>Fj`vJPC7XR=87=oiPki-@z2+AlB5h{#6BXUsK@AtH z34dyT*Zi?T2oos{i_iToz|#(^HDO7wICG}`lwJJQD`;ew=U#J#8f!(4N=v^px~}-I zvBNf!CM#?QXA6qtk>9e+jZg@lZ+<^dmzOx4u*f~#pBq@hcH@s@X|P)AX$E4HELbC* z3I@-pc#OBZ7wW3Kv0AT_$1qQQRhSO0w(7HgC{k{#t{Vof{?dUznye2vYg46v(Cnq= zB#zu*&`AQe)x8R@T(%*5dr0D6q&z$T7s3B^>qF&h?xx&sRz!ur{HM6jXk1?Gb+NIJ zW~0?HNXNIF#uha{0ZtwEaA;NwaqnznmrhPXZvAs@0+pb(A(pT4yLl##uRTc=-!|=k z7WN+HSwsZd-7PyRwz{MgyQOXEq%a#76xsi|OmROa5KkiO7&`qO82-68g zDZ5=-I#i0W=mwjO<#|KgGp_sC+vSFTS*#netk<61zA%jXJ0ShHPv5@x%j2K%_4BIM zj8$m0k)svQGiXW1mys`2Y}8he8&XKcfD4bLU5{xxepyv8A%H@_XMIM=AEZero{Pg_ zvtFuTt%!+<=@8=(PiG99wOM`g11zfge1l(sqMp>n#es=4jis8y8Js_BDODza;BGjZ z6cjOc5}j!GBXdnXB?no&<6it>*S=AMTH_U&p_B^$XRVg1+e4bX}IX9xljOqU6;3~wLa0^g)&9%Sg_z6acsBP>ntX1KI8B7-9vT1GWp+UdW!1d zfgh-<+o8uS!b~UM%x1IzQ}@_ya2PCdaHmhrYi%-6UFX|t?AcH3KbF9x2cPSHg)cH7@^sh7M z&V4F&Bfs&QPQEmnMx(V`<22W_!Yi!t3AAKCr|=TYqw#erwoaSX$L|^Kx{2A2*jMn^ku4&2)ny^XlrT{#lXd{?!gt zh+I|ihsT9}Z*S#*Y}mx(aq4C*hfk{?Tx+=}v)m6i$k;R%%hEuf$Rd}TV4!qwy@BQ%jzFdhmI!8r+GP*xOxR&#I5FrqMy1yVAiX&sC z_`*~eF8@|1w?FXVxWn^C22%v|@+mU9wn%Y!P~UT`EdOCj4^pOa<@ct1jv0RnyGih> zLPh;nE;)3oINnEes6_-B=opyU4p~)AWEU_x%_<2u#|y%}k;K`!*=#$p8h9l3uV%BQ zWkZL5c)X1bItyM+UpJdKt&*xvQ&=#49KMH50Gs78`&R|_j`jAFD|EhE z2F04R{|{sD7$sTItqqoKn_af;uBtBEwr$&g?y_y$R+nun%eJTcy?18TH#2MQm-~0F zm3boK!HNAu*u(Ds$@e)5eF6?VJYOM@o+p`QHdhLU0Ofd=rM8u@BHJ6GCOuNS8a;j-H%^YigY)RTZuI^yxX^lMf- zdN^HFX*bJ`SDfH0G|~X12^q$I|6sn%7JrCpWKDr>8K}#!20ejq2pd1qQLWd z5eg^7P9%p*oj-eCm3d}*3-Nz>Z>$M_^V^FaGb(B$XvFV)Vi$ms0S^0Stl@Fv`{MNa zcqymL9A4rV@pH%`o?Xr#9Gzs^F0|sIQY#65y^XmB0ega^KhbV?lo30^X;vfZEECJ*{u3a_x<@=wLd&{-`t0! z>#5Xav!jGPmSz7+t6u*~^$B^Zx|wFOSnA&)n1G#E(UTvoytb^AIbU1aVY!Zm$2MPj z99XSfsWl!CMrL-_XLvOl#K2~M@oiYkdd!AonDg!CmdaF>F}{40Vb;H)Z2b$Lv(2xUM$SD1?3u3|&lfMws$9>yZ8pE4>RywlWBfs}*cI4+Ri4S`U%7bZ@Tz*r&E=Rumg~zHb2pM0dN{s1r z+NnovFm{M#QGK;syV1uSpVp20;gK$yo>dBNDF;`w+J(jY7a`gHd((g zlIRtFUP6D@WvAwY{01s03(*|_yX9MC(5fi2-l&&?fXBC)hOAD$`R&?7Q@8xOe7|Eh zBhgf*z{{FSW5yo9@C~Tuv6?1 zb&);8-C@GYT=G-f$<_VzZ7@4bT&d|X%F4cfH|F_jh&3hlprP08{eH5Mtqu&s3~)T& zcYD0KDR|jfVbDttQ!}|(`FuZY|I|vY{r35oG{GJPVIbsx^YS{rX>W~V*ml%5@$!5A z^V<6S)uHcoorrmY+j3yb`*u9CL7{fVNoV_reVN{)*LK>JC5Or1<9vSE;33vo7Fmh5BanZnLN^v117c2n#bMUS-b*+0sI1 zx4BkH^4#cu&{5lX@14nM?H-8=93JmgNtmI{tvxTv$UQ>a6T8@#x)Q>p{^Cm3+Oc~OxN@=rl%=+}58e?}mM8{hk#QG%x&x3eC% zJ!GD1w;e7sBUiT;Q!_I&QEyZBVBDL=l&HPl@4nU^V++R@f6Tu1${wM?5v(tFD)p+s zI5yRf&BeH+Q>WLS?e-OW;q>1{<7Y+&HG8V9LQ=U!Ypr1j@AIbP$3|MFq2G~m{Lf@E z*;}L1^?T%cf5zDELgd-rN7PGCE*I-7FJJnnFoaf~5q7gAG9z95rsnW|Mae9F5<3-3 zdN8dKN~V#X@ygHEaO&-kfk)y;i=|RU`PG3; z+6rUJY=8)8`yO1*x#WX|KI_@zuHPPU_qD!6HugmQKhQ3J=)xBb0o&r_2J9;5nJ-4Pq1fa8&vEO-T3=ecXmpd2M8KxkCw#U!%bZaz0FS#-74{ z>Dhd0PV#{Oe-EaWOmEpg&&y67P!MuGXY;uU!+@iZxQoQ^DXvV z#;fc-UUz#LMvt})mO4ih!hVQ|{xupUSYCSp?!Dh%VLNhnAXUw#H*`=Fm|fULVOrlU zcda-ZDsP^9KJkd?jIBouiqrNDXPvaWe<)4Bav*gXQE*_0x>a|zvBiK62b|2!5k(5_ zLi|c^?l%^ikQWm*8x~dG6mGG+o|zmzyCHD_=`7|-L?3K_N43hO)xQIP>zf>w_$hW2 zKp~TUbby-W%bCre^%jonn}lf8ddL%x@FIL8a6mCtCyil6casfN#WgESR_EFieG04!yKzHz#N>G5;m9RlBh_IjA?DB1j zUlj=HW9xUEYPdNw+!>;kz+wp4cJR%T-KOTG5v2f4z%PcKgK@9CSK;=Trl175L%*RD z=n)QGbyB^XbJGq(?*@>2&7t!Te}iTWh1-divRDIKrvmHTDs1aKklcW`1S`A;52tlo zUW>XBtiP17@HR%7HWig*qi<6)tX*(e?BArK{swd|kdqVE9*Rxa9{Usq(5-)-l7K zOMaPyk$krlVesAa+0BNVnYm8H_TmHK`@uYQ4JaSRY-PlO{Pwd}#q_=ofJ?F|H3GhA z{*%Y;H2H;zN-9n>sov*Ee|`_tMP09iup95)MN*lbq8snLS+MZ@CIh4e4Qm>wvkgon zu)|2V)D(T$G@ZH$H7|VvR$sHjJq3>XB4=GeQ!Xf%I*a~1C4v53J*X8cIF#TVGd z4OL~0^~fhE5`zWV`~B|yh)T(CU zy~h>3!UgSEkXJ`3e~Jk+&mJbcRK=8Pd979W;LvWZ?BnB)vQ$d+$=pdlt2rdB z=0Do@nypxvds6Sl>fA${eV5qJ*kyy8<1#JE02`4xmYvl@siF0G{`w^#>tD$)i=kVW zCjl)IY=rJ^e-p3+oXtirnZ%}(SOXVPOWqj2*8DL)jaYJnIR^kHzWiP}Q;L^HHeZJ~ zC?4XOiVUfeGa02X9=DhQydNwp#acYzGE)a;-5qSvNtP>RB+}J_TF4p7yO1e#&~v=( zAY5JUrw5ifTL1`igY;vORoCXurV0W=HM{;&{%M_;e~{7WeQ(3!f+HVXU4RA}%j}bh zXvTjqPNSHx4EJJZ+%>w*l{aPxc1kjBLeb#zc!E+ZMS8JJ2;VRO(`KzDC=Xa8M2@-t z1Gul+PwQ1H=91cHaN_-scltZMIY!@a6S<>Zl6*e@O=v+pD zpoJWV{h|CLYZO!Y-mCn9{ym2yd<*d3wJO#VxTT==yHj|L_u0cZ{CZzBl{=h{+}<9oe{wFOjPLHhEVjiw=`?sd+}>+)-xF^XzRwgR zKklL)W@36zQXh9_W62Lrn~NN%s1~@Y?BD0%2TX+@Nf#(hM}8QH79Lo@s4M27!4B*9 z48Ty=)d4@b8AxHkazjZPB*OUv6Fm8{m`O5_3*)W4hf#>u_VKv;3T@O=!LBX^e<2ZB zElVdc=+PTst~10>gn4omXde>6%%i|+^kj2&A+0$B7iJ(}T=<{Bpa!|6%|MNW1geJz z1$e%ie7}KQZ6J=1Xm&g_oIYKt>3R%PK8XNZu?F>rP|$-*Oo1pf+>DLFo=UO%1n5Pn z;!_!oI6vHmwXtmq=%HYOoltlEe|ZHZg-fKjWqnT!Y0?F9iJpRE$-a%zY7c_eU9VWj z5M4*a*m4)=%eXHGAi4x+4lKDQk$Pc_XVY}zOx|v7_JWkNl(K*A_+UV#pOz<0Q7ipN z9Q}~3WHi5a)fY9J1fR zx=?4huoSk37IJAUfw#u23uux^h-EfwI|AR!Ua!xv>+1ZE_A$b+>WE-M$aGUL8$9e6 z>VXB?O>yJ!3mE#4%a2);^5tn(>bzAN8E!NTVP168hZ3-V+Vmg}9~3KAt2;AuB&ZwM zW9O(N&ph%r4}rBs`np_ie-TTY)9l$-!WlGG9*M>IVI5cDAn4cXfw2c_p-1i8`FxYI zQoXfSj2q6wo=voQ3-i~`=7Dx{yn@F~04jj^)@c8V>)|0$E7Dg=?laJmUVW0GYDD#a zAYeJrkA+!1FN#C#Ju=88DzkF7g%GEr-dYdsko8Z~Xce0s15BdTfA8ib&n8?uCVEvg ztzXnA^)xp@jlz^%S_cV*wfqRC<9Z$U1QuDlo{)Jyb~*a)d$GuVa?(0f^0qiPdJ6BE zUA$23%SJb!vqSHhf4n?7B1enV@x|!DvLB6RtXN+e5hl~>s^`V^r@Ev7_|XW`Sd0Qs z7V>0zNRD2<(kD_*f8xUq#}el$tmnZ7Bxm=l8^}b`lM)jM#kUhuR=jmyj{K?~oPTY) z0C%2HU+hl-tBjG0-u*Brp?PabeHD?}Iq%%S11<)8AgzL|$G$}Gx+&_%GP)SyyMH-d z`IZj{dTXP-_o~ha(M*J39{I&Pv%oSCvQW=VVH5)}4g@IZf5u2!WF(i^z>loKlqRZr zl+~m0xd=_N<}vN`E?+wsn>ysp0gA2zhfn_uXyA`?CRW0 z_zwNqq_fbgD zRC+0Gcu$n%^h-o?$f4JkE4}7|OV**GvPDzHFY0Jp< z5UQP@J!`MSe@Nsi8(Rvyqzeg;ZSy9&65`9OW$Be<3T=qv6&S*1 zk@a36eCH9b@m+?R! zKO<0P({pEVroDN`+#!{~Vt}N59qT(yHe~ng!e+uR_P{ywT%h(i==sxtDaR~?RJi{$kidma8kT#OEx z05Xs88)Xkt0XiTf20ie1m7;H%(y5sooD!w!uZcGD6+TCM%D4@J0HIG6_6bmE2Js+{ zeR$8g&*jxXsn2sNT#NGyU5!d{xXdXtvQEMSG>G5|gIrJy>Uz`>VcD?Jw2EqLmV;av ze;NgV(q++Z#sE*JR@v~h(FSWb^N^EEs;Vb!w+ z6VtPVy=CHdVm#QO>CRdY{~5}t2nzNIlS;B=?6vg|@E+h-QAPvhEuFw4)nsO@{sLaW zaxKovgcsvmn+o?|yxX8-2fF@t%iXq^e^dX^Kdw9FxhxaeNEvZ2+jp@{Ok+5VKpW~W z01U}dlv9U9@7Q`MEZp8*vFCy-vadRQ?0owclkQwFzR}Xp{ywKU#K#OOH=?(m-S6?g z&|pc-^aHWS>l_l~^rw@Z3mtmv}6T(te*?Thj-?-hXx9Ht+6X~tz=SZlWdJM{reH1yW$8*2q(-(fO_ANCz^&%A<_Xm0pzk9IVEmGwGPW{e}El|9e| zCzw4!#7O*u)Zb_76@U#JYhm@$e}Ce~lH2xLcLZuR@^Zkf+Sz(VGcSk{{u9Ars}I4C z(WC9=33)X%7VQ+=;Z5Rh7pv2uy%-Z{2e^9ErK=?H^K_f93LV5@M>fFQrTYLUOHpfA=_6suzwL zP1qRYg}#~;(}tyhE?fB(&?7MZI%pFMWEbUu_{_1_g9ViNh(wW@J-!!00Y8F;T6Mcn zPAlshXB6!q`7QAr^-yGTbM}=R+_!AigT!x}!?7hfG@C-85lv2@BY@3IDa+oKo)?&JO75GQ-Np0QjB5 z@tuq(mDr!FrJXA1p7J{+gR4T;1386Ks7o6GB`CXq#F%rGrXoc6f0uY>*D~RDG1h!( zYm}msz-f{(l6&rk-Ht-{Z{JDkH-mXI6771#j(GtNyEy>0$Xc{yI0m-4uk%2uwd;{6 zb$bKH@UQ!lfbW-w<|IEyn(^gMgv)c@uoeyiIjS9cNs|@00>AGrk#}`QgqQ1Fucio# zr=9NavcrlVWp`W1e~vl;kdJ_A@y%#&Z|!DLkPn7Z7YKIQNdf(kYkLTz76jvpRCJTw zyc(N07OM{$YpTV0DF;l}9_eVCz37+yYdlP|dugtX?yV@>J9O&wFZaYa7$J9mQeAa* z+IM$07HffU9W87zpA-f)N$p7>I%_-`&9Y5<{Fsnk{pcq`f6k%QUt7o7?=(YC8$X?) z^nlA1OOOUA+gWJwKwq9^??b&K#xyN=+Ed$tgKZRUi=)0d4FxlH@VTgCCAc8GcOyhq zBhki&j$HF7Y*j)rBp$hCLI5q8c(Mk4Q2Qfx+Pu)~px3Icw!wUuokT$fV=_^{1haMn4`e^GW|* z>+Fj-CNqt<7QD=~;f7(vff3in>4*a>32gg?gm!#PTABFDEHJr(wZn0XcL}DuUcU75 z>RRX)EI}QCi@TV~Zii_^yG@oCyGq}h=2VpVe|lORSLv_`fH;4(=XN<~6VxuN+8^NA z*u|vi?-SAPbr8X;Y|Ut`x_z5zG~HC)S+(D3yv|EbE!J|MIA6Y^MODEAovKA)+f|F+ z1CLVEPt>9r7M-+)O!M7?m(!kvv_Ic5_3Qi#e`%=>3h;K1wo4qHPgq3KmBq%}Gc;-U ze|7{?D!jHvi3{pyVrFdk4A-_sU`c!kjSXPzsKjX)_pG@simxw?#|+_Lkh(i?sxM3e zkOPC4JU7+5k5g^8_}ly-;QtONQ~d5Hg)S9moY^yU;TZ<5a)9(A;x5kO*QM0WG!Z6PndKiuUBE!ohG};{9h_(HLuXPV2W@b}VBL zu0U4lPrD-&p?pz%J{93{f%4`*pw`}{Wm>_$X)o!771p0SK)_-~T+yf;0!Q)!I7 zpwlaiAwpXV?7d(#$^Ncyf2jn6a#t*tl;yflEnrQ*ix}(1B7AOIh%eKs?3kr3U&tf7 zJpvtw4n{NYf4V9&__UZ`)EL5qQH*e0f~(ezs5SUp7e>kLP;!tW$wB;iS-J31MnPmHb#>f3vDFth#iI9Erm= zr0H@RFgxOKJrvyjloL9tTr8ekgN4l>D)3N(*9xmU;`E)A&)~H|Sdr2dIsj8I0uw<{f1>c$pNBhbvU^8pKAjDE5$3FyU^M)t=TNmxZx_(vWl?F%X`to0 z+;qF|?$JT}3WZBH`zzQ29Vk|MI)`6(6?!J8loOpsB?N`SGqJMB3TvysRS z)v7)fGZSIfI{_($JJDfE&fJ7HizQ?{iCUI(05&s1i98mCe;szp;Px_ESJvj|zD+-_ zG}(k|sWcbN+_H@xYHXn)X}x=#Ra>iqdk4+>m(O1gf6z=%o?(R2Db=;+$mB(K5Ny{a7qO=3FWFYcPVrpwL(XB}$2y zIoH-BVXupSe+$qkI39|Mhec|&VkK7Y?tQsfUAr2cI3C0~5a|(`?JV+to&^9h0N-sZO!FgJkK_J{SI(Q7d!En|6~iFY&5wsmZW&t;&NA!u=v|*bH&UP zgu#P%siXjKBV*7%qQ5vZrVPz2Enm)6D2d)A1b4fUdf3VD{*0wK|<9#PeQV29FOB zO@ikJA!nmCV28DJs+?5gIs$LhLyC|;Wtao1ubpIqhJf&`e@!s(hEtViz`sRY_*X(l zFp9_F@Mt_B-nbyW)qc4r>||4|F3PXix!diuf4BZ5y`qCQh7*3j>O0Q?k4lC4>wD&c zFri!w6v3YBRFGIc=QwODkH88oT8b#nXD1gcPO znZ3gCppvt_{K@H^Ieu#`cL4oU5iYiL5h=7`OHrgJZ^xLzLK@h(lVex#F` zofT|mH4xcpmwU$Aap&SUs=jX2#t+$0e`^+dd2-1swVmPG=pj~>d|r5in*-hi7_gzxP)t;5UK zYgt%|O3ws?Tj#=doaKeiF#dgLIV_L}ew_N@3v3BPT#H3(RE&m3Gol> z!F>$3P4B67;1+|g-HqNsn5yD4f6Qi)7^3Gu1K$J=t%N zcV|hM3?>SLZU0`)#jrX1R2>~~LKMnmz9(i7a`=^g)$Au+>#kD`tUod>iuVkd_;|02 z6`;-df{MR%JmVZ5m-x0le>$*LEp={e`ZN8OOIH_#KZ3~EKL+obY*clRPvuB7!*D7} z?#ePC(Jt)xfekp_xSl$C~y_5L(yQnw* zE$Z~xmC`M&fEVw9vC)i$ma^HNt+UBDL`LTcKHoGAyERqWn<+ia#+)h zq}@m4n!RH~9B$#xu?_;CA|68V#^4Khp;4UEvR3;{X&m9o7_5I)dIa(vzx#cYO3QWO zQ5=TOPjtr4)u<|!e?4G=t{sXBlX6blesq0UMGj#C3xlc+AX=;Lr?NqYbRYbw?fQ{@ zIx^=pz<+yQwU$|yb#FpF3-{%^i(&x!hL`!`k73`$Au~Ga0eQ#2Q4otarDsG6NY((}b5`1T-o$8I5GU<(>k zpR77b+}yu6;}E_@#%BQ0sECsIsdVq8)yZ0kLF|xdZnLjck0cmmzNKMh$l-7dA#V#j zvs3ow&8n8me`Di~PNO5R?w-%kTp$5LTEP41$WugXik-yk??Sk+7m)0`tyZr$j7S~JVSl|g!`rKTXWVC?Tu!=+ZH|I|~=XPRD0jybXYU*c`(S)PwQg>qz ztBr&8UsfwM^(kN4k`JcB2ARuvy1rh;sahTeRvcGBf3VFzY#HP@xWmwEr8lHrt45Gp z?<7AAd^#Q-DtSF5CL(fXA@0||H`jlh4Z~;M?PIK5T&ofWB*AM6N9Z~L2=muYz-+%{ zKeu3NQ(Yt7Rej(}f2f}fmJ%0)AIwqvrXgFZ_okc~zh8+NRfgL-fdU58n2i3-a)6i; zTVSe(e=0n~ju4{u1?CAJ)j?Qkm+pGDv^f7@rd|XEtz2vUK($}ztJcw&jdoL{kt=Kw ze)>Vhj_&>Svfbv0A_sS+$K9PRo7f+BSJ#o^Uafbrwz|XA5VQTCk_iJ(fF6GyS|6}m zWvKJb^8K5;tDk12FUV`9COtWTt_kMgW9;SEe?h4XSD!MGRQ`bvDK&nJSCW}18daYW zz?W~ap(w1Ukd=o(cr?}|6FKieDQ1s6VC@t;g=qwOXW2ao(+9Ex7Y@tH3KrXEfN}gI$>H!g5Dp`OEy(z$BQpaA87E-$2YpYRv*cOLnvr ze^9ag8wGoagW;1Wb*~4fs0Up|-#5rcQLy~u%B8r4-Kd5z(G_`CC=oXkY@I_o$%Wj( ze6M`pYj`#vx(<)MB2;bh_Y$apLRMD!klDorRdDaa;Qf3HDWU*2Bt2+!3K7N;7Mf!f zTuz(+oLu-PW9ZQauE%^RO5lXQgJW?Cf2~B*X1siLB$}IEs<{<*zIyirSkPW3UQP8W>7b#XD{1QiEd4uMtmCf@9-xSxC}@| za{Q;)V!`eXwvg_1VC$&!!*Z5=;T~Y0&Q~4IyAQ?Vxny2`!tbc5RCx<`c1oa)f5-*$ z7z~ipS6Go)t^ouBdKP$^w&sLX_dyPihN3_}C@UP*TLN_5%BH5wlD-AmfE=H&JEl*L zU=La-H{~+bVi0sX>)sca^8@M{vpsy=(N9k|AIr$QrlaR_;;QKrqhcUyMnr;Hnn_8_ zIJU+(&ic}JIe{q;zoDhGNZ&twf4cj&$$;x7%xAwMsm#z6hIATt^OZl`eNHj~P?)lM zo6h03-hQgux^8*LAcf3lI&c03BkF#5`CB%niE#`7Db3eCQ6S3?)+xz_e;(P!kU9+Z zQa=qh`PE4JM~QI0cH<@3`MKNN`H1v$N|^=4{emG_E5r)Q;Hk5qZVbgu?^8;Pr4Q%N zo0+Ei0YU1HHX5?>_zebYb$-P~dfE%A1Lnb|E~-9qmXk^x(p6Ju41=&Wn(04P`8f@` zOzRs480cE_GUmU7w%uyBe~W&g-@A(*;2=Epe4E(ZS?y$@Jq>1*E zRZ_|-rR$Z0H*gUnqyew9Sgy-yMa7F_GeVAEUDzzm1$2oEs=Sj$Bw{6Q6J8yc2(W^8 z$rBBPEKr@HA(Qi5Fl&9^h571&mvoE2XaLinTDe|33Dn|>fDxYv$ERhSRo+lnM*--3qFXn?B{( zHD)Sl&t#Y!R%AC9dy_Pf0ICSDxF(3-=+8s#_2~b zS=5B^ZGp4Pj-0E4aC_!Cc!@TQv~Mcgx>8hKTm~SYxd@*X{C}z(Czvjv!o`5u-GQSW zs<913){NHm(VuNzqNDHNzitood#}wtL2pT#6+CF>F(ddZZ8`q$D+I&vMeqnV2 z?Ky`5eHLTYe>TjnY~>UvDSm%?<$ir0v@mw>qtWyFGTJz%-ott=$g(;~fwE8QMcCPq za!|4|+!A3T_zcnI8a!h9u=<`TK^hEG9AtMpOY}sV-33px(|&@SBgz2(|5m_pBuG42 z`&eAnl3y+jGhfF5H*`sYWf?3wT?0w*3dU8xW8|CIe?wkgpuLu^IyPD`#xH#*9?AJO z4E_KvF6fegQ-uZIy3MoM43Ph+X2`)w_%es*i|5g1|F_EhH&tH9f}G>!NtXqT`Ts`o z7NX4#oSHQmy43%#BUD9M=RI8Ne7A^A!*E$bmG}QBBqVUz?633`pDyk^PVTxAe@S4v zEYIx z#8C|&snu+U7>!2t&u|~$q3W*7!pygY5R{B>N-l{8 z>xOjUd#3jb27+1&uOIKA3Wd|_idUmK!0Y)c!WCDS8(-iS)gab=9{7NL#EyZ{`p`Xt zf8`r=CGY#=9#JNfE0^2#QfdePYn$yO5vi|QAcP|hnP~+q@mPN1d#u!|Oe*fH$?*|$ z;8h_G+;UxR;(cNMJJ;A#_wA9{VDfa`323Y9^*u3b32IC$&niCrPtmwv7Qa)<)sCC4 z84(-+uJSP)RqnM{s`vLePld_wi}Ow9fAt?rS&sV<=3dvfAKM8=+LLE-Wb~Ejsi{2T>(Uicsp}qkZmU~T#7H=v_f`5w$31%|A zbyW`O?KSn>Vm17kEf7CJg z%w5*;&&{*N$VEub;0Abbo$bwReTs8^)WM-|N(ib6^(}ULdz}=M(1W%|( zRt^%kOfFmQ1y~_7LtG`@#6#dCoLF`U1;dG-`FpYzD^hRPtCT`cpo#g+HYmip9U?yR z<=MaN?B*gS3qpj|OW7?67JKn5e|>!!;~=1#r_A$m#MG?!dhMP+@9s!)4%fjD*3HRN z)gy=9h+sm43XB8p#K40?aGnA2h3eE@$hAnQ#@{jSAy zOKjbb(YO%ymT*+t2(T15>{NCno_RiJhSdFZR++@;%e#j@SuZGaZsF^<`1x&760_2^ zQnM1s5!IW|fl8i-#Z=%GfAgdq%<{ZcXS{9$Z%7a{@H-TTVwOw%jySo3Bd?+vM`6ry ziApEMd$C4oMn2FGit8SOT8eB!wNUdhLkW;2YJPK5?|Uvyk>mJLgw1MxV$Rmt6#u%Y z4K5ksVw?>@M`Z)}U^RRI698^cXGrq?eJJvY#Q(zS_Jz6L=7Gyrf2F6@2Bs)WnBw8^ssFy;1;A>#GM&Ue~`!8T?^?m2V z_rfrww`o|0uAA9=Y&QA)zRk_mG%Th$lse(aq-@E{kQLMG} zUUMpVEZ)ese}{{oqj4Acs5{ri;7%p8n0mH((_8PI)ah8^NvUg2mRd?#QB zywg@C!}q0g^GCVzxnCm5@jt2cC|`f@@FO8}*scqgD-|ONpeJZ?E!D}5^CStJu~~{1 zOJNj?ytgu6KF_&{7}K(WGOHRz;iJ!*x!q0f7hr9<75L3lQUcw{zFA|c|fid zxa>Z0%*HgoTyR^8Ye$+yd^+97QWF0@;0H%p3A!O+ZDtjWC?edO z&s+0k^la{>pvAY48I)oNl$(@I-rSGOLIqg+ zkZwI6e{m%_*WpmnpuV4X+{#@#Ym^&pm5>QIaoMa$w>R9bhC7!K)8RM`8wPD3?N;o< z8D%|CfN8&czJ@)=6M1-=&6nfZ8v#uVU>33T6A=fm#qOm9o&AJNB96CysbE`5CV%K$ zZ&lVoAX#nl;UjPGHE3|fVN_lK8-rq>2F$(Qe_Tyeprvn04tw|+CS_r?Tv3V}v3#J+ zQ333MPoOvR^mT(JTrr9vq*F@m7Y#EWYo>N;AJ;H(-BtB0C(9#IbZuDMrl z04b$gz`SzaiB{liC@#=x0em^5#TjiNdns6J7ZG0UmCyp{BTJGTi@wq*!o^!VT-?)k zQZqTDt8&>LyHMc}%}^|Ql;uj5B&X}^f5fnqZXsWTeOM2VuwVUHL_vti*%~!*CGRt! z{`xawp*k?}EbPr{y8_gw-ZbcB@MLs0Sds0~AO-5cXjxlSbYsv#B6>^_byEsgP@qb^ zn%`hjcqfEho^hAb>Y-pNZM4m8`&>Fr56JdXbP94L&jGchTz0X{16Q-bIb;vQe+elh zQmqK>)G@-r^*QHrV5X+G!UzxK%lWP;ZG%x)wR|leGrbaS({XY%K{Fa$_bmu{?Pyp^ zM`S~D*`>VI^2K6O^1<~0{UZSapg#+BKQqY%E6Un=3xQ*jSTb26QpFe35QrGh+Sf)5 zY-GBJl6+V?D?C`D({Febl7a&ue?qSUI7L@t4Kn762r5^Z3%yyMuUN7k;JZY8Wbya~ zi1F_#6}?hfV+36HzkqBTU4Pj{yE9*#ZVy4_b*)a(sCsbRlepT*3o+=L_-2_yC$eMh zDCm{50Fb+Y*)@R7b9vmZOWVujN+3r}7V8f)ks$7orNQ%O@?}WB&+wuce`!>2c_%&z zS2ASpcXPFO47~ygo~~z)l^U*{|wHR~8%|U+O?;e+;XH-^oKSCTz!l>~(V)dR|D5 zCK403Ym^3ev-??M2zb&*qVaw%RVe3~&*|n1>chKnd&}whh@TFM~Pr4-$nTVv6sw-SEVu!Nf5d=F!lmw_O&>#q(OUhq&ad zP(q$iSqa-|&!vhJfS58wD>fm)wP4K1=c}E<*GBTW7bX#le|xo!HQhsA{#e{h{@rXq zs;*~*=j{-i&L^+vGeaJ^q^tG?Vef_6KmjOxSdH$XclArdT3{l;k6BE5<;Ju=j(vey=SFEvtBO zDAzm|lP3u}eNryQG^|12Qp<%H1!Jrohj&;c+O(XW_gy}cch5>sXSJaFz+pPA_o}E; z8=p)%e`6$qx6?1Y2=S3cXOsM|xAT^I=z|nYY_o@VC8$!^x5q0IuxqK*5L%4lUT^M4 zCv35daP@j;0+&N3bGQR`JE%W(0E&?y=tML5j;3-d(Yqqk>(MWts{sZy0bSlmf=`!? zrs})sp5Xd^7-fOQo%})ZQze3P2*eXAu=~0gf2zxKL%2YsQxe!Sg>So+8rg1lRLD`G zBZv?!-1vb#Zx5&WiX+$%a?4&JQabQl)mInCiOElBSax%A34ebVP%AJYnt3U&gxecs z3(~Dxyc&jSxl*Ts_%Ol~{*AxL{rig<{3+jpT~eXUQQJ zf20=osH#_l`R`*%q_$OunV;StB&Fuoi+F zSVreJ#6H7;>lR%WW0@^3R%)nDq<|A|4@d0#PB|_*$5amZ+6EtYXwp$>LnR`sGVzrs zR-Zd82iDgxBLPV}4BoJu8G*eU3&pU>e`6?hB0mCw{s!c9J^9o>h;O=;7%_xhqv(4~ zzL@lBdbFPX->gSQgR9!0f8LZlQ1=Ypj#+Efk93Yiv)1#dut^1En}SOSgHLyv^59=M zHXKJysr5I@`jgnC#3~eD>4bt#<_g1b?wJVl`5liZ=>fc}oWocoz#zLU-fX~c#jN8QCG(ad=7_&ie6$1y@yX9cY zGpq(ftqEd}Srvo^$9PwAiOVp=KP#2a$QN*+Mp7cF8`cEvuEHVxCdu05e`R{#@DX{5 zW~wz$0Lc$bGK4p{QL63z(xeoqMc8Fv3TqG0lx=m8iydA)sn;y!qxQXlvZ~jbBls}L z+2n#>*Se*o?B!l=OP;f_Mr@iQ`4oHy-{+-5I+7R*pAIYWFX_9N2uRNL7K%XamM9d5 zLjo|~9Z!+5Di%Lsl9xm%f0@GcQ@N%9pDq;Ve~50Q41|NcI>K_$PCI0w_=A6?TCq2T zPV-YMR58-&-BOX6^&??O`D=4ELL1;)*QU_v2)FI&r6OFTkefqKq)ZwJIa=$!^wMVO zA6)kJUsFmZQ3jqyqn(0daFU_IDr1ZD6ANA~*kRf1)NAby?e9u0f0N_QGW?7`VUt54 z%t;GIB;@*QWg`Z#d3KQeIc(L{-~n&j;gl|p7%2X9Dwkc$@;=vz2MLz>tAQ1=(R1oRG?lk>C zxV}N}lYTgm5C{9Sf3L491c9-TeS-RMH%F0Hq2E7FcQ<*xYu0mtY*MA4^7Lc6hJc&S z=t<}4(O|FwH<(RL4jjsaE}Q2y#e4K6I7oc+Eg{Z#JZ6@wJ;w@bA$Gpa?sEF=6|B~! zG20+Cd$hJA{UqjplNQ4G5>A8!@xyBeHJ(ljAQAU%6M+A?e`y8b;QkyK0ENQ9c=BSYJ#zHb()BR+X;RTE?N_vCNvK{crf)R57QAy zHK_lE#hiy}G8r%X;p+VuVo<9Qs*o$*BS6l2x%-3*i-<}d%`j3cIQdz|`Qr+iHp{Eh zTH+PEgaXV_e-ZYlXkH2CGOv_(@8`%svB4)aE~WleF94px{M+c_B~)(A+wTGEa-&^g z7U|3Gri8fZtqTMUf>SpF90%wV?jC#u(A8yr19Isuf{+=7@|#RTx>Ai6CAZm18F|2E zEiNBC=ZAx#Zu}wA*I%`{|8Q3|9SC>GrP1(%gmWCCfBNiz!WZqK;k*`w1MHW&wBbG4 zC-&zj;kJ4h9;m0Wr5j!QBT;S5LTq#l*SmvPbwEFKyV^)zI@A< ztjolYpKus#wSyp3IfcTO@eut<=Q-ga^JmX%f4jwYH!|4D%_bWe^8*qgRd)Sbiv@wla?z17FzoJzT!!d8mag6 zJc7P_V?MD0tTfa|l%rRr`@T=x6Br=nsizhjTf+Pzm-- zV^fV|CaM1RtOdMbNz4+~VG0Cb3F6T*LI%>hMrcm3rjzk1^BB)5!*ypBCF{}nqwWHRT6y~!>ZCF zAL_O*a`_@v>evzEWy|a5{vwnWoPhgDNw}PK(kjmlQfp{-MhCi}+r2U{S@=tHtW*oz zgtN1rkJg5L)|dGH<_B-H{hLG?cs8U=z;POgdKX|OR||@r3>yY>+zd}9R3D0`e|y$3 zz+Mf6Jbr=p@HYtkUlQ*l0Rdr#>LP0^kMA%AtR+kv|ARdWD432m)e`)9TpxeM)H0X&@JkJt1U)#g+D34V7uh8koJDRYn z=neFM-)mZVOFUIG)M``L?;C<(-6Yl@8p2bxx5U)%BKine?g@UV+Kbdv2ZF|Fu;a*>oV(30uSvG)0_vwe8f3(qqKNq90 z#t`aLZ4tI1PNG-p;6yi|v*syND}`v*ztk|-NII%B7q7^hr6<_jx+6KLctj9FYSO*v ztIp*x%=cQ!0X3g!!B;MDN3Iyi6#o6C$~lKgyb1C#ouRJYH6XUNE+>Ezg;mLE+G;F; zy5QeKta&w$sCl;+@{8eTf5Er+cZe`*G_O<#*Zw>16tGQmVl$P-NDmrppw#Xlwu?o%Zh<>nz^BP0-Fgl+E=hxZ@+} z>MB2tOuP~~*_^j@UrtwHDBS%1WAItR*<}?2O0WPuK*GN-Myf~1T*n0cD}TfVGlqEG zJx}f>HbCg&CdT3vQgj%#J9aIj*k~mBLO8~WyV1`k53b=TC#cSP4H{sIMCHucv}fwB zM|=LAcCXsipQFPCD0RDG_NRdB-gmmM;@&0H$CW%?8v%yJov;al4AX$pg_jExU59^F!3Q&djDP*>UN(;(Y_;)?sczql$X@bx8+TQGoA*5gl1z2LkP?0GVU@_kIb%99C=FFeRb ziMOF}pcZb*-p#{2{lLce(!h#bXM9Aeb1MwIY8$qs;`>)lsbnkR)DmF9GIbs)Ys}{O2FY4$l4ydbp*KV+O32aYt z(W7-c1XkIUy_WBaoaF8E*(Mt1#$3N~u~b1Ko7GX<1vleUIS~ zJ^=IUFkCt&*+y5@?SG2^=BfoB4_m)Yl|6FCeeSyXFgSvwkjWk_WjDiS710ZVx7TKd z$v8mES4Lt4xt(xvRr641i7N;l?)R(N^GlvNcL>YvxrgI|2+cH{ zHUI7N$Pt6*nK+*>+iYY>f3yNrIvuyy0vG9_U%_3}`Jp5Otkt^{3$}}=<46`hN9`y~_thBHV$WpSxjMQPH zoBtWai$pJTe)^5MdsFFVLd$sYJU=tnI-W!;))sI4BY#ss$k!nNPTEDi->SA-k`tID zU%K27%&QX%w1_?Lq0uXli+;*NQ|Jdh;tBP83Jw4xb6b8R>n!Z~a4a$2GotbVQ7nh7 z=1)nzI{M+a8QV6`V%$)93oxy!z8#BG$%Akn6br&E1_Bu4*8x@!x*#L84Ats$?U=9y ztyrln9)De+rv-y5=jUcyuH=7Z0NJl6dQ~z)jG4q~KduFDsJ?;_aW4AH*3GTxB^ z_ZZbYkq!hPC6ee9Z!u9EwqNw@(1x68lM44pihtsM?|c3NC+9<`<(xP4qremdV-c9p zcDRQlfK;+9Nq=~GYgV(VjEK9V39<{}cW}p7`Hf0$Uw_k8AgEw|SBY|qaK>@Y;DZMs z7lL6P>51}7JusLVfe=?+58+;K8jqHPmBowpW&^gWR9EDjui6r_o$U2kt=G*D6Pz>D z%YQNW|E$AGPU77lVMqX~xdGwZm6rkcFL=_O%W;2p3J+WC<-fOWLqmF3hw?H zDIBP0hTL7?Tx2duW4|wy9D`sk7IG+lFmKU+fkyh`2?%mZ5`zV_Oxx9X72wCH1r@%I z7S!pqMqsQ~LmG;K;LKfUk&pac{gJh>DSw+i$bMGqtWtTj?5r30guGKiS;|}!QF<26 z4^`%B=A1i4B)^WYu;85@K$C?URR^ehg3NR z8}_bG;SzLYxkOe9l7_s6#eW;9IaL0@1SMq3{#ypnoT@?iliJpPb=v7D^BU&+?teNz zjK{Jhw3R_K2T=4ElrqlaZO>3$=?!S^|8Vd`+qWT!YrvNE)9vI(gpA>*{_IP+%{oQA zB!|eLSUn1XxN4EfjX3CM7J{0zhwFk&m65HQXXu)VmiB@wWqO?;y-Y(hh=K*s0L>b| z#oA0()SdT-=-R_JebwCz&8@nv(tlI*VxWdScp(CXtbYi$R~rq- z^0xwLwm~M^E*XPwy4&l`{EPy78q5G<%bsPuzB82-`#?zprXb;f1mY|i7La#4CxhPg zx;Xko>Z1s>l33l6C1jmY?7{7ysEStu1i}kmsShO8Y=Bg@zPPGoNyP!*KzlRrsziuA zHh}HN>?jwyxoQl+Qscjafqb(-;`6I3|dpI6}GAF4fPju7fr%`kO%z^`$>z8^XP!xOX6F zxa5tdzq!9I*1Y<{adK{{<8R4<7l3((EC@P}+P-3#T}$P{Jg&g=w|{;db4`NQF;ocm zgLwQD7-?&9xM$B8byFzw7v+*p8gr0(Z1luDI)+af)Yh9#Ndd~dVDc-VmT>PU8-Hwz0S~wfMyd7IytUdbb-m{5E8TF6^zLjnh=83DTo1vK>*;*- z!ZQ7@q6>g(WeZPd2iP%K5FuRT9~<|8-s@quWty+3QhQ0#^%f?Gd; zQrQ1epK#)zm&S}utQcG4UBiamYmy$U$g(}i!JQ!_@I`vw^;yjMviTZv~7m6s76ZR?=I&o)*_cFM{X3uzJYE<0R4 zgFrB0SaeKTf3Dysyx^0H0?~>js*_Gq@fa!R$v=z%f`9i2qoMX6NYdrOg7;04Hcq7c zlgYbjO&?1~r22K3Ep9tP5!~i-j66%}Pi@w4AQ({1BQj~^U|Ncms5pLQsl!q!urbU~ z4GzfB!Gh;@XAkYl-L9wx*RZ%yd47wjg^>q2eGySo%36BN*>${5fIsAuv=63JqEP38 z;;SOrBY%O4H2x6G)*L}x{q;K`gtYgtp}5U+BZ7#u#saU-F-T40f&ufwBd~|i@5Plb z^U|v|phlkImpy<y5f_serQ?kSIHy$USLk;?~Q=CIkU8bdvw4z7Q7 zABdc$$7tFYdzs;aJ6w*rm{7q77qD)yJsUWSqbX-jg9KwV4czv)GTwz0l7}AXJXy%- z;qL)|AgB%;wV~%>YqL=whULdZZ@7ueet+k)%v^EMn&%=3>gsJY5c(hN?gq%MBf)6YY4*u2)Ww}P9erN~1&PogRUVfz>BK@F!vV0f)D^`n< z3_2g9Oc}Vfrm@j6zs!;L4SAyBcYW*!@;$Rlgq=3MR)FUIm{mm^gy*`IjTVi&#!KtZ+7?oA#^Wa>uMK>mkDsWTpY3UReKet z;a3JI@%L|BzIetlElasQTF{qnv>lJ!Lk1Bl-&5>3)FR5FvD?n2{M$}-2dx4XR7#Un zOpZ6k>-=ldFZau@0$SGU9)Dojy2HKw+Hk`EXrDCw>vGD`f)Q-oEkra`Lg|UOWYz@BYE2qx< zGYiw8Eqfb|F$lPtGVRG7jWLBGR3ecZJh@gemD!Ae7UMArAj4*TYX3gmZ#*tF zrR4%OybGr2cYVi1qaChZr|uz{N+v*Oa8IB=+t&mNVEB+{RPCpvX;M$2g{uco>lC!0 z)~sOeH(gId2Bn)@see|{F>mVkWgLfIV6Mmm-+4S=`q8wIbm|z{a;sZu>ib9lMMulB zw-1F1nYX9EEGv_ka9-#_(f?~Kia#HG`DqJdG4Hfc|4`Ft?j4v&}&ehpFhxhY)RmGpf~*cK7MgC6g;{gGE*m zbl$MGsSzS7eU8HpNa(Y&m<@{5fzYWm(j}Q|syE#3Ov)33p-Dg!PQh_e;a`Opi)mL? zg=A)^W-PPnx_?BxZ1%FKluMKyt~O|f0b@xKg~3~*5i`~B`o!tfDvl1P#u?JDLk0C% znJ4n2Y7rAx(75}*YwkS4Ijn!|-qD(WiU`8r!~e(mQ{>JX+HE)SKb{I?jjL41w7DbW z(4qW0Ar>PGyAi!$k}Fc)n_%Xz?wHtL)-xdVTW-1?_`=TGEgff{<}m!D~ z?@uXQSbq$RHP9~A1dxFBxPb`LK&>DUNXV1TPX520yIb%9d2LQ`7Q+DlRFC0UOb4qV zfH&tHO2$*+>Nfwnl;%|?*|-XeY?p+m!AJiH$_qG@76`buVa)BrjDQ`q5CR~b9R8fM z;C7(097^8{t*c*@zdE%3U;NN}e-G`RTjT@a&3_iV(fJpypybR`QwV!U4#rkGpX#6^ z>i0<`ut#g)rTkvunsolS-<=kJPt>`4TJYE&Io-P*>@9x$apT}l8`ZZ?(Z2!`pak{? z1MphMs^~j$$nL5^z~*dF)jW8mEUVZ$1*fuw7e#qzj1rZy+S~n_;TH)${h4MCZ0FBp zJAZTnZFm5~Sq;G3bO7Ud)dlXdfz(x^SMN%i@(QNZHK5n!wZqxq?2(A^7(A#RcNqp> zKpllgbfHG}7$`m*6zi62he<-A__(?eJ1-?pS1`&5c{TVtsME z&*u71GfpxhTPi%}+n(aj$KWKc==T3sNq=y@vsvQaMhNOdO>!fcMZy8lsaMl_H~G7{ zkPo*luD{*4#wiE6_&_Zh`%qJS_maL29=rm;sjnbXlkjxfK6uDHctZCJ^!@>uHC5fx z@^OMkI6scSi_gPFv6QceYz|}oj+;AwUU`uvm5>t@=4XFVD9kKnr^9_ozDfC;hks94 ziRr_N-m~`u#=3bpsMms{gNdxvHi@0<^BcZ-PS-xXDW^H5aFlX)+ITc!#syN!#vE1r zTTm#kwR;6-B{ARXmCdO5B2gABd7d>=R{7;Df&e>gQQamroOuZB)CFr8G6j;Rdhy;c zJP6QY7`lJYpPf6(p|$_VfFK|$F78Fj=*8iRm~B`6k0 zKKkL}OxGa=twC24COQMFy8(^%)}-QRel{E(Wma812*W3Oses{d^r>0oAb*S+k!_v; zy@?_N8{Cf`xTvoDYtHm8dz{)I1dpfe+q;2O*3M-m5?Sl0_D1xhA0{iQ##&p=HgpV{ zsJLqZr!eMs1e@J!jL0VLp5Fa0hB?=~Vr+pSX1afuix>%_ZkBn3cOUO^CiKC^vWNQ% z`90Qr0>{&rsS{^o$y#oxNPo-VZ}N3y=@=nObU1rl*myB_58)f4I^?(*dY08@11HW` zeDluu+r`qllcEN`pH5M(TX|Bklmzj-@dSM?x33&#}itToH&>*HQ-JgJb;r+@L7MkGNT9y7(Q zDXf#1aN`z=T6U7mJWTeUZor6kU<<7uXT!g7N06Ut*s9ecQTXcAKU2*f_c_b`OMD73 za7J~?%bhNfD@zM|YHw=Cz@jnW3Dzm2|09%kOvbk;WTC&PZKRk=zr-IyHj@hF?0qPX zqFnY9gVk7{q30)UD}Uz|m-#AI%XLN!c>{YQgbc6*uz9J_hULz53^Gal@7Gy5nSj!4 z5XSSsgK=HCT(HV6b;eX<8_8AYP>7votCg3y36|^)Yka3=pAWAh11782CmR z=>1VP`aek#4<~%;P{bY1-g4Zh$D{>7SF3#qZ^$C=(3w4q5r6a5D?|?a&>1HsTjnZP`5*O=^4E51F^c^02#Lba6yY$4gVgAat#)`Gyh9-vTq2Gl>dxo*0W z^-@>TLE>aNFNJ9C6)fzyF*V*T|8+lB^gL6tm8vyJz^uZDd;&P@jZmeL;7%6k^s8lc z-e=gs^Qzm<7JnGZ4Z6cxX#_UNmWvnA+@C0ccutUh839B3`>3V4NIaO{$R6-|DKC&k z{(|Y-HvJr_elcv{WNq_9l!{plpWL}mVrR7)l}VG-yEPfByN{7-!?|^EU5XyK|A|;@ zvShPLQyhp}qt=^0&_rlme4zV#6x>tiv5gX+JA1)wdVija{ZygBT_2DxY&1`w0WyOD z-emu_Rw1W@BLggl=8hAxkONZ!`agA^^Rl7ckYp`mlJK)Fm9td*zk196zv|{fUJ$l4 zH@jnzZ0>)r6W)^YUnjhb%4xLa|6V6N&wo1MOX*!C{^$I{e=-a>FuY6yr(Vxj$iBLJ z*S+6QIDbjr{DfOQJ{wN%*f-PJJkDni79Ea9kujUD-(T+x*)O-^+;^YP!H&V0@*`TUwrd5i=e51&OJ_^Y&sRFgV(@-Xn_TO47Kt{S z6vLn{NWVHg74NF=^Z)0k#;W))dV=Zu8lu^3A%8+Pkz7d4W;r{HOnNe3EY;Gq*=~io zRIZo1U7?+Bxm+!!R3b+KWq7Io)a9Yv;q6hO+|A8qF&D_M+dfZkPWfCo8XLih-{}f} z1PKY{7tp9vDx319i|@zn@jIjYK6Yi7HF=`Td5wAFMyu7X^iHKh{(U;TTs)Uwxkiz! z_kX7M^9k4IWlmh!+%9V9aIVEj{OzgpTDk^N!0+RfLIJZ(&L8KivRcbxJsSIA$L|}u z_lQOn3G6}+Cl5g$0seoEOJsn=<$xg5XMG*#`juh8#&XnXh)kr=B4<>>3cU2S9P&S% zZZ%T)H2d<&;0WXpRfXOxAVi{53Fmr$Fn|3ei2%>%6Csx4$$UL}-6mLq@y}#6-Tc3{ zW!^0eG3@R=@IH&k_e1^)`4p(%_gg5a%qx|?=_`uCeCs%Op-rLCe0j6I$!&)}p?RVT zn%`%+%0GC))?_@Hg~CR+HCC}y5}n#SszgQ<|7RrH{APTr;29B`@a2uP!Y)RxC4Z;u zhxo+PORrS#e2Cr`X3d>$_Y-b5j~lTzCxQ6kM(Z^ccQ8eD(2low_Zxii+yQwQWQ@&b z@5{qb&DQ(L{2OcA<8@pP+xhg|8INhnygfcr-yvYoY%66PzWpk$0*(nJ zf=A6ICYG59vtZa#rDACblZmAKGKE6Lhm*N-#Sj>^K2OEH@<0GWcArP|WO|ix zJW;4go(6lY^@%O7M;NkI{dfMZSbQEgMaU6_7DG|bRvjK;JO+Ef zaV|8-6AH7JQyE++%3@YFC>KF0U5%uz#`G+eC8c%ST1K zZn8TwcC))tLO=PL9v{)3gjUcUZ_@q!omW`QG6<^%t#mn!30&x3s3pHD7OSYF{RI6H zE-m|Z_XaKQ7R&c_zC=7KoxW`EM*Puf&EQ`;;Bn*~YZIg3mc@!+)J=R4c_|GC42-az(km{JJpSUMEn={n ziWr`**DRdcoLMA#?T*PDUV!&zhSD2XU-3Bn;~tgK>5V0P;pGfF4pPR5u|zT#c*0*m zN%gjaDM?gb29|Rjs7G|lDUr!F`xMgOUnfjBywerGY7l}}?qU)24G7@)8Hm-yWfjdB{Ro6G^1rB>%IDlH^ zF)*165mYl{nF%YUlW~fRfoJOwxP-Ae?}7Jqrv1K#d4H}xy)ebDanE^;v5lbs<^{&R zQpOtjr>c@USa7AHAIprS;Q~3?_3!+i0{`B7aTxCtHm~4+O^_tju}7-oYF=wV`DUvsVQH+jlq^DORRZ{6%pa9P0AjA4KI=qs}mf-hZ{6p^*zVZ9N>5fuLK!lQo%AHM*p33>F=MkV{xZT_3jkx}H=VCcyLfYU^}- zsnU{h!VRiG&-0WF0|lOR)iVVsf8Z}+$#ONCl|EUEf%|_f>F?13HLdyG5V;tjk{ygj z=XX}oab&U8sQ8bt?8{;CsG9$JKHb^*1?n8w9)JIh23!{no4JC-JQ|IyWbV-WvLChB zVIq~k6~p+-Idjf#`_RbM<8W^(nL?W$PI~+2m>YwC#t{Cc^?Wfuopv#F7GK!O;u_}^ zpT|Min!wq(-`9g3o5cno%{^@kw90-x;SqM@Bj4-$pj)X*Ta=DtyH_yzcbe;=`MW;f zD1V@;o4?rKlaf&0OttPPNMqDV=kkW0EhC(+^#6fmjU|4FeREV^?|Eh6zWpRvZ#3dN zn#q)c@|ej+WI9qR)92@Qu@*4-mAlNQ!7^2s$Ls2j$!77;Vzqe#_9usqC7a)O_L{@# ztnDVx+t@+8{^@bTbIUT~*&zH>COP?;|0a*z{)@oP7$sgmeLT2%X#|c7M#2 z3f2V>9xE ztDdw)&VdV6GH|$4x%KH$8P>u-FkmIRL7Hq>%*KD-sv~vhfR~~0o5`HDj;D|{a-Ibh zONBhSkuIN2{pMn6_IcJBPbP&Fa(}`EBBqrN=(~WpQ8n3EyHRWQ#BB6Pgm^rQ=rWzi zNPc^~qPzPb%S3hnh4L+}hhPP(o5k_%G!O~gy4)dzTF%eTp|uECHCbo12#&|&%+p^5jMZ;v-+3~^8d}#w zyg?Zz@AJN*2m5W*m48dR@k%hhzTx3`TmtfX4@=B3^;HN3$onf+JpG z7}bMTy^7anyJ2evpHRh;y=eP03>x((*Ilyl0zauJ*2UcbpWdFM@B+5@>Qa(*U+oZ<$AggEw5MH|7dIO)yxI!AWvWHgM zhkqyj)VONZ6a|kfF@Mw!{0%mn-BLi0dSif`xH7tcIbzx8{kq+X=%?9~it^%Gjt^wH zdHFcl0=WTjQ?Zc9=!+RW88d)j#`gaet&s5Xa=h#MngRmWNU{g zZm`&QS$!f{&-$a*P3RVT0PHtWG>vK#QRXlVHYR)=Btsd+;lbuBEbARG0$wAi^=22_ z&%~Vb7Kf;oCb#cFCDw+Ejoxj#Gx#r6|CUzUK{XJ>H;r82LDAR0?vUc`Xa7Dr*wkX% zU%JibhS!Yr)qiMKC7laX_A7m>KOYQdxW7==Q}r3vrhqzN=dV^DK2U0YE12$l#`$@2 zPPcPegdx(k(F}?`Tcf+@7bs)eWV@kK6u=+g%^jembvMtDbp~!xm|bY=cu3b@vV@^& zI$VA=n^G#BDon_Fm=6a z#7LNje@vww3ZVOlpKURDy*vqILb@bX3Eec@6nl>++Boe2-BF~nwaPmdpAbMcO|fqP zcbH}H{d|m!HsnFT1(s&`(~6p%4Un4@`LD!^6#-9QuF>`o-Vb0S@(+0k=u3f1aB}+Wx(Y%FpfqKJuACEQNzCzh|#%iSo*ejRjZgJ>Emh~vZ ztG9@9d;4hO3BQwndi^B$;b$qjBIs^g%Kp4CwqQ6p@CJ6UH-A+5abi3y{sO*>IE!*X zK7aDOi0uJCaSmop{j2Vvx>(>1>&5gi-)1z&*Azbc4ElC3QmdHZ#vMDXJG!&4c%WLV z6}&gNXX#&b^ITxsT5MpqQ?+~+8-E8JjkFb5IaVVhlB7ZmF20c9N5nQ&gAlvm~Uc3pvP3neurETgF zCH0l+l_HIMXcL40)&-1TFHlFX5m&^Rch~hdaha9MP=d`g@3vM93lt)^kxyK+UJ&{9 zd~CMYt~IpmeXU8b+0bnSvg|=1uQ}SYf!F*jyK4}i*K zUK0#b*4Lj@I@vVdwHG1Wx6RjkOU4a1C?D~9z$0_ZmQILFn6-(JU15og$F4hPdpfCj z6h_SSy-8>u6@Br~b)=VyK-$%0RexegSZ{@#8xZLZ!60vzObK8-V<+M?TK$G$82x$h z*T6o%hc*Xm*yc(k^Y7c^TrvAuBH4@85jPx+$Xu^HiCA6{K|&r?+QA)d_Cb+eUIn!O zWLa+H3O2bK7Y?CGgZV6>w8{Ete?D&qxi6IR(rIu86^MF;@W0#`ozksKWPc*?1&?h0 zO9mKS@m;N)YrH(oin07JArxl{>6|g)QXN*4eaZ}G1GLO0t{>7QXod?=pzkiIFPPKW zhUQ<}AD@VC=e0=0)zTktkC~y+;H%c5yBMQmskCWA=rl=33n++e?oz4Lrc6K(h=G1xtG zj*3Qct~UYy9q7?SYG&PSu`t?I*etj09P7{USbk`mpF5!NjvmrB!}A`C^*&ZO_g`ql z)=h=jcaG1tP)5M_f?)`R#c~3AQbCXpMeA&pFdKFA0H*ms!R!5Dsec05?HZkInOC?y zraMdlz|X1L4X^rw5OZ+Y{Us(lw$fa36-fdq!`qQlGvV2d4ilp{=Oe@Mbka)oDvh;O z_5~1&ozG*vj&aQsAnpB);EnJU+4HD*acc|1;XXF7LY{_tOc>h^YET7(@U|6 z;lKfRhn>9QC{x80Y3!FWBR5iNtPX^1uX~9!#isCk@C7#YV1FYfaQjNaPX6dN=9z}e z0hwwB@9*61O8?dZ&o5H_JQQk}Uv7Utt_Ui%;|pnz0!7LiK!2E>NPoKB!*CcvqZh60$1B2q6fk9Hp0Mh%4YixkilUbw6c`P zztDBDT?>{`XK&Q3oF}p zf|(!;em@_|Cbbk1(*KdKP&qdHi58tSM+%|XN{?@T^5=H3S=_Her;xhV<6ikqM0{Hz z1l^hdLDhD$z2APhO?ZFP;&X^QiA7wsLZh%DgMkPxA?$ce=L1<16|0vc{q^o^J1%LV zTI-wn;D20)Eq4I;?UKpvahJ_#WU<~keFe?C>?dcunjdWQ)J=c2N+*31tAwFugMCTH zOrLtcW(ie=hi8n$R?RXO3$suTK79v?jb zk$*9q6szk1E!2Hw!K4r8I@pTR>q_4Tp~He$(BExc^uDy7uNp^ECtC%wV}Tz;T^)LW z;e|7Z%Xhfp^#QUM@nEooyp;<-ntt+|uhXr-r4j?xK7hbAUX6!X+IXR5KgziaU?6Z$ zKVQG_pmAR=*u(olz#hA_t)omh=#2Hg+JAU0(`YhwKuX2}<65M)k$Vioh8xxTSHMRVo32%NbM%wfMJ^F<)9)n_nIpc<8)Bc=!hbt) z$v>iDE;v@UPEh+Ew@643r)O>|Ub&6a&$9P$!Q{H;%Q=#04ANR0HM?w;P%dZd6uUw6 zcR(K1y~z0lv){DXNGRF8&Qogcy?gPiasuDhtd`4@`k+B>#qh20ne5mrHF_MM>X#u3 zg|<3D*gYkvO8J))dPNAe!Xnr9y7nYAkJA;X9T`p z3KhDfv4d1Zu$+!(I6R*&D>pSV*2^?2Q#y{J`}KXMM!rBHCt2+qjgDo59!Y69hD5w+ z>V?D$)lcWgp)HcCmB+BS4TJ0LZ}MUW= zW3kW0<`j$JREG^laM>M;6xzk$L0_tLdbjn(x?l#S4bej%&2azDV5Y$X)8Psgu}(}q zW!tKA&5&dG08cUZ<;?1<6}!!{J2k|QTIu0Pi1W(jxUzCKy8!TCkmio3d_Dtz?&H6S$EW8T#hoL36*^JVFJ{9f#YhV9N zv@-S`)`x*`JDc_TG8VgK!D$@sSAiwtf>gVY>q~e7lNNDMZ%?K{8h^1xk#z3HZirwz zF`_A2=2x46SlL|X4&y>hj9K~--^Z(h%9r0)J4?>G+nEI%F7|3z<+7#qq+XkJF_R5| zm%t7lbVR>32QmDWjvYNNH>U#Ub+>PLaw|) zx656looi_c&ig%-EPn)^U)7S^h~EGr=#}T?)Zl0o<$~H~*`qo~!!h7^g~y4h5|W9r zHz12qMB^o@Yr>^$hzPht0-}QACpOKD6&wCRc7h189lBov?r*w8_Gh z=b-q3GEXDeZ-dYJhZ>kr{sdwxp`i4kGwjPT#SDmE^|IsM?|;`(POqn~^dE29cTHUI z4^;8ZQ;83B$LTH-VtDl|LN8Uf3Rb+ zennV3gkMG>!2C#vA&W*>E3#!#Z zVK`F1eZpF;{&MPO&SJWoF7cOI1YX^zZe`C8#($S^qZ^Ou%NjhI6Ep%gI6nH<%XE4} zPA^KMH(a~Qmr1_DEpARhLA@AcWW5+JF)t#y@5g$9>@G$hbT=xcWo;sdx&XMr^);xz zbqA>G5G;N#_;=`qvOyRCtYwo~rzU*0L-ezpjqT%j)An%}&}Axqnm4q&m#nCU{ z{D02}bT6rtjHNgTsYzUK>XEF%O@K3h{@_QjrD^xA>=a?Iil**muwa7BMr`d0?}gbm z8*rP?0qfJvRmsMp#f8Rm36E=c;TtNzWeB+Bguxp|=BTf4X0Qh)Pz3w9$r?~3y=+#WEQa^tUUhOlt2epHRF zIvVCyJRshQk~ZFSZSl`dO>B4C zs(YX6n2xZ$e=tNk^?F=!sINbou){z>>zzP^UKt`483{S5t1&7o9!@5RV6z8<-GA*G z44Q*|>q{f=Iq+it{-dUTe2bXPH5&;Do6!_v|OzQ0_%$3&y(h);UR}K9ZXOM=RMC{|q?V|Nu|I~_ezhEJF z){2jNwg5(D>K*e)@(WeZRA*eiGk+f%C2rOs=I_`BGjLsBY)^Gqno(vU0}?;qRpgVz z7tE}GHL&A)EILPSfILD&3SB}tzcL1;$A$O~{mv;2B!_jOx6y1aP@T%GWGussbyT0g zVP*Epo19R0i9}zJk2dZort_VP11b_=H8DGt^w!~>L1}!UMu@<{dqkqwq_c0h{ z`H?{Ax9{Mxsrmjr!aaU_gr(SeI$xqX4Gs&IgJQl}N8fBBvE_u>V}k!stN}00R=lB8 zihPEycLIw(NoXHfz?te4G(7Gd)WMc)iS&!qAX@ly;Oq$2+sx%*Rbm-FS4<-K^jEyQ z#L(|{@wnW)9}+oA(@z~|b$@RelyeIuL-d45UBP4o_&~AzA;ixoa%&kl}%fzwt0$7pH3ZP#+6e^O&EKc&EB;4>Z zP&$Zyt*KRN3Q71T(`fy^M7y9cC1~`_zZ)k+q5No=ng^+^ADYF!vVST~`T_IfCy5B< zI}fdl=ff&AS@kV(<>#+V^5)v2kCtkes@-6P&<6|jP!maXwO2usERHkUBS#&Hu=g=M z4-T76A|ms06j6)evp)XarP_GG*b9v*=N!p+|0O;$miIqSGonp=(T{<%fH>Z}y7C4H z+u8K$_h7a6U?aHq@_$5hr}qyqiDv{G(q+0NLgg;3bIV@30F1r;&z+30W}S%?s(kwn zj{{R6*~#$Yh1StnK9|}a<$7=I6^Feg`ag*Gvr2MgO=dRyUd{L*7=Tx1*9)Go&qxgV zKNMYn%644p!Ky}Tvcla`S)c0IjhsWaYOvh>`rj^_KMoy0*`zX1?%U?(rR-r{2wVr(uHVWh z0%?jc?hmJh2*U=v)Vg96NPJ5pk)zv#EShVo5-lW{mM$L0? zPC)l6^%5|tQY|KtQn@m2HUm{J{ep6d9HFX~-;BhBUVl8$Njh%nZdLJePnI|~vQfGO zu$Y)t1#Y|OAoJ~Eh@Y4Cr5NM|EbKb;}>PO zv3h;%c7MrIf2LCBnM={VuaO<~Y%Ymthq$)=*b969t>Mma*~3AnQ4sFw*T4PQdCj08 zyX`mdG|sA;y%47dTZfTs*8M1pcI7fj6(_&BxfA!%eY}2u-&yOAgLJ_}^jHb)Mfj_U z@W^%ey?#YAh_!3kGuyR}W+c(qPbAIT!?E)D?tfsjXO+hP!f470;dY<6>?hrK)?1cK zPb-*8YdVWbUf}D!;&27LI-8A3Mc)V5``0wi=**iH{CD2w&f4itDGolTd%PaK+=4Yb zjCzAM*F7Ytr!3eK&Ifo@T)ivDAbTsL!=-~hXB?TM#PR7cnZCYjC!u4F;oR# z%YWr+e%jG+5SGf%w4+MZ+W~iVx*xMnlk+>u#f~P)WDhic(-4RnFd8=Neb(RMDoN_l z78joHHvGDETE)QlW6ftPy);>Du|0lYugA&Twkbqv;uQU>W)g;m7PkDMI?CWuBL;OR zq&m_UaicL(ayN$VhpSA(7vBl+zvy*4lz&5xYH_(OxF=n>2TVpmpo2mfQ8a3#u@`o( zWyaB{&_D@K%?F}{$d<{vla?a$XlK3fqxHj4;C!+8!HjT55c>7&Q`pqC+eB8}yubW` zm&p1c-)`9*z0~z&H}|9T+>yh*-V0%|>RbnqPud(n1;*7ms#HxW)(Ow_?ZL(+9e>*W ztmZxR6&8AbMC2-ohhM&)aJB`WHrma&j%TyrRwk}VheWBVGR!VB<~*m=2P2ZkF&9or zE;|n3M=RoS4bG9_ML~#wM`h>@0Q$>i?cX0)c0S1q+3i;+Ee6OhZvvhdYuOoUEEbC9 zb%9rWy@wnJ&&YUtZ$^R2Bn*5eG=CpO1p9~(>uumDthBzp&h=`7E{!seL^R`nPyypc z)9SS-_c1WF_L6sH3GU#%A!Ge82aVZt8b$AsNf;Fjihn;)X?dB? zFlr|-@RRI;RuiXdz-g`1BvGp~wLWPq0-rDHe6lAE*@ZO&^0R0! zVN89q!VbW8!2m?M+}VHR^kCTOKboSHa$Gt7ib?mb5A{=n90B62o9CTx_3WkYT<$G& zs_-D(wE;2NTT7j8IJATw-pNWCh+4X!w06ko;Rs=!JdLKz|8i4|-PW0jJJ{ z>AslQlb-;i>RO*zH%&s9?2o1d1l)_W)@c0?{|hUZI_K`qYyf!m{G?ra)}6iNiiPfT z)YeWF|0RQOYcxJZi|35XI7^zA^F@1rza9?K10UG~f9) z8lj-UA0NV6(b<08!1T(Hm)9sIJ?bS(`Rn`@lG2aC=2)&`{EEzt_k>(m1U3OH_lw#- z29F1Y_s%DyhmA|VxE0NV=4GvWSXab7G@2c9)vB;IzaiDYFn?KxE&$St*DX@jsaW)R z=T2CaLDm&VjgF*|IJ_eD#JcN=Y%^|?y|VbJ+o#JoX-Ow|WaehrdJ>IR3Pn(ZkkfX* zVuNZRvCu~rrA-Fwq~JR0ZgV(xYW#F)Y-f?g|3TYdM%C49+rn@N?jb;M3&AxI+@0X= z?(XgqAUMI@-G3JDPH=a3cU{PW1uxm>?0dhv&-3hkzt-OO&z!BXYD$e!)vNbWV@%>; z9=h2-`}mY#GrLmAWDLi~?OjZFmd+FpOPMiFs7nXOib9gsyG9dA9OLRUnGXNvWPh4o zg+`2@b;&i&l>a!rLm@&-2&WjCa>RJZ<~WXz+uf3fUVj527GFz=cYc%mu`g`uoy;qp zi47?)c2`Vlu;!LvkkTy_t@%v3z2R}6jk|iO*XrRE!i+sS#dMiu67@deb9Y;V%!{>V zqX|zK`XXbmNI)G*1f{5`s$i>?aPn&J6W9^gc@Cd%k|3MPu1%dUX*qt3#q}YA*c{uS1>}4 zz1~lANj@1&Uu?2hnk|c5mWP004I{A}qy)wULz8^P@M$rowvwCsqnVLDCK=_{>aw4b z%ZafSwwUb%2EO&^bqB;Bb@?!q5#4ItRLd8v;D5fjNF>sRQcc10(e4*@fKn~wF)=X| z*0XA5jA_nx95mpk(GzGA3kYmGgiI%Nh#7whl88fhB}V~`;XSZ(ijX}7z#nh3YKGBX z+?)d(_6AKvg);8mq<2F()>J4l)%*6*hb>a`1j1YaR zDZ30oA^I8)LD05QyW2k{v(8{6zMBBY(vC!J_8Q8gOTi*Q;|@a1%a^>Fj5O;B+oX z(LqipUz(NYG1l#vK5cE?4KD??HgS6NbR^l`AC%=%eQ$0QPK7BT_E!GEAa z@l6%p_%Cg~s~$evDJF?D)`Vu(Boo7OB439XXpX4K-_=6Oz$zcZ_0a)VGHT@}05w3$ zztRUif`cWVeSbOo;XccuRA*PGFQgsLbns$CsLoQkNN9Zx6o*re}EZoi3m8k6*J4 z9nY!Obkcg7_*Ng%WHb2RGf@8kn={V?0q{iAHO525gzdw(dy%$Ib*+^)H<2t=Suc^7 zlMCrd2Xc$~heIBz3l$!7_s=*{JZuqN>hMoq>F??g1k}K1_j=+2jPH?X=^_HalyHC8 zes3z&>s=@Cg3e;XMes5(BT(h6_0s&XT=Q&ohXZhfy`ri3Ho7(!8)8j3658GeFS%{3=-A>;l#9zdXc zxa-CIGYQUa{rrRaN&E2NaoDUUt4x2kf8941)|bmOVW0gE41@tJYkJ<}oEw_GC!P^s z7j?Q(FLp&FR8%g~-8LE(looU?HNKwlsz}k;84V+{5V`c%WjP`2j)+~f0~2vDbWa;> z*QFR-PfS__ma%M9EY|bkt&NBF#!ePyL|MCvl_L%rF*(M`RXVH9&op%W=Ba;8ZeeN3 ztP4!iVYW#}@$gtL_iAi>RN&aCwB z5%L=SbYPeuf?GE!xl9;IECGG9T~_)Esz>{l51Bw{sZ#!v5?#`8!MMM&@LP#u*`?a5 z0350)2V4ZOApBE_=X2og15AIvF^^>ON#CdQF02WeVDc>h{IS*tR|4i5*Xx1sc{8}y+oS2Jn!a$%2HTo%yvtBP*SN)~pH#2Ck?*2BS;}?8k#nOq z(V@8xrwfQ?e{rjEn9k`b4YBIC?&-FgC>wu(7DecCT5odaVrJ}Q&hvkhPYovXR$svC ze!x&tLc(QAJ^p4@kdHg&*N~QIbs6a#S7In0Q#WvB*uEs2!qj}+$~X^8P7C)jqnshR zBCoUW_(zB0{Bebad#MsV0BNL}-n4J?_h(cgB$v_&q@%_Scipchc0>pQg2>bJ<&dg$ zetJ>2$6QJT?Fi&&r}2NhQ9tJ^l(lhQd*u&m55{Q>>Bg1<*mqBABCDt})QG~JvoyPUI*@(p?0D?O9XId>v3wgQ zSn5(C6ji*uRujk5QjVeSrDW#D(>q6>K*h6G8i!G&qns;FZ6Jfgrfqq^8p*RhX@kil z$a14FC3UBzV>N$ER;m4aWSXmW-qs`KQV6`CIVAnt^$ zt^*#H&Y8g&&0@Ri3JD?7Ijy^OLaO0c8}d%3v}h3(N2zJq41ChyAv8~%;w0Rjh*_V9ShpNPKoz_qsPc+9Lif(@lYykH~D&G0udhAc?d{erz zK34@AG+!J2FLM##S&MPsDdPS>9kg7ql^68~;{Rypx3*ElmmI)F*+S5ZDU!o6Xpf-Q zVF#s29Nu+$Sk)no+Ri^!CJVMdp|+j~i7VY8y`iAlFLlzk;Um|LoU1EE7=rnuFjRvC z>i9i-Mwx#zyvtumFnWRBl#UXRHa?&X9vdUZXer)1uZ;NttkgzTi=7YiWs#>x`rH{j zz5*GSzcc5{A{GxK^}a9Zmvr&>^iqRow?vo1CgvnRfXgMX01pLAzJ5_{@7WGIgQu`Dw7U#dW_k zeC^JQN1#e4gcH?q{E3Cyomu(MfE=~QH5MHJ`{^MDiiH%rC^bt@ny>T(z*3Ry^7dI(H2Skcuk;G z5vFU4piSmoZ}!+o+*gh%xH6jrlOEoy)DA@Ji3 z3>-+mLcjdz_IxUZ&APJ&L^V&qYt8EHeKZdLPMoOGawZ-3n~n5Q4MsL$J8a2VrZRtx zXA(;3>ps1j=-99My56aVMeO!!>m*Q&f%M7=AyKT|D2Det>u^+_82%}b^7d`9c_L~Q zozuxMS#;^oto?%4oOjtObhv+M1B~r|ASqAE<_vR*X=O*i_hvOE?g9En)%p5;L}21r z`keJ)lMR?Zq*^Cu#s)(2S;*J>{CzU(>wZ4uWc;3dhin5nP^wGJgQhfe2h6~-dGy#G?l3-k@uGH_C&3AIY)r- z&-+lVZ$PbEi2>YWdL%n66K(ExGTb>+Dpat(!GQ0NSV)iJQ3%@|DmE*j{&CgdHOHCC zW?5sf>t3&@G<|=k$wx3g(N@+AdK(9sGjB3f5S=^%(Esz33DuYdkT~e1a9SvdMC%Q$ zCjK{C(TwKX_bvuY8T1MK)ABUpJA%wA(V8)rKLmLM6v{y^D%Udz1SU18_(1< ztf5{ZVgi56s&13lX!1?t)0{s9V^FAVS}s(=(g76l>nO^U?5>&886A-hH_Zk>qf3sW zHQzXp<}J@YaC*r+2d(Q3nQy?ulyQCJPwT>EW)2H1JeU(BU1_k=n;A@PRf`8fFW>pZ zq&ZvuL(~+9YkCIdRo?lmob5q~h9r4-ke|(=rhk9*3wo5>pB}s;%V^YWJ!G_5(6ctJ zUykAoniiF>h|_dmd-mhnx0P0dMfg-^#u)gW3%WfwO6Np%a!`PKbzi@TQit8MBJ0-? zVBUc-ZV^4O_>L_j%UkLVOi0DnKQ41^;?8jk5ybt{{<9D_T)-7G@;y)m@X zr{jMle4aqAA}FCgd~@NqLB2kES;Ga*?OFeeg>g9WtA0Uo{8Y=mfdF!#ERIGTO4C8~ zRexop3k@5<2VEj1mkAIOpv`Y=h3cZ!TYu31Y;DV+IbRw5b3}Amd%?DmgW&9>f$zqm zs5t*j<7>DnUpfaeK)HmIME-;*$K z6n@@1euUlImlPn1_nvBze;YJcmPhCPo!x|F)A@Eu)|wdk;>(m}WH?|X=i?W|0JML6 z_eTc5Y`&TBfTP^N<@d#8p#)q}?q1V06?!i=dnlhMlDU+Ke+b%~9sNkjsQHJYGcp^JO^PQj#~DVzEw-;CYkQv~r=3aw2x9h9e<_`7C#qm@sh ztT`UtLWtFSe?R0kuvT)d&JE8qm9yjxMmvxUJ$^-T?$5iOgDd6YeQD= zL5s}}dXvLSv7_2mKO%|6u+4?BX+&6L8MG?gw|Hy*fMnnq*XiREU7#X&nWoZHpv*|w z#*y8;WpOg8jnQ@We&~}adUKW+(1O&`LuSw3p|;$7=nxk{)&EeA76;LWSDcq+`xiVCstK{Klv5 zJzQuyRafmmPwE5D`&cO)vt=3JeF9qi_4+IiYJEoAy>k{*Va&Y2`6+9Zt6rfh)#bOb zk%U%6ob57$`nUx7@STD@2yNd<%7TunjF=eixlTPs0Q$&DDmWfX#?Pd?sQ#f|w6cfmpC_B-c?$4QMbok`@L<5fH8yhi$QTGw@Ad_X z(Zaq%nNZwDHkfZHAH9yoe}$}2?-0j14*L#tn;by^qGAU=*g<*E$PI+-tO>#1`AnA4 z1JR)t_lI@DjLWqA4OB$F}dmz?)t#y)kT-i0|ba9z3K)v4uIY>V+_;8a&?4Ht8 zekJe^A=V&}AfwmnkfHhryI@#8bB!kxlJuuLKVbb2aXn2LbdV_ZEaqkDzrex05Ab{Y z;V)0@B=2-$v0lZIK68>#*!+FF|8<%Q^J6T^!_@h%_2B~)6oh{O|GznP!9(cFaOHgd zfB(Mz>@rc?pZvQnI$vcrykFbl2jXOTzkmNo!I}kLeFiS*I=%EjOQew__l1#dynogs z*Z&W<-0T+PPoAN-_Ilp^emqr%#dEi4NR5F#cC|B5)Q^m(P)jbYWw3tr-m%qqrQvq} z?(B9KU3T>fZfAeZ^P*FBf*bs8Z}b;wM2UpLf9$I;(fiNCCy*=JnvK(~tu9kC9d~C- zai3^)q%O|a&q(*%;cKi1P?mi+yV{4O9MGT$?Vu`k+C^Wv9MAc*M~DE=!UyBpcCoZxXe7?4NKAED8aW zp-+=7k+W%`b3!UhiR|l3+b>Q7&`}zo^D%hY=`gzo35PeGUZ<_N{Q+8^iB6;Dw^zTk zt&Hgno^7%X9-D1pA)TheoJPIbL$Q2e%de;mu9<(F3En)GlLf^w58xpPcv2ULa|DJ( z&Rx4`FWM$vPjx;SWJF?a*YyP_kV|JsIODP8Y5-4W(jRZ&(*&gXo*zho1nhDNjn)HE zb^0^pXCl6@U^eLt-i+gKX8b@rwnB4eQ))J5zg4*RU$On^G+n2|wLM;oEURL5Yo3ts zx72_7Ye(xUNH4x<>Ut$OB**=kJ>_3sJ?PMgDz<_c(f5<3(Hk#QT1 zVID|4c+Edb#1MBV#=NrGOhw+K@;wh)?v_DVnt`#FC&h?}BIL2(eAeHf{mtVP>wJ7PWJG%XCJLJ+6k75Q1b4bJVgcpXgo&0;f5!WPC^X_6pm+0Fct4dmuexXWHVSJHCQc04cSj^JHh=5G=b{N zTd0`({gHULc(&;kP~^3Dd=E!O-@NB(EqbN)Qvhv()rJFw)#&8Kn~kY~@ zWbnMUTY|N4Le1&Ky9=cvh-7pqxzwtKB+A-rPfU!6&ZG zSziF*?I{Z5@Y@XZ=J!3k)Ca}m)N-kR z#+m-D3eYLo?h7kP1^~3a&y}eZ>`SL9M4c{`+=MeIba1=J=hv_tQ76#Ql$^AkvNN(?j&zGXL|59~tn4PaXfRXcxh>PN!C*ug!g zG_*~8Q>@v3)6p4ht~MU8fvB4zMIFzvQTRL(=*cNj*R$n18OyagR^no>Hxqo+qweFi z+y_a#+MLwg&f0yWraz!_xZT;?xtkqIIAyb#g4mwN60)Arp*{z``(h-aS}ekGotQtq z_5@vA?iUt0f7U9$pDuqwshPQb%wBU|RP^eac#T0_rbHQErWA6GK`T@?Z?zi-ja4FF z>k>~d>BEaNnNF|WlGl?%8?pkNw@ENb)DkJtpK-bE?vT|A=Lsj%r%|!wS9iq9i^}kX z&OgBY#j`dX-9(8x`?2ogwx-l~A?fJ`8_Y?(RDaSaSFaIC<+*?Uan^QHoOkci)vt2~ zGU{@nctvT8IgIR!?>>hB`t@q9YnG4FK!AVVc;kg1+Bd^HL0opHh#mrLfoYqU9%H2{ zHId;IKz<7w`es@XphKolLN)JO%C&sKF|vB;ZB!{qe5Z7XO`Y>oT4~1Ad<;TO=6+RS zkY}+}*OcRKQlozzM<4!=;g5CRLk=uvD^ZQ_b4N9s;$=o&4|x`yAXVlp*yO<_a#s>{@zDx_*|<o|@HUx{&8^#;uZR~7awsh#m#PeYVgd z1kql`|I%ERi&JQqQJf=6Yw-GY=krjVQio~FL&0B<+|Ro_u>N}G@3Q*aT&d1UnOd&y zJ)H^FebRpu5*m6L!au(S;PTt(X}qz-{bZaP@GLS?=EiB5E@O6YfXYJOdV6RZMRazd ztVkkW}-Y2{LUiatgtaXjY6gE4ovpySbKuPMeRAA~<2oXWH$RSC0uC2JObU$E zz%gd=L3qgG-~4H2NUO&Y*ZNXXS>Lp`mb1TWe!^YM8!mqJ1_I6N3-!**R;mg#I_rok zi`)nYQUmKzZwULV@tVh2%uGjxQ~}zGdpJy9T9f(f9tS-2!JjuiS#!-$z@Ddnx=m%y z0L6c0`esWMz6pPeRsE=j%tc4dB*qKrtY$xy+S_lS;{GXXohnrn%O*lTO4(w|*sPbM z;Izy%Ig`#O%tkQeG)>nD=`#LqQRmXvsRkn*4up>Fbg*0nhnGy=nlPN7D2=R}H?kDrZg7 zfHMNuj>k$|SiWaB5zMPB&Bljs7LxTB2n~QPweI9@e64&VV_Z%HudavcdF6BHf1+3N z&p+r@x6GLMnedwtoU|VK>DB~a(POQtV({&e^5`4C2}9VOAc{f2?y+n9h&`X$B{hHk zJ7O2mfnvmO?)y|PRia>VvsA83!%N)}-|=+LWt==kI1WnZRHiomBHwDf`8=M%RYWM? z&}6@JU3~|AI~;*?9OB`xehs#ECaqWZ9$XAXe;nL2^SC){q#~3wvOH?T9gWxk&TGy_ zrfgWMXTa&)68SvnXC!Dr`^S8E7iWKdI0!#m>q()}Xz{ggD-MF^2}RzVKS)Z_=j+SC zJm2l{^U*iwZAy=Wwfn~}T?Tv6yogi^jEG{<*y3v~PMdZ8iVK9`5|_x*IlL5J2_5dXY3P94^&;<>O>ExGjZm^sDgiybRr!K z+qLWYqf=#{-N5UJH1>?^gE47l9UMt^7i8_8R6C^R3BN6+GEvOR2`!K3tEN)!Wxhq{ zp7@m624zKD?re%J%BSHuys_-TH(0(XzVe5)dw#n38LhZb`6@V~TABB)L}9X~ua@I9 zYqo7nQX=yA=@ELd^-1Be2xfl-`eX~TCI)1oVe6+lcd+F%2~Cl~4-4&Nb~=ZLL32gMNn@-yEUR^Cd^i{HQS(jl1h~zhP61t~EiypiX~IVl7uM&2NTr zeDz28VVdcls^ja-%5yzPI@{^WhRbJCEb;y!XT#q~JF3$MH!hZ17hIzMK%9RGFr=pUs!JCK5W+D#A6ceWC>g^@)k&tG#y(#CIT7Eph92;w4x z%|{0Xl=3vl_H4ihDyn}!9P!F77mn@bE3~B6+}osfd7Ccsz?TX{F)i)fezMo`dBzbq zN(kS~r>2auTMLl)M-a!B6+^d!%uo6;m1^A3j%VwmAG`a)8Z*(m7R}ajtCwC?E1L6C zElz)!*ZH7Zi96+N34thsH_z{R8CRq*AMQF0L=dK{y3s6r66t?aafsbRqp_i{_qNbQ zcaolE`X z?nEz3nd&}ja2`C89K|#co^>HRgR9jP{AIH7EQMk%u~81-l*Vmo>kR!$qP@g>q7HFh0`IbYG3 zL5VnP8LM>+kyG2dzA*awM-BPoQI_6j>sH|b`5R6Gz=1LoP2Rb^Wu4~u>6L#_68gU@ zz%pCY*vx;sh{B6fIZvEB5m}>Rbh|*mZ}t*s_{vyxF7ljK^g8-dQ)E^>v+1nz1lK6u@t}uj5L2! zzWU!qG|XLDKyJLU`SP!8YRVzi9%mYX&YE~+!-*_vV zD0{Y3g^@je%0JB*n%7OCaxG8)y9P#;McrabFH{q92mW`2TwtV1%24fW#MRS{UPNS zwGiP>5*}N;W^bYOSj`bX?U{L1e3cJUlZBL;#FA4MuVY7dZ23O(wb7B_4bH>+fxLeK z8S2Kn43Fz%TXPUIv+!dU*K37?kmeqpR^mZ%xTA|~Gf?}_0hYX)wjUS_8w6n_3sc8ODVY@tC#)|KTd%HOWHCjp;N%`_<*Db$ zyKsLztAoVXc8DaGaA-wrvv~xHiI{)=XWQ%B6ChuAq9M6MT&AM?{}goGHDALYk zL}#Y9g1?v($!fJ+XpoahJ7@F!e535?05M_X48$#?H8$T55mu)j#b3a#eRh8!h*ABe zpp2BrsA^+lp64yEOA|bQSHDeA{#v`+It=TLdFIbs0e|!v{9W;)ylfd&wT|TZ^^qd? zwQH_$H4MG6;+tCVL5*eo4$7(GwW}d zV|aLzH{gr`X^q0hV^R)A_dh-Pcv-658HBT8sly1l-ckL(a7L%;sF^Ar9JcZzP*ikv zb8LI)y8w7KcyZ$H+F^AiU6bNKfW1{5Ri!;Ej{)L}$(*43+I^dZ@yIf?#`~i2rw)nl zrTF%0V)@`X-&AxL4{(1e^Ku8ALDYPD!I-eQ0($CRYjHR#kR*m>4tyMNG#QnP{Vi7jp*j;$0FIioB{z*ChVPTDQaRs7T)=Z;M@M zb@F36loxV?5GQqD=Lp$Z5lh&_32hA%FjBYsJY!|Dc!fj|pfgh^U*^lQu7$2e74NLn zjj$U<@XK*HHOcQJDMXJ z^PoH7_(*9~rr{3YLT*RYS@{WLi&g5*OCbTtNsW-tK1`)1EQz`N6O6+6=%HK_FX%9D zzT9h#LMngRZ)TalNXA?G5S^k~T4FVE`cA?R=cSyG3OR|b8V6$qvmdZ1FA^ zOOnPCN!h8i85OdtU2Y4c(cI-SbcYc{I}MZGU37nEqbW>s-OuhN26HezY&d7X4iT?sJnqKpUiRu=oq*e{-NCY5~^T~G2uKoG({n=^lJ zCwue_GVRt`QqR)Gly9j@Wp=+xa}AmMI#{>_;Qu=dUBnrMA3Sq|@9!>xzR$rxJ?QA4 z&<1}}*HgQ9hw;wUnB&4eeRAte6)RPt2E<+|npzTduR;zv-aaxFgx#dNC`3LjR$t&7 z&}tU`P#2!v+mB3xFbw9CDybhpGHSl!T2RYnU;ms@7>Nhh<1Gg-izi0kCI6qjcxU(r6!=0Be6iZvG1&c!t5|u3i~XMj7Ybxo!ID=a#w( zTDet6RG)U~Kq-~c_xAoQ2u@sCjf4wwx2d_Cc^iV)B_od((svqwD;s^?tW39O`v%jQ zMOsNpHkp$QO%I)|&X;{(*Mtf4H_|Y#lHz%-NY~g8@JcWWpJaW zZI^<8oB6X9c+SF#I`0FSd07v20wE}7tkKP9cT$~Fi3G}=TiMS0mnWxRa~4&?OzJq4 zde0rR6=|G35j((19OTylcSl%>KB<2TfNYiu492774;IaVr_)g9 z0e;B-2brFUyz8yusU33BY6cPi$huy7&vOXVnJg4S@8lBj7>Wf7F8}zs^ap|PNM4vHBdLo5`)b_%LPv+oL&=_6Lof-wm^9=kp#Ky<0jble2C+sb8)fCF&(s zo1#mafXB0P5zIdZ1_FbD7TbR+@>nV-@3p(I)F+(A)0c`Z5AK#n7UsfWu~9@MRdSHa zMWOb(rmh2^ZyqIJ{Vx@wm{#CzI$uDoM^@GhY*wRiiFmtcG%B<@SnqX}eht``V=Xbb z&&^qve~$JkuQBR9CcAahda3FvWe!U!sZ@e^C+nr<2YPRr7BHpW;ADTV%nhjfXZp8= z^FPzS=NirXW|m*=BeW7IptJ(EOviecO?-|mWzkQL^0-mehb+@IpQyG)>NhlR`n>~N zSkx;PJS|WHBr=cZs5$S9e?%VR`+)*eY{_nuRZ+Ccw+mH zx&t|VwGW-`7weCgm{#ZW=3HkfmxPeYdOACli=g}&6dLEmi5Bb%2-)zeBF}l7G_K9NF$2(S}vZ&iG zVY3n|r2uQ#=~q7cMX z*g7-PdSu@0AGJ{&PlUt}zjZi;uGC`mmDv~@&ujj3kd?clR=Mf16dpYAC`ct|1$4AR)S<`t(^)wAhA>%_dC82l z%I|!>l-3`$2azXPTu+04`BR2q4=Agi?;Y_31Ks_TJ z@W&uZL;*4mhrF=eYUE$mdPELQb%6B;L5d%SDKLDrq2wri*B7bL=P3( z=JS6%m#5j+6ELc%dE)^7h}X7^OUO=e{PXp5)<2r{n!#HmQFsABi7}8k!U}tjGR$35e|fp7^5uaV9so`S^gc|H9ynO zVyV_bxedqiJe@C7G41DcTUnuLJ`#*vcU`~W#+*d39#&<3GF^ghz4gGg;T9NO!e-EG zsdy9=j5hsMPf%9RgmK$et5s!BG2egg#}>nv7;0k)AMxh<;aoz3`$3sfoGMp@=<1&NQ{25YB#kKWA@JwSaei;p$OVDjTaCm-q z1yd z*};|_>3|G5e(gZD&Ig(JP3Y&Y?p_3dWRg#I$;<&Y-z^E30A_!Mugw+Op8GI65w?uR z98?eQgmW)5l4!tI*d3n>cP`&?-E@JpP`RWs5cRAO;C{2KP|BqiQf7Zp8i2N3b|F{b z0130&BM?&#=mld0(w=oIdFJH4*(07LfH>QwS zku}=mS#&lQhI`&_#p!yLMCG2?2eiXSrO6uBOJ2E431rAHh8^R_Fxb+oV13GZx>Per zgS6mL>sQN0%8{dNdP*^^nkZ9k3|0v7<0z~WNl;We(F$Bh7kYmtu^O^0!%!qVj?p9j z<-A))y-=?69VaMAf?UtxYT7sxQWFY$z0Lr=vUwj`g~*S)JLb2VaYmCxyP4gSQ`ka! zC=&;eVpLI%#^3op4F6MYw=CnUy~X?8`OdBAZxflF*)nJbbVvtnez$9bvah#2V|3mW zopz^0>C^SC?qh#zaHx>2hegS+RYbj@02bI?mZa;NxKaU5h0)ud4C!z@F$~Z$qL8f=GUFxIxZ!=yI#&W(BdzVDD6mFlU*jtM} z2AHE}r2l_T6O}ViVTSOqoq(EXwF`|TdL2&07}bBgWtiCYPS2eqh=Bxj+nOLuKp{_ znVx>+SkPggMx;nB*Y5cDFNi&;TBuQHI*4!wL56?*hbbWp^dFJb3Mmrx(j~57fhi55 zx|QNBNHZ?qY|1yxxJ1hqsTDQ(z}PxnAUPH>>k#ihvvRf1<>gVR#=q9$dX&9P=Gx74 zOd5uhVoR(Z+_G8l3)%4_-m4PBgXAaCMY^is$YF54eec6>X7O+R^y5gC_m8B< zw2FU4^;vc8$H%NHR|0xH$vNL#Ula_4+^OcvIzSYSBZ*pR_-?|vQp2;T@ zy9tSO-LEzewLf%)u1iTCHuEsGmCFgM#{dB@=(RhnoE;w4M?8{N16FyBz16;O znIHlpKr%4Cc%L#usecrzG!y}Fu#0mNZ8t>x$SHwZ7TsK)xNe5DG zHUt(Pz$L`XFEzf5dAP>*9jylcE|^?+OSEF^6O&`ZlbpuFc8wE%ws&zJ7&+Z~h=c5&pO zaAM2|(o2mn4*VlQ2{;Q~LGOQ15l;cmi^u%XgxRvJnx-xPm-~y(V49a04+k2GFSEqW zh~x@RXdw9OD<-eQ#7fU4A>hjk#f~!z0r+Il_auzHIM_ z`ggvYH}+izDS(SdM6PqZn5x0*OJe2}j|`?x)(Fx=TRT3%5Sx&MMJ0bI^oZ1$37YY@ za9stN8-d#Ek?wdSqNyhdI&3FUcnkKt1*!2J-_15;znZad&0hyO5FwoZ$}pA7w3~Z0 zXH~&HB_-)MdUm_=GW=NC3}d)tF*qO9si`ZhwwBf97vjI%*Z@$Re#8!({9sw=A7kP|10?aitv7u%>61_ z_~6#JpgtczpzGBUia3Yplni^c&B(rY1POLk1GI#C>xSlHfFyquDOgJm)Q*D_d+aW@ zAKqXwM4ixMNG6;L@YvZAXd1HlIb;hmV>q-%4qCmm;{xX1{5&9mHt|iFz3Oon;R{7D z#5KMuEn86&dDh#(_Q}?ZFn?$+h>RBh9xI%##=khI(3lCCfRLy|>knewskiC^G6 zO16D*xacf_XS{#Y88cMTArtC8CTRoy#sps1fLROazFetw%~H6KYc;{tjWEwgkK!QK zy3wL+5_8FHR&~C^jhkov?cKDG3#dMw$5Q6N-xp>mZ=bFkKwW6l8(>_l{WAwOtLidV z-{zp5#KO>6*{TkBa-H>#yNWj`{A*;L(3?HIlon)*SU!I*u1`ftSDErqSib5RYGTje zk~AayS8(LF5|nU-n3OdKRpXyzJ_LwEm|G8j1Ty`@AN1<086}t!9v@ZSOrDDcQGDee zwad!p=ETIhe1 z+J)ul1Y1(L5 zjBHq?NZk=D&O|9sOT1R?$l~^X!#B;|Zl-KQZZD)Mo1k_5>&?Pmm-AyOa9B6#rnXmX zuJ%Q>N=@XL%`D%euD^EU_4Y=YK&0~T`}BW&fcEnyiy;R??#(nWy2MrXBQ9YC6e!xw z4nYlV)q%^6*820F55=K%x4^mCH<~Ar#mZ8#QJ0`me<9J@P?=+;&K#HYI#;$prPJm% z+hT0UJSIluF1)7O@eDa&N^v<%ce9G2yqS-I$tRi;T&Jz8&ak7Ko7%1K_V zHW*N`@qKwrLRcs?MwiIoEKpD6Zmucwj7LAZ#bHceU+sw6UX6ln#ACB5Wn61~PxsHYUWqa8lGYOE%R)W}Wp@no_d? z2k1C$21>L(fdl*kOC(>3zhw5X$%_ywfjKgrtE$UZkkXLChTPnfR>Z*my)53oaL)Cvt&6G&? z(_pm}RxFyxxxwm~8F%=5^xO0o;!mDI)ryk{dgERpUHfb<)G+o#A4Q54f|yF*ONYaX|CME*3#1bsO3T1 zrv!xfXFa&h=%|5cPzKoVeVLeD7Sb-L%@6<7OcsRj9*o&q6?K2Kw-g^dT5tR5RS-ybDXfdW^_G}MA;-G$>#~LOU@9$xn z@Ez0-4)D8gxk>^beh$I4)joN*Je~mJf8f+zR0#-7I!=%)L~ILX5y*ow#3E9J$-=R6 zmRZUaQWW|yN!ew)nQq}v!s)v$I98v#+hBNJ+_Z+1Niu(08ecR=M)w1=2n)A_o)k*s zhY~VP#d#SFAtO`)I(f~AiIb#O+|~CZ842r_haKzpR}icb4<#%(&Kuc2bgAE*Km93C zP|CN1@ZdF%ZSCnIalbZ-GOmWHRBh#~*tmp|PG?fY(X9gwwg3Gpg8Ke#8T9#}A%FbF zYV@G8r%8Wh(%I{rcM!-RB1@m6k>L_4H8WVP)(i9Fay}alRJz9N9RE>A&Ug(m`q=S& zx;A9Sr~81MW`{kB0!0nJfhYpa@7em49khoD#-e%wM#hroNh06poP2cf zk4UTJ4d2%c9OVtgH-3KDd~lB6+E{o$b~FP;u9`YqQZY`lmPfzgb5Forbe?$ZByl*s zH}b>qCG;bIS#yia73fN-&!;wXDQMoG_o^+5bXWb_mqV{8(d^< z;WZscvLzM?*M+U%{REtw_vtV|-=$w18Pv)MD#q8JBeO7ah`5Mjx&IAe=|ywlv1`6nGa(`y@^7eP09x!y+ldmOp*=uWTqlUe`i(rs@v z-!!v-ET43NWI`_1N~3E3EI#R~%MbaQ@wHZ(K;!UzXr|zRJ}$Sz55U8@aD_r~fifLm zaHSrl<4P2P`h~UNa)t!uvPR4ia!anY2p{g$i(1U&KxXi` z%5Z?kIPC>c`JSs<-p^o4CY5?V-fw>1bUh7!3hP=5$AZkwM`03$d>`}(F*7%3xo~(? zl<6R~G_vtEw(qJxGVOWlMBZ^!t!Ql>h|GfKz=@8O4GYjr>kkQM92V8#l_wGw7xu9mCzb+}i`pmFN%gtuvNX=FNYi!OKtM^yZu^*Gw8#t}GwE??rWW+Ge$!3sc6#&-NDz`BTTU_-+lG z6WsZlBJzHR=<4Kum)w*_L%?O<{K)6{(&|4Fv(>BIdI;5aJs=it{5)mwjd@j`Hy_%e z*L*!&U!l>U@Vf=W<-uIY-y^5>RI{uHl09ehKI`9g8I^=Hn)p$&kp<_4;M- zG;3-tjdaZ4mA>AKbffF@*mwJW=2~5);upO%?hG=Uo-iuT*8t@Dy}ZzW^2#sH$FsAp zoBW)PcjXAKDL|1O9M1A0sbqd*HM*hEX2*oA7uVfGdEBAV4Fy_hUh`GL z!Xcrjn7}_Q#cZn#pwJ5f9*LNI3ha{Ny*w(Kjl%&bQpn`x~* zTIo?$*H^k-*C&Ou&RmG-G9(B(9E%3L%Hg=1t!>+0&~xm&;&S?b=c|V&V*gaxe>=Fp zpfz1s@RaYpfYNNu)`F40`OedpIZi%}*|rJjrLx*AGMXi`ZTO^ZR}1vExnEZa)Vc-) zBkn^`t(=a=1Vx!LQg=^6w|B?R%8?nUE`mYB2@;@I_nAU!Eff{LYr2!U;NLdBCX5%m z-?9<%Q6)tN!Z0O&3%pMsuHKO!T8<Ls-UkP2)MD7n z&tFuOh%Hox$v=-WPf!;1(|+fUPZ`wP%uOerg+9+7SfbQoGdUF8euSUL^f`ZaACBW{ zjI{`Py`@q-XHtWQe^elo>`7xX9xeV-&S%`d-lvYcF8eZnl!`(GBXW7j`o?G3gwA^#2;g3*|aHBN-GS zA^vY9#($k?-oN7P-xjQV?1NO#`j#Krez+scn?nX@7p+xK_?;KcdyI`g-RyWUp~{)0 z&yOZ0Dt@(p{jww+D#&C3<4me29>{?l7)T+LnLkyYx;?qo3*qkjIH&r?{UhJ8F^ZsJ zK~ZTRR?Z{oHtiYqH!BO?OQJxM1_MTuA#6pWxvzg3L>wO!>yThtkuj!qZbw7fGD6~y z-jdQjB9)jFH}bD%d%54F$}`nu+7@>{WRex<+_b`f>@e#MegJB0z*2bQle1!4QB=}E|F~O3UY5h z`n{e-XQwNJvMG>SZYMSg=Q73v>*Ie23lx)FX33pE9GM>K*o-K2%NgsF70WL+xif1w z7SH;B4ga(+|14P6Ho2AK0;x};j|2)znX*qF;)a697WpQtl8&D2w-e=60g; zL{k#vxA-*O(7NuW_q6TBQwX~{VfHatk;hbqXID^&rvU7TsXvF z&o+vzZ@vZU+f8;kf+kIN8xhz%sW42Ak76c&tEMLP)N-Br6o-%VP}-|1)IAD|ma661 zv?xc}KT&=E}fgd6yHQ=owfh5FykD5E6z99{h-;IfQ?0hEO>!}?mh*aj< zs9I%J9hM~jA)N7(^ZmWH1Mc*wT!vg+BxC>t(vV4v3AG^LEA~vxt#lU*I>{NQ+ae=> zZZ{vcqOcnyK1rxokTaER3afO9o?kxAtZBJ!{je~+1y5JDj<+Tj)2&eNPa^E?AjD7K zdO6no&>|T<)xth?MxCu}U?S}e4#qZ5nj@K;OHX+Y?8AnZ}vOp!S&9yG0bW%?r|>11d&;Z9MOZz27ET5Fnq znr3p7jD61@%p76NE=(9FeuSF1sZi&YO5*PP$3{IHpK%yeHtQupy~BW| z7ql|U>W|ZleJwQ`#=&2w*@r}lEUP)uJlQSNi&y!^KaR=OLMRjJ;l8@Ej*) zVVo3&N_}YYN}!lE(2*DfWAVZ0{WNP|DxC5E6J-0b{TUlA_>%M6SP?E&Q$jS|F~mMH zP}<#3cc=E(3O1M{NfgiDx;L{~Ig8g;EBlg3c_rU0sQRfiUe1^X{a^%7&L60$7$u_4HW_;TEb zCpPmf^|4AYGpS3D4k-hA;XCJcsWD0VS*Je@~!OfBnwA&r)UAPJ`@hTC_U zTsg8zeu%G>J!ciwF(V_wQZR&L*0lXw4wsC-;h{NIIfL1=ELTOlRl z%Sy9#a=g@|3!dM5(mRsOUirol6&8o$$nw;z7@5eY#E5*$BRJ;`3^N!PsW80ZXrCU4 z>0Wm~I8$rK_b-&m$W~e4{5#b0KNQE2U_3v)`4yvQ`4zXUVCRTK=^y4RZ3qA`T z1L$~u!hf`A8i3K4bztDDe`7IRdLBbvG&cM?;?o8qRhq2e#`&;+k1w+`yUVe z575tu_F=ycK4|s-BJRFQ1NDQ$8xWJ|^`E}R@VeNF?v`@Q7PTWQk{BjO68cF&f`m#! z!8}e$BG+uDgF%=~f(&CiH!?Q&Gu85xXqtjX%qOaU+%H3^*S;Nmz>{| zfCU!jgXeLM&Kq9GqI1VgcON+7m=DD48QF_&vW33)8Fbn$-}WF5z*iyW-q#bSZ%lQG zuMshcL6`6j{5JWF>y8GKbQ^RJMu&=RTVxPlKqDsO=_!VdsJx&--q-E$Ns8uI5WZwo zpdQ(OdpKghcmLyHWd{*3gO~0$2AS^I4bAGjT*spN5UbD7rl+xS9xGY%%stuZJN(kD z{V-ClKEK~~V|5ivX3nPF=2i`CfAzuR(|^;-DNb%T6^*C+^x6)mpxMptyXVWT9N9MC zYqgG-eLPR_7@OlN77ZHzI|!%`|9T+4K)@J(ZWUVb5^Hd+x4656M7478+wKcrDPw3i z3PP}MYy7_9c~MW-uxJqJC`&kE8b`k5xig@-lNY6t$AHMn=f6jzvdGps+F<;m=AD#b zo%UITNmT7_0^!MKT&qkar_DNLyFKYD>e_4|>owUnsBw9CIFYuxTl8V*o^SbvNT%+8 ztdYuuAeFGQJBr!)4$$COa%SC{E22nfc)Fli-ZVk2(Q&|RR9#EzViyORf5jh`ws)O+)y zQED^LXjI8T&tH8zoR8+mWX$GA$9eCy zo(!&cf49`TJG=&>F3&CKX0Znkd#5kw28rw(uh$kKU!U&ytji84B|622rXRb7f1<1L z1l?8_7Nr}A5qg$ud-fu;x}L8JFEkuv*%J9Y+q-29J(gZTW9eE&MsbiwNTzIm4xQDr ztyj&AbI-`|f^Y3keP13arV0jl?iURqVaas{vV;wrCm`=3VUcTW3#Hy}ooR958RN0s zxDkBd==((15$fEs_vz&IFi$=4DpwD_?Rg1H1q{+Wt>Z=2NP{J+Z3nau5xN;#^;10V zTy(C;yWZAxCee?$rKNNF-0jGJ-t`P*?avzLRi1EK8C7ySa5bgeyi_S(cz1nrvvX-A za2-6`U%HdsE8dC7V&z$}2DP*H6B6C)G@P*QhB5en`fLbzr+t#2JR3rAo?l>HdS@m~ zT6x_?p1s)in#rQW7yfnpmoxZBCVgz}5N$)dzX^lQdg8nOseMky8b9`be0?}IzaBWn z;MrCG)6|6iN^f+5kXX6!A|Xlp)BF5;zT23y#*2=IiFMBvgo*7_r<<{c0#mwmj~VGL z=PV!aNB_Ngj)Yonxk~;A$vjc@8FJ}z)r<8lwR($rq*l#0V$5@3%zjMZRRwIi8JFV~ z?p{4>SQ(GHdgtkI;=SR2&H7jdI8809tWj98wTx8op+DIXFkpdRP%hG-TYD_c zbb5*+sAz_50W@C^+nr`+!fP8(@Kp5sJOz1ECRZ*`Wh^%~@?p_dg%J8IdVn}q4Acl;Y2 zTP&{_-2PeIj2>HgvKkw#bZ7aHmdh$Htq4b6-*iSfGA)gnlyy$)~S+-5zx)`przukJ#i3*`lmwo{;c~aTj zKO9eQ4Let2m?f2NX50B>qXuXhROHFKeThDHgn#-BI<;nIlRks=?xuN4z0hFrS-iWv%i~9(p|Yx)iyu`--9cE z0Tzp8`R)%!PW2efr}E~^bDl*E0_S9deJj|m+fgF=8Se8K?~0leW5%TwYH`cR|=RTJ&&1kwZUsXpdk{(_LZMW z-VqyWQx%AshHPdVw@t#EcRyD=7L^AGj3GC0Y;{|=W<6WT`tv9_IOsK6R>wWvvb`_Q z?&s~Y+I#9(S8Rogo!v~-D0LmQ;|zOF{4d&nY$5yGZEv0(#TKrD(W6Hi^80;XB9mH0 zqZ*Rd>>tB?&$jb$my?)%t4q0(5GQ7qO1??mtfMZsW^gSwh^QtcOtH$gfjhL9>!uM@z`pnS6*HnzpXv7^M1-C{XZwduC>2^ zPM%JqrL0+7KXJk;i_fwv)k4J-2P(Z9^KuL(ljOXb0S81ri`f`_w+okwnsE*OV`m2Vd3pNWed>=Qs z9+&nVl#@-I0r^cXjW?8dGKHt5Df8HWjFSy^3@JWP9{@(U7^leg&go#!Kn z#)<~j&zBMG*?L(`ahAG+r|HSJPm|?qegFb}Wz)7jAhJ)cxWwZ^NMH9opHUoa9Sm8(QLTTCc0&r-rs+<|hEgoc;rdvpVwp&H_=NsNy zv>$6CcRre$HKOH}_mRK`WjkN{I69nykMUeg+FRy9lYteD(Ps@?3`;Xf^@y!%n{iE_ z?$aIQi~#*B0)i$`m@vc@7J7DsjI34%T%vSIc_irM#J2I#GLxiZXSA=ap$V zrD)nYx21UDN2g9}2ec1=H0hmp;6m7aTkPj_XDb)MVt?>9Mb=W>g;Z5LO*~@Ac!l%x zYOdkhQMXfj^b63?@)<#jhQA{5+#8?s3ibbFMEo5eAip4T@Z=aP6E5?+Te^1&>E2^J0DQC=xVJBmwZPUp!8?Vx(xikvv=J!xZ z$P?R2rgPxbG5pXm%G`$ORq5UZ;nHJ2u*CO$VD@o4fKOR^) z3Z&O@OjWUiM!;Hs9uAC5a?`V^BUlI8tXLNj2!3*ICB;)KnM-*PqVU?Sj~P*8n>bW1 zYxgux10H1ET_!g!z{$|)xm_HxSzQ`qeIcJ)S)q_9_jF`?I&38pbaCojSg%P8nXMm* z=3uJsYpu z^4@_dV2kFqoF*=9rtV2JtK7a*W?e;^hRZ%VN3q;TnABGmu`xr-vyCaYEX%<%|azAhI9YZS$$ePPP#^#^B_65cAi*rUBhgpRA$ z=We82S4ba!E`L=k23W|KRo(+Lr|^xlX%-1zQ7!6Zd8mogGj?*6%N9k%Sdi8lfeO6C zDle8p3N-SxCtpHmc;eiXmT&bhky9)2GpXboY%XS8P#*SNYC-) z8KZUrT?T_YF9&;te6>yI#G(to3|2Uo1|GMgt<_C`{!Ri&rQ!$7q_jmVo<$q~3tMnk zf7%^O#`(a+1S}(1MQd zYF3d1ode;sFRQtNOqx;Mxv??%>t&$x9p^mtg}q-AAys{g)lZiX(oxuFQUW^&ncwjv zNi<%68fAkY3Sk|T<2a~Wuew8sg6C2)4eJ(=B)X5I!J zu@84u9PIpL^1#ei_EUR$+G^Z5%{$^-{KyyL+xAVQQ~|#v3XLx9^q?W~LRP&=J}zW` zIQ;qcsZE%lMCtKyVOc;Y4bGePGIk`}4o7kEs5X-8945^Lb2#H;#H5*Os3! z$B7mU^CBDu2wdx^c(-!M-z({9#1WK!x*4Vf(v49n)d(8Xp941m$Gm0hx0hJDqp=+6 z7FY;=mJZzy6I!U8C1V*}3m_0wNa@sSvA)pESB&ha#vmPC=VaOCVyPo4#iHeZJV+R| z9a2?e_x>l$`_!=&H=8%*ePf&_)g`y>dYhe9si9ty+URcONPMmKX?oyZ!G>x7GIi~MZcxj$PdaHl6O7rvacxDaG_#O#mj3}MY>HcRorvn3a2^^!)s3YeO?Q&PBY8*>z>Z5cJr~L zw|9gr?BtVCN)q$ZGV|~b-T6lXOYQQ;Wrwog=R2Q{)(1i(-2(nkEgb`ZdUF9&F`}TJ z#)JB+!?lQZ+>;c1^)boecr`mk3x02i%}zj*YpBw6*>EoV0J2 zpDfrL??Vw1hSFzvm3$u~=9ZSHUNF1P4#-569E2vKEoLdpTh5QmD(X#LX)GVH8H{rZ z9dLK}9=brcCs@N__-Fn{4W?NH^L?-K?vW?nOaojO9V>+Q*>x6wQjIoCO!2*g=3ZCc zzq8mlUfj|)2j+~Tg19Lai(IVBJSPRznTnJN3j!8qc`MClJ{$t7FFIUWWxJABT*TK} zR4Oc#Ej^A)T#iJrmX69OVrKKhfG2acSLozFnBJ%j1NbJXtJiS7T0Juq7Z6hJw>e(W zAPXgE>DF}@IiwqZ@*SL8t4Oe$`<=|S&L#_iDcRmpI^ zT^Y#d^ zrJI_80Z&4k+T(_VB7A~WYMXKqr%hqY#xVB$3!93fIpUmw%|V>3n0r{nd9! zmP`xYoZRt?Guy&oCTa~<%a<$?NcD-i>7|O}`eR*hpYyY&?JQ3od+B9t7VXXq2`em} zO4Jjx&Y|dkx78r7af{_&NXE;DpG?Jh1J7TNPsP65aeCsd7~Zd)J(_01FAbMMYL7y) zAJm!0EpE@o$+CifuaIHA@NMSrd3rR5Q4o5L?t9MH-Q{Fg9Fv$XEN8f89#OQq$SUxd z8Pjy08}n{UJ7;)0Ul7)WVG>6#w69k<7<>AzHVM0bLN_P)SJ0Xmhgo`=)>|Z~@hvmA z=Ovzdu`KBmO>C>M)-sLm6o}SEKipMJa5EdJTBf;$!z+Jm<5`!wBA)60y0l20hc zI4y>t3pIy(@MfNB7z0wYXDo?b3GQMEbR9c?k|1X(xAatL zk#IGO9Y|}FskgA-U^h~$QgHDsq{}dD0k0m^cZ+#!`V8)2ExYJMYxo|nIXaEKcfa;$Iit_2l2gC(07TqI+^5{Uh@U!o zt5Fa!dt?kfu^*3+{_6-rr=;{ZA3{$b-vl?#$dr-Ok7QdmXvadUe37Hd7Y%79PfMz#}S-uc>T9~RGeuQ36=T8p)rWy{XI9J-~2p*NLR@b6Z* zFVzNLl&cy-7{bZ%t+wJO!3}yj+HX37CU2}{^n;wIQz?gA@A?%xtx)oCRHP0Kw|-`UZkWMc~J?9tq;Y)g+n;X zf+8u~#%=pRp@WQi(UM3rB82?1=$casuP1Lx<6O|5yrd}>Fr0A0+RY43^u#;AWi3@t z-q@5EbpAAH?5!p?AOTE1_fEIKOCOh?c{HEn`1>+{HCFFQ<{2Mz zRPhik_~H)dl<9&qD+Ym@W|q12%)7J3oZlf5DOQ!%Lf~^SyQj;i>EV;3;Qo%rb!**q z51~YFz!>7(l5(Pr!%*-;NBmeh?Q(Ixh?n-YW5SQ*PBZ)DK?Zm2TM*lXl8TFcX`!DH z+Qhc%I}YU;H6;&0bm&Td%NaG_D<+Im)Qq9#Bexof%20fwkbVG|n%UDjZ8!?!4tGla zdwl(pEa!mJ(=2lMBd;kxHzMa8D}o-48=-N_$uho|BU|h5K(IC5>_p9X&Q>?mGuQ5I zG7g;spgsYg$+J88#g3crzXlA5t2zu=!pI83iGFctcdgs1>e`EcKyc-a%8CJN&C>u~ zr4GoJiB><}aZf6ZC5lcGjlE_3&7Gy# zUTC>S_C?@3(W)w~wFh!ErjOpw;O=0`avQ$7b-lEZ4+Q&xYKgoIYG1YVkPYkm@*Kav zxp5}X=2N~WQN;;=M}KtEGk4s*{WWWw=)Y_Q=o!L)NMBc*#)tjK#=r!^s*6UgoUSHt zFab^1`oMwLd{0DW=_F<5e{3S?^}@Yf$yj-c`Hw4!;3-?1Wz!NL&3+?c{>z?&|1(2O z3%11zAH(=xZAbjqo&+l5hxGAYtdN|49a;Z8Kr8!gItjFY*Q8_p^|lIeOb9fb%)wT8 z@8n-U;+=m0HNRa;wvPHZqQBQ?xjH+2%{ni4UL3k!;s4nlq0-ObTiBdcxu~6o;de)T zs1M>)c7x{$r}cose60b&zq)@UMK*S%0SjK4b=9U*Ukw@CJcr%eg@Xg{D~{(IUa{hJHyd54j`KxjI%rMH9)T{%ci`eGj|8eccd)TM7rg_+f23E+-hOI1b zfzaq@Zw?%u|6zb#W{8AqIVsV9-lbx)pYy|jz}vgkpqn|06Reb-%CJ84hPn(KHd-C= zy&5ef?ERG`PvrSo3YCX<8sef>iv7(q-gh4X-AI;yFyF(KxBHzBTaR)%TJkA0{DsXv zs1d!72dWW;okIStpH<&O6*=~anEuW0@BD!z{B|DRlr^Y-+d}JY%#LGXW&HK-*4tq| zcIOJUB9DdlMf*aF%Q=4gF52ICMVzLpo2jUA)j^W0Ou6j$I~lG$ zjFZh*-Sl*b&Wy8AB?irE3 zV{!lGF72#tC#u10>a%CIuW#DrRtQNgC^;{>;bwwkpkdwPjCjQ{mt$PLY#?u{2X>6z)m-w#|Sl+X}oh|0{djPU{c?k76E9JwNNlvxfP9YH!b{ zr;E;Bd()TaT9(_09X#765+k?QZ;pl9E_2E*X|OJy9)7Of0nqd3Z8tqW7l-R>X*Y7 zsweBUrh`9q59yi8>P{+M`pt_{KqAsRcy~RBtQ*npFO$4&786i~aTs$eXo3QYd z)(ys&D4wBgRC)l9=f?tnM~C03hQ_9GxzyQTw4sm7f|Wgl1uNY0eGULGbGQ=H-ShRFTRev4wag;rFr4{#p~LrtoijN zXT#^|+>%bS4sJrZ^9cd<;|VS$sdsUb`V{ZPZb?!lW6StXHGqNOlYllBcdv=ov+P+CTK@wYa@udl8C+pVsl~EAPy-Nh` z7Kj*ba4voc+|K^1so*ZNDJy%dOiQJ`ve|8J-0O0GNxS2rQ@HbECrXknGp4#+W&#=S z6S+7(tCQKXbuNl+=ToKkCK=c4%blK8+)i}k-GVljj%)@i9aIF-ZTWUFm7{B47$)mT zZ8+wG@;fE6FS&*995IAnrfRF=7HB3r-VC*bvEho5UU?{>X!BGSC-3`L*o@(MSY7gvs%%GfaFHMFJz1IsYgh3`%9`qg=v& zKGk<>-aEjeUYN4iAsg>H>$Zzv55kPVnw&hx$-HCtf!btc7*dO?TX$nIh8s4qt$eEm zH`dkw(19C)bpn_ARsj#nRm;i%k)u>yYhAQM*agEfzf8Ed_AEkQf3fkEeW_19d7ss> z`hl)n|J_oi^V$E;ugAs_m_p0>DKiK^ zN@c1DZJX|vg{6(4{V;#xAMJ4|`KlKX#H&B;MDqow&T^gADGs9ejE~q-!j+Bcv&>1W z=(Pl!QkU(DwG^ffo^ccNPK|g`%C#rSHWb5y<5{$7jE1V3kEv<=DiuBrf0|!^jEC0l z9Wf|2Un|lfH1g#u>`!jfIVfcMB=6$9Xa@O`_m%Rp4X_Z$TkZq?{VQHNgPJ(~unH8q zT90ZhyilP?Q4La@h@fu=$pn)Nq%*r#MqcB=%B!PFf5t&2q+pf05{}a@Mf&a~Rk~Jz zhdlKoiHdckM*O^mmG0Rj(1+ZA?bAK74s2^=l3Zw|b|SJ{^%RtZTjI++Z}pz8PpxUF zY{aACbmKeLWq$S#e<3dTGe62b%RwAD5Sl8*8j@QFCIFK!{PpI%R4kiX2x~JpTuv%J z%{k4V6nnq+qPmzy6RM0#8q;3sm06H%tQSar=Ent&+{!ygoOn{98NcIyyWR|J0CcLD zhpnfYP1F`(Mzn80u2VZsZPYqoX7hrI^G?@!y-!uL@?{0Cib9a87uMZ+Gu=+Bw2+97^e+i= z*?T-%cI{>6UmMYLA~GQ=?erd=(oR^pLBae|Hf=10&jJcvpRsbe1M|b{y>bW6&oj;M>ici%VLN3lmzcCd6nHsytTVU(XmAq_dOCkeU;Owx zJ}&l1DwdCq{WKj{*TWpCqz?a;c6P0x3+=4TDu@nWXp#DVMIM+TX{5+2e1i1|k{S-r zUw#Ft6;5Lzexilj6Q4Kn#i!%E>l#>C#vp{+OWe1lHR-u|fVIF9`n z{)~RFxj!I(z-;oj!t9yuO;!2o@`*X(DzRmU}GVA>Ms=X zf5~J8zfGr(HY+6Dztd$KZ_4fF9%y*`*BtWA2^hre84L_~fq$p|t{dN^-Lp3s`+th; z|K_0#e?ko-BmLQbqe1^~OyREuTSSvcm%<<$FYtGNy@lH)_|xoWd=dx#Z{Ed^-v{%p zKe__uysof0|E@o}fBLgPGtl&R{qdrG>kpAGcW~6-y{PIR*8+#X+Wehs ziT=2D04w^hf*=3o+CLEqFGW{&rFtym^3P*5=qp?eB;Ub zibc}3hEcqnGh;^~e`7M@Dl}*&1eu8pt_Au|kj0bpI6jR|TN8m=YlF7i%VUFN5CRTz z{Yr-Gvg(GHVGx2b&#H6B#7;ENd?qgUqJ+DDoV#|wjO+cWIV`@NUxwq|(%t-G_1*U1 zFPGb2V#|q|vG|!&BDv^)|L_L2Bf7P#7oEC6pO;6|GL3>TI`x`=2!q#`C&1cjwPA~N zFDRU$l@=gB|F#qd|%W{h8G8LW1;w2jC$CF#5+cLni zGXdw9#Cn?*)_9a7w-Gv*=kFBiNj7VLr>z&AvgHeLs$OY-q-9=e08ma3k z0G%c~{bG&^y7*r_w(H!Uhrh&5|Lk!==Ms55=+mgzZ|IT!~{_eS%6H>mg<{ARLkWJQG z^90s}(>HaMo;DXDd%w8j9eTU0IWJWCTy6Kc?A0&4StVURgZq$YD-iWGu~OT5Fk3)h zt1POg^UdR|?oeM z4y?y<;|6)dQop6@AL_L2e2qSrYcpG=ul9Tb=v-d8=)en@LD1nl>E2nfZJ$G_(B&)d zT$l9tX1g>^8-hUgbk+)}zooTgnH%fqInidgb|4#uA_A>Cl6>&#KPn0V)?3cie5%k0 zIslnA5WT*cyxJsFx#By2K8_V|5rpmGARL>&Z%f3^)(IP* zj0%z4<0o`ofX;00{Gi6F`=|5v5pr*Cn@HMapxt47EB5{P6A5GcMu%qzuve@ty@m+U zk)q1&>f`I(7^No=_!Y;x_=UjsC{cdHDZ|0@)al9af3CTIs~I4izhC#1CWAA3 zn=t3^VezYfvd%hnfmM0?Md@bFs673)#9)gZzK6xmdb>7c+~;y{AP~dSaUSPSR(g=n zu!Yb5(iW@naAQMYk{kQ!WMIX5w{y){tV(F~InPCH=j+Rg3>WYVSJmCCtpizBHzGq6 zN;rMzu2*Y=w<#X;dHaX*s3ctZkdm3gC)3T7J1{DLvlXD!Qv;Hy7vjmZ{jre$p6f!o z>P?UH#M5xJ34rBVzW9tDZGiO*`#UV-Izh{p&#LurD^Jhes$ruWmSkg=6QL|G%QtKt zdv&fSqwO!A;4%A5Z>_QA%(>|UjK!W#5vHD#8(E}a3KpL6h833;+JS`@*Y%7Kl_UQ3 zca7+OQC!Os3Cp~Z?5 z{zPCVy!bMQe@Z=E3ZV)cR|Me#56~c>=5_Q&=o*o_HKB`=Xw`9D^1DtgZ6kmi-7qA7 zo5gx&Gm07^{N_tFTqzd4e7A%AT(x~A^E;KA3+zqD3%WkQNRpV7mB6wk7URW^ zmwh#wUA7@ye2ocTl&j4{JpGk<)0fWmj`ukSx=snc^z^k73Dm*BHP1U1WB07-(;rn& zo*-_s(xeJJ3ry;GRQ2AzFwFV|F&^80)(aJ?TX)~*konTHzAZcgYQvn-?G7+ug8(E^ zRUnEMkS^BgY3Mg8)2wtoge)(56pz8K+0%$*7NuP!=Y$1A$8A{jmNDMTDf(9Z%h3#= zb8W3m*RA3!FWaezr&E{W-RVs9qv;;X-2ly{1o`)1DS`2-;0kUoU z@R&+7a9||3VMK+yzmwYkv)dnk|Gi=ealx3DE|sm3ZQWy}#pz@}CEW0=^rR9IB5H6y zd?>CWMfM$s^Ku=dK;HYE;V#;GaA`z$F;VnCCO3j8jiicti^cE{nK{vpTMIa;EPK$< z-4U$qQc_mCDMgl38>|LaYK=qON=4%uLBIeIg<}x3?kLtYl(0(S0q)m-+~Hnq|6-&< zgY9wqD9#oQM7OG@qCG~uGgdUVP}u!F5mS7@rp$m-Pzh# zh7jHf6rXRi5-*24vO+|Wz&1p{wXHq|g0Xa=%u5#xvfE@Lt+v5Iee1B~5ui@$E)FkR zmNx^V|N2;RV!1)b_4NgRmI(OWxU&&;-FvJ~s{1CI_i>cZ&@||42l)KqLvm$@Y`xs8 z`}J?vvz9UjgKOLJz_R;E4)v35x|o*o@#KNZ6_km+(o3eGNA}dzHc(;)UvLt z$YIG%e1)RQo|MH(X0GXvc`WTtnRe|1$Y*i4P4XqR#Q*JA3~3TQMGm%ekl_GqzXfmb{%vxB09*5O&; z8lHQ4iQj~}b3hCTL#2DZJQrslpscfb(M@$OdTi*<`9rIHd$XcZVEXa+K!~EGi1c~{ zAE;B~>Dei^dsH}xE^sY16|Dj9z0kRNBd8p)TW|38Wk<!W6wf;qW+->?$0 zSAx?BJ@->azPEU`^g8$BtQzMi9c)a+y}CVfF7HF5QQ|Azl+Pviwn*hXt3!$t&HP#! z{Dv>s1t!S11J`ycGtYo8&2yq$cku*n=Jc8u`d=*Gf2gRKla}CHlwA>ZTS>u36w8&t zw@+*2BJJW&hogH<(?(0fO-HxWo z&GKgJe`B@?<>a+{3BI3vK*mZG@4Z^rukrPbwzDg?NE&=Qq>ijWn)!CphMgdcvcO}# zl^PS-ps{0H*D@V+=I;^Mms%4l)7ieh1&CN3E^ixM4$qt zJF%!slSY}KfLb5`ur&PX$LZ`*bPF3c>C+6Z{yL-!cBb4A?%}wo;JI`&>@9PXvQLY^ ze}-UYT$OY8`|ZWmQt*I7%I!+E&8IOGiAlGg%mlbDR&~mba=-5^)MoT>K$zq}l<(zn z=2a_nc^G8T&8ApuVJOr--Er2c^l#Ppbk}(#DZ6y_sA$I&Cud8f1rJt_-pq$r@TzRx7imYEXHQg#lIg|5MYz~X6m^hVMabwR}FRnUSe|o6; zmn|0vuG|lomD^IHaLv3lwLDQ}!br*r(J~>=>E<6*D|ooKih!T+3a?KLMlh$NT_SUjL$W;pB7>E zfd=DGpz)oz|^h<0aeu@3ri(&kxIV!DgTqUPaop_N8eK070D zE>OB7Bk%{Sj%Ho^tFXy>e<=>Drn99^mH_o+3F(6+w)+t#RL^?XD&;74daUM%WA)6u zWm7dV;<0Ci8po~xHKCNC9V8Z##Q!x~s``~es{U@weSP!SRWr!~PqJ@li0z2@?&Rs0 z8t&D|<)7fFr0SjXRrg%g4sOLdx7xup~LWqNr{)f_*%PkpuV;We9q-Vvw1on%uGN59K zi9LeyC3^EL7WIO!@k!gpn{Fe|oIKc~ZlOS#gp_NoOL9 z>=hUO&mNs+D>>#Q_-(14)`2eZiOy8~Pp6@Y1?ff8Zf}3{7!@ADZqxsGsC@jBHa+}c zXHtA|zLQQU5MndHt>!5qP#4zV^5ZLqu<;HChTW`iEB!jSEH^I(U^f>*;R+R8J!8vl zsx!&fzbsx}f8`{&^qmT})bB4YbIw$!+rI4z?YirnCZ~9JL*Z=*e5!6MDt*u#r{Yys zBhJ?MAHG%Qk}K`&rHn1lnCD0xquST~0!Kvt>@&+M?XvM65e57$)JTVvGHrHTKWOo9 zzSYz(mt76~%y#Sji(jiPpN3fkT2yhROYtwRQz1FLe~_`%AM&ele{&M6@yNJ48U@Yo=eOeDWBQ8^c=84zk-GCc+H{@2xp;-@E~l#IPbebw zH_zu?l1pjb;1etO__uL71V2j!U-{P{Ua(iXACusGcU;F7d*ivrJZ%5K3RD`BI#zwB z(R1H?e^w9LDeJH@`_3$qu3vFu@lp>mSGw%*8?Obg$DnRk@v}xGOPSdJsoN>iM~%)q zqk&t|u!KoZ#;n+K_39{7X*Y^Q`E zZW^LiRaW-iR%0j~)=ff-6>8s_SADJoT#{fZYW%)Kea76xJB{SMX2pf@}I-b8mjXehmY2V!EHfs?{ zJ3Jz$5?cNw;wg38;OF6-y`rQWcB|HZ?ayq2ETuuo{JtdA7ex-}P2&IHHYRoSQ;us9 zH6by7#dom`;#y;$v2NVr{o3~+FL5i*e`a8}Kk3ekbIK#&k7qcClYPhQsbfu!!j}K( z0{s`?@iI%(sp|}$^yGe9DYKgss-yzuq$uQIExuhDO2+i$Yf7f8a)N2C6AF$@4{VJD zFH@)PAFuujQ}fg-(bFsNL=QXv@_VB&t-we+p<2c3Hy#5lnef7sQ2 zU7GS=b9NY`%wA6cek3844l^V{i6qpHUu>%!0^>brCI&^&0wv}ZW|rLM0SED9-V4OI z-OUOR#$lp#otXV0d|kmEx%)w)GoVYLWbVt$Gab70%Xv$WvQJYo#Jjtq5$uSiZ zcyxaY6RROzhgM0rvFd(W)y0NAe?F!)H-KGds?BVfRyy#zmY9zb1;k%u@oLgJ^O$e2A^5^i~$$JE@@uJY-r_xM^S!j7Qav8beOmPh+9MB>t zu~kW_c@7VKEj^g@86X|lpXq#vMFZ<3YEEVuB^`$(v6WH6b7^Z3>z-Swf2Yfd`6)xc z$~16EuAPo_F&S$NEkz-97?T)x79u z^;iqsz2_FIYuOWfCAyNYQuuMQblaODDg&Grx2-ltQfAY-elR70`z~K$ut=J2mE^jiF$o_gtIey1w6Q zDj+kS#+z$+4hM+We|=yJUwZTWd~O$jgSp#s{Es^9A<7vx^=UPuMox0m7h3^)*XCW5 zuLde$@Vb$VAaP0DzX3FAzy01;bMr<|l3DX+>0HiQzVKh>D^bgwEY zkY;%`Kh+_n#|wvs%vlsXah{b(-4^E9gqJn9M}2Ownt3>(e>TW)R^vHU4Zw~lGEK>z zH&$G*J%qS##^NfX5lx0gPc~NUit9N#;~efK^Qs(5om@&v4fgcJbON*0RPP?J*%Vm+ z+u3Pwfq(aUf$qk$W%j{?k4ue=w@D82CB45$OT|;Cm2)(d@ZZ^}@cbmrw1H<7zw`b= z%Lo+;-^o82e`nH2OESonahc%My;VWIrK>~%uuR;Q`OtZgpSZ8tChCCl&fmB(G#V8$ zRtJQC)SH4EJ2T*aecF=yE@Uj_^yd`{OWV7#heNy~k^rPY$@1pn8HMQ4{I~OhlXDs# zqucynbKdUi5K{;e4gt3y=8veevub-Io&!{~&n0Lie}W&$m|8ZYOP4n2?-F9Tg}3hh zsxBQqL`7J1Al@*cXZ$vlbJF8rLf?53?;+ZBZg6cK5X!r&WPbS5+264^KkIC~NC!PE zM`5~o|HfVZhiP()oskGI)4Gr!LPfwIofmuio*uKGRju%x-`MTj(nIXaXK?9M^WEdC zSZrz*e~J2LT?h=f-RyivdH00ui4X@$16e=(hTfZYa^r zL-$TFf6_z(mKzML3Chx}clg>HIi(zeYDNYP!xtK8feKKW(XbX*tymB>H0ruSEmOK; z3$+rRj$eB9Pi?@AyuU#HGpPi$C0_RiD$Xjv_gsEjN}tgq z6+6Tl3u@gTRWv`cMK=)?#1EvbW0OB}982t<iC zxG~%V9oSKWwW!1RBk_I}4*+5m8tvZNYZ+ZG>xt`eZ^S}4TAzGgKU({Z01B&Bfl1YAf}g)2HJ;kObF?RP_wYOWT;k}U7I#Mwpu>J0 zn&Z(EEe4O{(5dD=AHTXbRp%gOpHtnth`yf5Tvceh!0{sQU)1Vqrms_W1pfR^Pe<}i!h9KpukGKRFcUAN2+X{z9*&a)DuujotveY-CCZkc9bs4K|jil34$ajNZoh-7|mPD8;F= z3UDJ6Ve#g%@cmk~+d;aNKglj6PA7rO7Y7LQ`#^oGk)&|}Ho&dGZK|&hf2uPrjIB;i z%e86(dXiYooOIkXZ5prD!F04MpLuPlhD=FTI)1qHk!_t6DaE1D$rK^AM+Z;S@gzzb zQHTB&t7_}*^AOGDu(qUU0y@Vh6|UUUBNEZM8#Z7_x$izfb} z<%6ccJ_ST=Yv4Pezcnp`e=vA_wW&O^y27KQIzKRUc_~&SN-xaKdt{Yq_+Xfh1@c9vuZ(&ZQ=p#IS7)_Md*;#oC$2-WwILQB?3%O;>UoGY7Yye{J!3^!m&EF_jb~ zwA1uEjMaUAM3EgIK9VHJCU`LN#Dgc!zsySS;9}(=WNVgI)Km_XQ}x^m;j7&>DtvYS zTo+zDI|P{vXioQD2ybTzm{y%t6bmrq%b^xD)iHevINwB33bv>w%nF~pi%p3t*g8}? zzaVa6n>d3VbR7|Ve;dIxU<(d4$GzTYw3Hq?rwW0-`ZAZ!GyP_mO0ZTgcixFqw!F6- z44Mdwy12I)_#%2w+T}peahxsS#J;-{&Xiw)WBRfvk$Ti^plOmk{wpgTwMH?*csOmv zd8U=Gn*8&6sj}6L{idIe@cvxeA+K$;JINslJ6Zo~xY~<{vx_Jf9NKTEwSND9R0Uu%3f~W8?vG!h3Wm zu_%02&a2sr#m|Y!@CZgpA3ZLcOZUFCsI6xRPL>nRZ;5MGz6_Ql1W>d4YV$*;5UxrlW<34hXv|lFjEH$r6W5`MjHWW`iEN zG;TF|P;NPK@F3Niq#I~*BBWZJzo)75$)Np5JqYzqf2O%KJ7G`(PH|$JRvjc51@()% zGIM9xL%UK)3{m(nt~@rXgt=}|HrU*d>qT<$`cv)ITp%lZX;iZTbsQQ1X( zng`s_^GzT*1-%eAfk4h-czK|^oQ|w*WSM*f&HYbB{?9iLOssT%8Ucj-ne>2NLv21Fkx+Qu-BYj%_E0;%3s6->jr&8`f!$*_8aTi`HtJxR%_Tr`&2?4R% zT?}IGc9wfbN$zLXrH&h1{_0l=t240|gKPOOTvZNQUwDyGV0T}F`8X{~tt9vQpL%{J zW`A=Shkx1>o@2FfqA<0xvuLv`rJcD3UK44`e-At&vzvLL*=8(EB6YkJ`_1V(1*0R= zk#$ECM^;eH31?Cn&9QwTIFMtlf}VvSpUO`{_MZVzxiX!}V?8;}nD&%HbSugU+ZxC! zri(jCb#~0R6=q6a*u)lBl$MGR7Dn%FvDd-RuOBm*1-d5KHh?g)G-@VyD&)#`?@>#T ze_}+2%Jm+9d3W(Dz&DXMTn=dB1y;b4F^IpDF6IJvn)?ogMA)9PiWPWghtr6IlVh$k z1x#-5NXL2o%z{*BU^Yfrt0LR0A)f>N~Vj2%ZQmPcC0wFf3mrINKd_c&-3pG$$;?)8}@yv3B~H(O6lKr z)Em~Big)N;(A89n9pDJn%Vg>$kzD#D_Z57AS<9q9Y0>U13^60I=Az8cKPSmrKNL70 z2&){u7!kRBM^96$OFu}fT@v73%)zDKzN4Nl###-cmeBJoGrDc9@A8z+tqJt?e_d5z z+}q+(TL$rBtJ1x~<+@W1!?Wbt=0G-%?xL-+mx6iJ%(`r@m-Z!WEuuJbTt_(7(Jo#Pyi9~z}f5MQ&UcW^d zFh{0>TNh)zd2r&FImXO+_lreof4SCa5{VHI>IB|M=`kIe5MV2d&HzHIQ$1K-s>v>` zAvxcdGnu07_>Bp}<2e|IZjjTTNYgcUmU@hMjFPW3xEBaH zSr4F$k3I~_3KQ&0=?c|4Nj&m3UiQldW--@0y}8sXKtAa+b;*;poFCwgPWd>G zbO|Z5->Ynq1q)t$FdbS%c5QOm(l+P?tqvFnWssLuL{l7WJv#eRE-gb%`ND~W27=9c zb51!y5WbV&_LYZ`d6?;(e`NIARlN;b3Ts7_WVKj?D0pTPrcjo7bVvQYKacPJhH6>i zMZ3plN+CrvCMcME*3QVDfcxIXk-um2G^d|p#n8z+wOPcYfjD^}I zpl=<)KVO1QN9fJiPT?>kBtm@!x@_Gxa2)X_H}K~ zXq9vEkwF=PBu*jIf1iJRuQ1S08eASuz@=Y)k3W%`S#Q{UQCCJ+t^Fn8Y))Hk!urvP z^M~>pr^jpTVu}pr2tg9n0;7tp`A3h6&%SpR$kg?IcpkjI<_-QB^<{M@->MVQV~UU_ zxl&TmNd*mz>B>FKXLEn~u3^v^1BmBSnuwXB1*eY*j!U_de_4xk!-{g1SaNn5N6zEb z%G?Ia^L&}?OTp6e$z#3G^~0l%0+|k^CNP;Pa4tJ0*flUC6uz@0IQ(?-zzo{%e58OW z*y`+d{oRkqSJ@sq2K4=~&YvDnov1U$l-Coyo_11Tl<0J$2bC*sCgJkAr3@cWymOipx-_YSl?Tg$y}n?xljMk8&cFIH5?-ETkxvs3Af7`>DkYg*#gE09B+ z9$)yme>qXvhYqe|RSOtWG*|2)MER?oL~m47v`S~w&gYGj=UwWDQrbOaXI@4K4GgR4 z)3d=&<5T})w_)Kc)j%<`xXAKU+TKESz~>n(_iuODNdbHxP7%}gi^)NbwbCGU^}rj> zbkCwbT)|J(mXYO{c%<$`a?1I>sQ(q=)S#iMf3o7)?KB;%YYT^pA)Yv>;DGbhm!941 z`6@F-0M7zy-RGq?^Z9Y^>+gM$YkMWtwm1dAv)c3!*O7CN{v)hW=D&7^9g`NbR=Ya` zixhDQKCF1T#Hgz%r87N^p?s7aw^gI@z*vNxo)GGx%D_&t61cdWe%s{ZpvL0IkoJ>z ze;=^4gi(U|*3CyE)WhQ*+Tk>6we*4vI@OYU5Ar?S*i%lmR*UKRdln-*%eve# zEMfkKW?c~{^CQg|i!kt7>MQPsV79;F&3XLE{wY3k~o*VS7M!n^t`Jk*Y9M-i=o z2YcjQ;Gy;S2?Fya|`s|?fe@aeBGlUXC zMGe8$80dGeXDD8<445m^P(5`ZA!;lkmLEkOXr9~rjb?ye=R8j>alwqg@t>X zSsLvo6H8@i;VT-K7UYpl_^KGif&B*6Aa)bMN5DwE1pE1wv?k8vg>4RatQV|1Y_QD! z^49Y4Y9<9hHfBgy7SRxUE!M%%^3!?l7sNSyAOz*q%rmX3i7j>TQk-iU0TaG&KC!M9 zV@j`J{tTyie2Y*s zHgsSF3m$(MC>KU92#5z-b}emIWR--}6m^!KZM;*tI6srqG!=ds_qJ^B#YDBQc`i7R zOQbaXUVJ3OOxtiIF*Izcn4gsdzob-|HuHwTDubHC9R~5(f5XowYpDcUI+R9T6N2#& z{vhZ z*HjC{voZigf4VeGn4){H=rZ$9oOsWvW^$Fhw2H7LDL@H9P|sO;v(FS(zwEu7=ZnpM z!YPtsI#v?dRhLwOWQ&RAcU*~CiZ-Jx}9^S96y>wh8<$(mz+`KWVFU^7AE17 zIR#ahGKY3Gd10LNOf7j1ar=^<@<%@wyEudmV4^Cx* zeFpc)hdw=eBe$R_f1_lMFx^Wa*=83z1%=m{8n13)d;WPqGfNYfs(b{JJ{Tyc46D?<0a+AN-ffzXsXsjr-anL&*=$ux7CH@X_+R%7Y}(aQH~ zDI4&4f7EdA?)O7#$swmq&S?J2yCe`^YDlD6(*L$M*;;>53^|9CC?7bg79T`j3)dBU zE-V`dDtBBk4>)GEMwKvnN{EY3yhgB5GR{Sp%c^7Myv-%enJ^JYQn81$=CqQRJNLth zd~{RtC!Ibt=24q9Bu>i59tETeZ z7Lo^}LLY;arCTmHgy+TCVHn*Yr^=UVX2J;*VZN6u&kyo-^X1wXpog>K+^EN2xBjE> zNeGLKVRVQak0=#Eh>Y1;N+;4JBgCB-=yvWH`k#zbDMfG#omEfi(b@^61=C;i4~R-> zf0#uEjPd?Lkjhx({33(bmhSy$7~X$>g60J#e~5aWKQOMf z7G;(4HvfYx?-CWpg;{cZD0);MqyMyE&qm7YTATYN8V2Mnniu3tUA~lUVZQf)&cEgn z6beW84I2Ij-`XZdRM=UIKbog%2Mtf9OvX z4OLdDVtaFb+ReY^BCY;P%Q{y1cI9u3dkDLXOVhlm&LGj>Ql|EPrA(c&S_b_EPnV-$ z7BT%<&SCrJFK}D(xm<9c^IK2;28gVAV#+jLZ$#YFXMfAOYPr(BE)f`hhxsov)%;07 zq)yuc?7jQ9@;^RiLG$hzu;(}ae}?Ku-j_2aofTaE_%~on@X5G{4Vgc<_Wmz3y)AJ$ zQ$kFN>tBki1j%I3UMh@LzMEJ7RQ=}Hha}^2rXgNxqAY(A7W2@rG`PLQ_jrF`?*H{6 z)VQ4K|H9(`mthfnQRPMJqOEIwrHg_g1pfo`hoA?nA41$&vVzneeTXc4e}5`3Pe?`e zl7RH~4dqV?P0e}DFDY|#n~yWyyk^Ck`>Q+px2t!W1GWcKh52ALi~OtUUcA3|-17@3 zyS^HKhuX*`)YSK#Z(je~%pOW#&a4L``FG(w|0SFenEbuJEzzgb%Ozrm9sYflZ$U3t z`S}IS>%U@c_Y!OAr?Y>Df9s3=%SEI*GyeA1P4oXx!g!H-sviF57MMkXMK>=#Mdfrh zzU`aS9F}a=uJCl>s=19%^yXJdD{d)0g)6}>geM0~4{%sa^t9?=n*NJqlyYyKPeoLk z*Aq5R^eoHO>lbYLCK+;caM+>cy=TKX3D>2<{jELV$38?8H05?nf2+*L3LNaQ{jR&u z@`2aVM56JF*iN!j^AG$`?;ieS@xU)}Ep>0=cue_wfxr2eV?M}qX)T&soWz5@Uc7yV z=-cwRAS@=VA`J1 zv;N5{s{+5H9$Htcf2s%JQX>9qKVNy3K4~Z58Hvy2QZ&KG1#T#NnhrmzN+uA)whT3*$;PbmU1o9G(sP zxIWr=$WxEr0l&NinwF&ZrNu<6G+!pfr*iIx=-rm|1+0%!j|L8F`jme!8C?vk$TN!n zK)YTT19y6Af89OblFj7t`K$2rOzK6qzJz*G{Ddd!|IC((DUr!)tMw{33qtn#d&>eb zb!*Yi`}EvndKK~CGh4VCd7A}J`bIsz-kvJN+p-ZXR(|JR752mN*a@t-`5w-b_cGXT z)sgSyqqw+xOl*O=;^1J+lhE=+^Nb2Zwc^`6w?(B}f7vr|Rgh9ty_`_M#Qjz;4_OpO z*f+y(7qu3&+3$o<*xj5#Rn=L{c8H_AT!W9RoNGUT+*%mbn6Vo2wbb61W)ac1FqyZz zfZT6t!cA(%LA7QxM!VgMLrOKP<_Wqgwo1s_n-|Su0jCYB$wDeN{VAK}537Z8HK?;p@`Yof>JJjc&_vVqWl%64K5;CZk@h zl=|>njvEx^T@=13(6tl0FJblkhh>pWLa~Pm@w%MDK>WgZJPQPp^OdFN1)sV);kdhl$!ktVv zrf~XqB|WqKa1#YF%P}g}Z?B0bavR?lEY^)d3YIk2NV&{s`5|}cX=|Nu;1UB!tdQC~ z3T(4ZjbPIdN~B^}Z?I@2jF3LwS2^BJ9WteadkX1Z+$_u2ty~3>_PFo4Fb=*=nm*Uavu#7rbU$FqsAr`(y$J3AApT|KX}Y#^h5N zVBO|@(%)!_cVO(qyM5Z?Z_^vc!7l>p1kD|Hqk9Ke^~O~!o?4F=np{-s+=q~*^_gHcU znCB20x-IRJWCFI=OBVVe+^FrWQ$vF~pMG}wPo17kJUJhxXN9cJrgz`YjwZ~B`&l_( zH<7`(KYB0%Z~0j;bUticy7aw;Vm40B=sc&I?fOh!xP<(k39IRTa}GdEf4XSSoQYds zY`)XBe1@6F7aO1IZj#TGB6)uu-_IQSoXUS=+Er)iBzohpP8m~|D180KXPn9$-7&Ow zFDabgX5DqF-U}ATVIVVG5*WQS(QG5l@I;ThV=`oF!f#IW&|w#WX7Y%$G|JBzA{}bL z)IBLAWD1(~jfK}4={MK1u}_@dUbh@G$*0M$(O0N*_MrKWSL?-LcBk@Bau zjq4VJGZ&Jz@#MhKY2&N!dUB~t9x5iNEK!|BF+h_u0gf8RP<8Fie?vReVe>}185Jhv zOwyq0nCTci{qV5a4q&#;t!0t{g*sSICG4SDPIexytgg~@DD^A$RoxGg`EaWeJOp?A zDG6i{_umYuJ-{@p(DWy-oiKn8+?LjMc-tKM1ja9>jBDB|5uIvD-0Xsjka`s|1|>?%bg&pWcdt2j55IyxKrrb*hix{m}MFC6PE zg?G_4ThzvLRNVjoXA`&H0W6p@W_Osh1oT;`)_)F0E zK~P(rPKvQ*o9>b_vrh-~=W)XR!60YC8V=*8IPMH#!`AhCulo|qoRe4Jj!675JuctQ zrO(x#$M+;J5-e%&wlE*R-5Nsi{nJ$vMEImEzgAxZJghPR7(5~4ZLk;9>+K*l>v{{{ zmJ9o~@xoZVf8=6n-<`}L;LDs9DKLFQ&={gpVg~E&4D`yZX+8iS+K)L&nz-zZh0$NT zp_*9}GuZF|NK<59AGam#`m&U*zAjpzaiiw56)Ujwqc#Sf3dm;*7TlWFEoG}AR7W=i zjLBRs1fMYn>JXi%+{*uX)p*Xh>td(l3(L&;sQqJje@O9|M_{xc%Jh76i3@l=n$ZpC znAfAJS8@V|E_#Q|?%)g%Ov^#7HlUE%s_D}LscKzVwDil?TJgj#7*1BqxS@sDU|Elocr80t&`9EHD7+o*19W&M!6uAyVw1o~D_ z0nxm5EbAf`-lBDn4WC1cx#V27u3oN!-?*mK8ppJ&qam@yA2hUaahhtEOb&$c8Ei3P znhVOgf}aF@eW~BnVG}hheFCSOh$d>gR>J@Zf0>JZ8_!7x>5`9k}i}r z?aR%0>Kr^bnhj8L=!1G8KBwuM@SZ&{&`UZ{lhVu-2`HrK&PC4=*r;RJQlL6Nhts=;~-=TZ4x#F z@uZAu(2rC?J)orSv@m&?N$A5189KB|fA4NRF!X`c37Ue}s_~Fi?JB$mn?SaoWDbik zGA^Hj&?KRYS=o8Gkk? zD`V-CbDoCN^n|yySzC|KwhyOR$d>7OmK#=wUmd^d-G3CJKgJ)eXYM-=yogmuf01n6 znKLba2jSUYfB!ngFhh&2_4q?e!JJ^=ST0XV#f&rd^bxAk0+$Ohi-&B(xO)9A*!Ad7 zR}gcNTQo;?Htmah>CG2Hj^F||wMZ>`dezr(U(iy4ZRYqHJoag;EC(o=qXgdV$3u*4 znoZv=%kVn1WlZd(?(KdK9rLY8fAK~8!LCaKDUl&-=}f*an$}O`CPu0kp$DNeVUUV% zr!NenznyNoI1=T$1oK=tdf>AHeKP*Rg6r| zGKAOUhMd2yq3hPu%T9rFlY5Gfcv%RhmQi!ut5b-d(5SC}S+ORygj0Mge+e;~G^@GA zzI$89e6W5<7AAJg4D?^e;>L9`?rM zaRFdv3>EqX^-0EAHY@PU!ku1%e7s+gBS z!VNhRF3pA}`4&+87}wdQf3if=O>p^Yn392fU0ctV8#%p}c2)mz$?B#4>7eS29vuOw z8D9|t*YGpKxnspzQ6R)}tjYl{wT>S_>k_>QLAylHMkm&tW)r$e+j(bl;VleMV0Y%L z-fu0YrOaEiKG|xn1t?161u@jo_BmGQGN(VBhk*D`eLhvYDi5)@<76Lq6SH7b_Rry4Xa zGYRW9c9VVf_y)A&e@_fFZnBT?6_cAuaE?l<-*N_eZcX?v%MTvFcPK8roAf zC;h0K#J*ZKicw|}Nq;%Z5k(bzo6Y5@`=;=f%ycXdtCMSTuc*5PH1L3Ak7CZlGr9Zx z;d*U-9HO)~jIf}~4wTOVE{TfY_m)u!o(u{;fw>cViqB%Ve@05&TJ&o&&r;)Yl?i?N z*Qb2Z&SzE|b1kc)f-jsx#oxK!I7g8RfC3w`DekPn(g=Gnu!;=#vA~b2Ng`@AM^01K zTbQI2!h$bPUx1AzyE_j^Ld5~y4B zVG)K?@2>%z+$szs0l>?1iDw@7`nig_QQxP*3ke;de~VaT31Z8*U($N~$-9;WCCo;h zrwOcsN!nu+@Y*;MbYT@BLzQ<50rug1k$W;_<<|-@&FE=NasAfupyWw?DM7d(#sDN1 znh|Q~JFr(xN;zAFT8u=PpdDWN_8l{M?azgFIM}TQ7_RisE@&}^&M3yk-&&8o2vE7T zj^}DXf5iN0mw@}q%t_>-33F4E4GtXKZG1pOBRrX9hKA}~*RHHrs<<+g@>HXD8f%{K zdf*VhOafIF@j$AU?f4;i5W{>|=(jwlKeRHj`iH8hX7G2!A6AauPIwCnePUG8Z+9W| zdRM^5til0l5m0h@+l)*-_tck+z-`!t{aRuQe-ET`s(}kQCZp>CkFI6CZi(K<*KXha z^@GYB!vV&t-5I9j8)foOb0*U2_o{9^pg-7fDoGe>L>o5728elEj%2_6R^1c|s^_79 z___fux7Qn)WS$e2s_en=D7Qlq^TK4CZ*tL6^dCMWFn)p{nk-HBT05|( zf9&I3!TwH>Yt^DI9!4jwG<)|b)!lLQ(OL&xm0c0neJ!J!YMw&V1!RlU%)LZwPgcpT z9<8(1dbQXJlA~LJrJlPyVg^5!;(<$r*TS9xvl<3@zR!T$OEEP2XFsn=ronzxbWbI` zcD#x=TWmOW4jODC`#jZN?6fR0#{4Jn37;u4Dd%54N8N%~&X{3Fm(PvPvRO=uPI&9Yzv@-UZgV3tPwq1r<40Ue_}Ot zL&nc-dB98BHIIX2?PBfvjdQhg_?3g98CXn6E9#5MyPwd5T$~2f^yiTcRITvEmk`>P z^lobR?7{?irA!f_1qS#tX}X-1&1T?uCVsuJSUD;xuVRzk^_Z;;Rbkblp5K!3je{_`_+X8Q^wyL#ReHBWhp2DvdwJv=lV*;tWLakF1 z!%1_L3A6YdS7D;K0WVtTrJT&7IWKF4V>izFuH5B!%-x!-(&5zSdJ|r^s9)Er9ld$%X149XfZA=Wdn4~b-(q%k$eHX8C-s3iobO}?{K3h$?IOc% z2qfCa9N;_uc&b9M7&G2hf16mwuys;T2BZn9bG@x+b*wfs7ipxv=vyY6uKu)ue!cD8 z`M@<2iQGBBP?{(g%z?Pqk&d=7d(OB_QoE{@zPrjEk}+C24XT#e6!A)xkjy;~&cB;`^j3Kwq8 zS)#g@#m;rK?Js&*<5^ZjZpttll9Z01KGJMV%q)Tr>dn%PcF&ugUkqioM#j7bPW4E8 z;FLF|XkC-*GQCdVfANP$n%D1F29unnlEv8$;8#Y{O|M?W^toOd6|*1o_!mp~q~LgW z=o_w_2#bYO0`{b`0Q{x>@8dUqI)mIFhe?R-?ou+`6wNU!st*F3NmOJDxEPLf4Fwzo`eafKKCmA;4DAZ z?(PH(yS^PVAK@4YSI=5CTQ_Gr$OxuZ z>Jpcn=E^)@H^K}k-V^@AK|4kK4Pb$E0Rulx;8&VumU|7qLzR|>k`>yrJ~W%KW~Tqh zr&)tX#3Li-fB3^P@zrU_ti8m1;80(DYgC zLu^k})7lGmH)-^Ny;&t&5Fv(h#&AZM^GVXQ&IZlhLcv`0WSKwCno3{qyX4N9UCCS# z`{m+ZnpUdz^b*4%Kj2#uMiXUuf;GY_HQSPawUFp8a^hbQaj4vN@PR1=JhF8DRC4VgbA>zidO!?cbusGDqcT(t16xO4Jo24F22uizA} z1UFDmf3{e`mIkPIq<0%;To;fj6EXFwKeoVv{An~Bp7rY!YtxP8?tw|ChZiqv5_oGS zL*~5JbPY;s9H&M{LJ{YiZ@`xa%ZvB+;)7#GY^*?TeG85C_#dVh+X>T+6*q8|rS2al zj_ZT(Svg!TQxdk_?;nRl3ceX7(m~xAY7d;1f9O*s7q${BDoT@b>x}Ou5_&;*cFOC1 zrqcwwdSc42m~i1>iV~Wm-%sreVH|17GdPZb(mld%JXM@4ki5{px@VT)mWAN!lxTir zaaF)bMmpbSS*M>F*g3CasxX%@Wxxgv^sK+&e_cg!fo9!zAAbpZGb@h!<-2`$yE{!Z zf7XBk^0q0x#C4U#0ntt{Bq#YUi=3I9mIRLKee+G;0!cm-aBDMT|bK+ib?*81BLFp;t+_-AS@PkMkaFJ~ab`f;DJ5z&qOqSX1 zPmD(}VS~iY$+wNajPe)wG;#TVBKp4ZQo4QLo0U ziFq%3Ztt18|BKmkTjh)Uu9DDG=TngY_82@{Yz5)S?+W?V=BmdVW%!(EDW#vB3j1;! zw<_BVB(t+RHED6i@v+pOUyWo;++9}gqs?45j18-J;| zpqzpP2DZsP(yOg}S!Qy79ynslc0FQk^_$y2*G`I1EQ$_;KUOi`EXR4f$;_q#$ET?l zBqp^y<*EEDs4`|2G)Nu%oXut78}aeaSiXlqIJb7QjfYYquW201J&`rx_2C^Ltz7^% zxhtoIX04}Xj8hYu+0%kZPvsass80 zil6btzG(I`OT0H#qv*uP%l_Y?1XgWoLiW?lYxC}Y#sm^FHvfzkQF_@%s!HKBVbVM2 z0u?9qt!4H&Q#XB>G{2v3+PwU;YEk=7aqDE~nL(+H9H4!lQP=EFPnfR9anflqpWcZ~~?Zc71N?GW$YOu6X zB2dMxnEZ>e^3mxPRa3yKyu`4sLS!5>mZ?SQH~4I=3^@8I}1k72+6=Ftfkw z+-{F)kak4qmBV;phvSlF@#6Y%tE;}Z=4e(?!WI7nw~`XGrUg))BqAlB2PQ;;*1aJ@G!&N;(-DeZW~mV5YlQD**N+&x3y@FyZ?V3;hw|ACm{+`3ic zL%D?;aPnl>i~3E5o&lh4bifB$N%Oop9OnFV(=DOQB=?iM<7hWw@sQ7xVB0soQN(@? zTAs8x=YY8HKEK{1{(qJ(lOj;GJlnka;xH53_w%z=4ncvi(}}TOxzS>E5oS03bh1J} zyg)s3S=r^Dgtw*>blJv!eBP`lh1KQfl(OM3V!bCv-}?fwFx7oE^LJLh_2OI6SOMVV zqbR@gIsR0Gea*FZq%Rh)Gkt17EPW0QBku`g@`{7{vh;!s;C~)kXF1~w#|1NNQB2b1 z?N~#8-$B2#ur`jOLRN)h{gQ`?)`MGShf#g?_Ithu>wNlV$zuQ~98>6pdylcR=d$wY z>eT+1j(EB{hyY(^p!q; zeY-?{mSgtw1b-hJ15A()FdCTk#|hpQ@NVc&#x@zu@`ZM_{W{rPpQjuFfDO9^g*sP}ehxN@q<*=(?qfUx?%~I9! zNgM^(J!Xl_=JtpmB+Z|IF0&=ilt(T>B@`b=upp*^-?TqGlhdm__`bj8C!S6Fn!H4m6jfO=FaPReWy@ zmCk?S6mj=U9kkRZScUXRD4;f(+q6}?+Qc>d@>*u}?p(+yfZ_4WcVrvXcaI{cE7iBA zYV=RmbbqJmBdEh~s2^^fmDKvLvOtmu-2*3526Z_T56uVEV7P$m>mwzZxoWWr)n+NW z3Q>%F(g&yVhZDxU2$a_~yDQk-YmlUq|a;bhI2v?+2;M%^b z&8qU^LQ48YzUp0;=#ryI`Q=qJ|7Fa;#dG5R=6}d*#~s{yr3O4I31y$?=+^3YAHhpM zb`>zdUUv;+5A>>+Gt2H9_oql|F#0U`c(o=UU@Pu-DD?aa6PT53dXbEJ;NX5C=2Dn8 z9QZO%B~!f>Gy8OR?K%a+{W12)Pbw3`DP^{KMx};#6VI=PH6rrWjs^(VKmm_&HOv3J zP=Cpokp3-_K>K-7vD9(mRy_7%3LMgA-jNhpC(5k~<@=2kOP zn7Fi7UPxSbB7!0G5Uh%GAw3Q-=-lI1LsokNQ$0tsJ;{8UzQqxXKNs7J|FHh)kq ze@nw*(018o^*8^LjJ;3nzCuNMrIo3H8b!w6s#g=8XCLS}edk{s*r$rrQ5{ot<$7(o zjoD}{&`1^9JuCaNs%=2E#!WiQKfp9(2x5;GJm7AmF=WuCf{G3EehE8)^=0T39>y9LC5bW<#~J= z%T;6HF&2o8SF!2+ApdkZ;g)a@Cse+dKP}Y$!f}Sp8G`#pR%(ZbS|%-MR-L@Y5Vf+bd|K(}(=n!+!!;YkMEG zwVK}Q5o}NY=Jm+5QuXt`591@!OQf_s9ysjW$cOk6Qx~tVYqGnBxWiL(G24?pzShqP zWyt62o@sEp4JL6QiyzAi)P4hTtm)%M&jE*3YgW`|yV2H6vqnY$mX+*bfk*p6UEiuQ zCbPMB#7c2_-G)!T$lQjO5`VtQWJ{_*K|iUoYZ7mKK4ComZiC4Wm{8>uY|o`=X#-3g z`iw9Kt>drH5{8maWuhKQ|E`rP+iE7_up3Gg;G)KB%))C~?{Cg&@Z4D^tXQ;6Y(6MA zA$2tR6?ae@-+lBfHitW?Q6VMy{&kN|wM=>@)cn^)*)-KWlI(E>&W*QGY7ZVNGjT6uB=+bCNEc+HlSmCuL z&I}+mV@G>{msj3n@@7w%?D@xR!M5)3k9YGjX7MC+LSba$ULH6IU@J}7!Cr$DygK@j zjnoyj+d<2_BXpmMoPS|`W$MYCSxeH#37JEkxeM;F1Mz~oN$kzW`{{-LI#u04duMqn zVhAd5fQH{;?EZv-%xkhO<6#v3ZnW2#R@8CK@G0b`-AV4OXv^yGD_ZY*y4m^xb{Nj^ z1UP>#6#076)7QTA>nsa!7AJ1FcqKFP4%hPjLYEL(i*eAYEq`V7@JEq)vK0_2DQlVae7lJyaGr1I@d+@6PzEN2?P2Yl=wm5Z$Kx!vscS6 zq>g`rsvMUlQvjBV&O;JsN#bzab`clG|0vl2+erBS>DmP1=1KHjVC2Rey}#h0gh9lw zs0V(w!)cF#+f6^jrt;cX7QlH8j>#yKsay1=Be0e(6@NadRbHV=9z{fL#rQS%#Zz{X7}%7h1w=cRcZn&5R-0Wr3OG}r(^Zi%qNxT%>4PhvAB|f20h&xA zVAa+!{xo4b?Xe>vzUCNquY^b24(7&a+eD9h-+!c9LaW=^y7(yYL|Wb}F0-LrdF z8GiyT(-mFBs#>4kqs8ZVF&{vtXXFAdKL1jqeV2+&&BHcO5xr4<+U<%x3;Szj`it0fjlJ~ay zHeRBnwxa9EWYz>r*wam&FRJMJn)jn)5P#)RY)TgXSba-8L1U4(mb30*(szBJcq*K< z=7v2NpJiP+mmRzw5R0;iov6)l%c3d$&VR<@G~f_o96ei__CC<1>66*n0dk_Xe>WD) zI-LS3a|K-NLA0Wv5#;B61kKWrR{{UL_T4A(7R-luuCG<+v*3?t3EKc9N)6dO{C^;* z^1ju}p=9#6z7Bu`HOFDl(nT6WcsZe78A11P3gCtC0V~+2&(v#~+G*558I=`DbEkg3 zmax6da99j14qkY3nistE0324TA1anPt81d!bq87LUtl~Pg3@#C;BU)3`;wUIrCL)_ z#xr%~W$hwX7C=$@a_O4z9Dg7m0)JD#$pWdG0_9Y_N=p1afdhOmuC1k|<8v>$0A!_Ix=I0Kvz9NEC-M>iIz2!mcnKixkn9S^H3 z1G87xeQz4rXnj-qjL!Y=kSlj;GjQt&0dTzTYogcsJxaJyAY`m(Iekfj@_)rw{NsHZ zI{Kf^pU-8}3Ub!ecL2n5US2cZH7AAs?8jAIeA*}V#(8;W%XMO-dWk1}&aKfVZ1u#X za3jF=IorVdL8W}55_Sp^Qdw&#qZoNP1K%@DRx=Ismhz&A2j1kJd1}?~`8U8+=ET_Bc zW|}j`gT6Q5UyaMR(*>7z*eHBT6s1nC=d;*$KK`t7G4cvs3CDgY`o4T_iM+n|PbY&$ zTgXVLvAiFmMr1zCpftR-pf=a`ZkE4F5_#nfy!1_12Go~T5xd1}Cx7wOXu#gtoX>%>MQQPx z6GPut)T}n{TI$bh3bhE8jri57MfN^tmd*yT38A6hcLqM6jQ4wOj9}6MSR<3VjS0>^ zYO#>rar>vsAIWL#%U*@Hu}W^$S@1Yb>{Zzq4pAR4U0$VzQveCZSu@r3p`iM*R~?GY zHypW+Ux60$VSjle9cp<^ zM^%%T9Mn3ix9sR!My>&C`5C!txeE}=CaDOumEj<7Tz}`mOfA5~7_^MvYW>7{Dv1#) zOR?&F#3wh!|2Z&yubG_D!078#7{CMNh3xjXqj9%4_iXYpYGw`mCQ2YCRl);GUVxXG zgvIX~6z1`&*c+-~8kFsc`&Rb{ZGdKyuj#pW=BuonGJK|LCzk4Ov0sx+w5)VDB{U12gLH!D**G0-{L6D$*V*FJ^m84eS5tGmwi=H@~4cSSVp zQ;J~mMpo!k>ngJe=qJ5r6-0@RWx4(4l`ner%UL`&$Hy&>ZkOdz9|XQNv;V*dJ!x!$ z>s=rND`lNCbq_Y2E7Z>N&?qM50aQtoMJ-{i?SC3mQM9;wLVOAQ1sF;qrmDE9R-pgN zoOqF@vfeo`SFre^dDpSaq8+!ID!ESHRb7ukAoXSfH+XV9_Lou*5(*v!KVHrc~ z9u>3D7&ExgXH~DHQ*=vu%@u{pJH^P#DKn=hrhYuA3T`d%uU$zX#H32>v~ceO%XCuuxrw)@y#-Cr>gv{zt6w}036 z*^2)l9X{9tuPZ%lVrX>_#+nOg4OZv#u%L`Yx~R|Y4e%7zUbwEs_TF?$BVzu-yw15kZ4m%OfIh*UTYuPV_M^|jFm>V8A0?~WZo0^#F)XB zZ5Rr_p!Bs>FDA)GZob2viy4sIZqREAI7>FhrbQBnc3gX$_9bxq3}<9M^VFFt(l2?` zX0lNBTNe2&aD*wet`b$&dR7gU*wwr`AT-CG>3OQarkcT~x3Y+H7FTEtqJQ*f8p$+H zs3Q|F{J-gcIo=85I%EqrW*XhB#(SwT{4XT_SuiE!=KH?3T66^@ig+JNzPoy`E>^GA zFt9-$h+ASYvSER?ob+9(3dZ6K()$ggDh};Jk9`Ju<)%xPpB^$waVH!Yx9LYCeP=GJ z2K*0lgQM3_rDuwB5RQ;XV)m=p#PuV9IpvM@(voubq@a+0Qyyxx#u z)mM4u!PSHERm2H-47ZV3&R7mbV_Pj~@!8={L+6#P>8%H{eExi{b_<9Ko=lHm40%Ua zH#^wY<%>jPUS{VVZcQfDn)Z8r)GdRi-;%P!?e&D4VNOqBHtz$aTz}JQ*GBYR?F^$a zDN-9|d-e8tR=u0dpI2;?CnDYZ3xy69;snT68?rNVAh6t@Ny=l;A-1JgItaOn4Ll&>H(M~>pC1KJ$@HZ= z&vMLk-skcEtk(C2z=5`jf-C24p*ep0XG;9; zqto3~OIdU)Pf8=*glBL&tg``9D)|m<5kW!~M=PhW(M;49^e?e_J@b_V}Z zCg2gio)>aMS^v@Pn`!m5IfyS&)%Y5eM6%3a7qK^L4^g_=G)8Lm1wG+^q$wzM+p2S* zbYs{LiLwkH9Df=2DKlgo%77qNX;;$(Ka4wt?)(0A&1D0M;OCq&EA9{ctwgy0#HKvL z|3OU_S+@*_B!4A!$O(zmyY924{w@EJl1M#h-rYr=`|V%*2*W2R zSfq?q`ztv`z%Jt=Cc>WZ*FN6=s#O2_eNX26q!3cE$*`PYvuoOc@X_KFh@}wko3D9gHD| z9HbY8%YR~Hlzr*Y2~wA5Gs1pzz1H@pq|IoTil1bJlnvIyIYSa+@7wYc2S9@8YyTe- zWnVwEXkSc6dfCsR505IG!4=M}gei;7K6t>3GlNg!yeWjWe25HF95vGIBm-4D09l3e z5UDrYUCxz{PE!1jh5wlu3Aj-{C0Gy=a-@cmAb(Xh))c9?ku~OPNYyRi;hL&WfZkYM zi^hT#(DfOK$Bv&BeVwL867GU#`eNWc-Hs08jGGCsK<#@vt%`k3^{ZXA#tEMLH=Hi7 z7tW}CS@e0khq%|~6G3rCQoYrYfOyOf9n8M(YyS6=ptBEuE?F+aTtsZZ>=|o*p;I92 z0Dp14_e7BN_A1<|eRA#YcTsmUA+#P%N65g=Op8U`MF97r=;g#q23}=iC6Q3o*L-r* z_=l)El-s6Couc!~Cv%(!a_`uquQUI9xJ+>ka=}`~kpPe2*4wrf1{|w1FAm23pAWvr zybY4aoR2uQuaY4VK=YEBkg?zt!UUcq2YaU zg!vYHy#%XBPg0qR(N^u|_|o^YrPJ>SU+e)7`F$%U?D>7E?~|txUR=PPf*m&L>wi#h zgOg?>=nv{FkvuM@&&2_Rg!>%$a?bS7!oZuEmKi*?%9jm4C=aY(wCP+ZE$7e;F@T{;8Q%YQ`9Vs?={ z7U|}`B#s0HI`gT69PG}&64!BO%Ui#%{`oWx%!6B%j&@wDkL8;QbAJ!*4w3OxGvjXZaqvB{b$>4^0y{)ap}4KEuQq;L%?JA>=e(- zUG3@4PtLzFHS&zQGJ-Ba7bLq;ghU_q0EN~7AT$IBnJch{U!t-`IDc+THfUY|cJ+4! z^e`w0(5jA*(ryN*_@e333-h2Up7d9u-?hCZIW6N-osg2n(V)$0xHp<>^+z&P`7y-m zzRtYSL=UNciFqk||HS zz%y@%#Mzl|8uLX+!N;7IsY~BnCkuWo3Qr*0F6m1|9>g@1RkA-Nnhp4ANytK(*+ z87W`z{sM2Gc#qF-12hr9<9l=#$`~vxV(OG0pxGRcdBJuNaG+|ZWZ2f*YtR^dj)dUU zzg<&vES3x>DEif&@c*m!ZU@UZA-0i-Bdk+zSzMx)}0qeKlQt%SG`D#o~SE; ztIIK0k*1AYP0NOcd2*e-Dyzn>)~;5uhgaN8Q}@FVE54C2_!V-pVD;NOJHc^m7FP!j zCe9-~Q(IMWW5`WAb{(Uec1r4P{6$@M7h1Rg^m?sy_J7%{xmu}*2?{P^RV`Hau3w&W zmt%`!p1SeduGytEC@VNh#=>eZ;mm@j`Bo!KVNdkX1CO42gtzI&u#@2gVJ!r1_R{x( zJwX9g4}JS9W=j2EW|49X`gb@R2akbm{A&-#1N52+H_b)@pq_O2J!&Ux0i&2W>_c@zuGd2L;tRjxPk)@9HquvRh#3*?TVqno*T+s_&if2 z1}po_XlXmhuAne5P{mgrOKSfj6Ly*k^1lrj$Y?Ag| z>sp$=!f2*Tg?h$_Cccyk`(u&j|9E%yR~s_H?M)TVwZ>;bLP(%}!TnF8gj)-$R%m@Y z=YI-ltY?Y5sktw{P%ro)vrzM&tkD-TcwGAPg!yv_d;Brt_e13|Z-V^UwrXB!S>j3` zx`b1Nj5()l z{!N*lNDW}10uGI|zqF}qg8UV>YAiGF;(xX#Z6D#$wXYM%*wFsTHY0xYGkF^b!4@My zKjr9t#ok(EQseq3ZM&r8h=(sby~5x8Cu8Tb)8wYiDWscS;N|JUnRP!%W(yx{ST&^T ziN@Zo9@3V8)b6zS3;pqFD4DNBX`?fKn*s> zHoP_-(8LAg%`!N3(G=Dn3lPMl1%LT_ZauZmWW}j|w~FX$@RDE@OjWoNY|ZYnG0x$0 z5a|V&YdzbZ-ZgWpo7NRR;_9af$`B3=7Vv5K9LHli3bH~)rSD?OXQ}~x(x1)tXt`q` zvu6gQ1sZ(Iy>T(dD$}=*jZ9Qq4%-W=eTNwB4+l46Sej?9%l(Fu7mxAygn!qyW~}hz z_bRW{5@uhAIFz@qZ_X4Ut=>LEGzWP+o*GlsNc#ly+>Y5Y7+h+O1tp7(eM8>I{yIC^P84$QB3rT~c}!}b zzq>)tnkoc}GO18nyjJbrF5r_>HxqqpWM$BJjg2vI|Nc6nId$5M#eaz}FPcHRhoS37 zha%K;_qVz}pD6LM9xhPNJ}S;sO7Yu?cNrufqtR2On#PUMlgMHo`1ITGSIMrRRg28~IPNLi4Vb1%n|w#I z(u%tXxHRJO(!}<7A2Q-(%qQf`SLs}|mTK!MWymy!l%{VJ zgz905r0*RNrj9+sQM@PYUfp0C3cXIzTLzitj-;FBGOV!DkH1c5VzZSsxJ2kaS5)i@xO|xEbS+cS+?(* zU%wImDiqwqn*6lcqjj{Ti$N>^ozEjO8#w>CaesfblpplfIY!xevkILl;WG+#>VkP} zdeWxVTY*ldRb00wU-u;PRft!RX9lvGdpYn?OzRKv3{m{14<8f4PvFt0jmRgAaR60g zfBU{qPQz0r!e{1ZS4qu`Dcy!u5M2$C7UoI$bLQq72PL&Fi=IB!My&b@xkLSpqdHXC zTYn-nz{ZbFDb^D$o*s=tGFNcp$xla1eKjB^t6hvS#qy-rrw<;hEmdP*<={+}ZgI8$ zU`oSA<><~B@!Nl=OK!C(a~~CtMPZp1;5erRfn$$B%q}j>xsm^&=SOIYbXf&Oe4R0* z5r8DS%WLis9wUl@#K#tBsD%BnvM$cZjDHtw+)0rb)q}Aoa(Sm4!vk(0tZU5$3_-^$ zJlZEs_`h=KToGl$eTCoqay{mPokTCr6v_*!yaLbbxc9!3I)TR2jmFFGYv@;SecKa z1)NhqH)_`8S137)(*Zh8oziAFZzTAl;}f=hX2gNLrBi#XYDj_6YWb&zjn?_41_EOM zLF1p`lN-$vkNDLp-Wyq*6i+u=|4;ppcL}aCn*nwHt1LV9fddozjmx0qFMn5ko7Ndm zD2PZ^1CPIV@%wJr9s6Sm^l5#kKIm?H{Kl0NeG6{8HYfBony?G}n8v$4WzQ)0nCOaGhr*m4v^fE8F`1^ z1?cSX)4O!m(MVL**uoZl0<8RRlmFD-1ad<{+q5V?z`Vpv^Oz`uRxz52;hC<@WX2J)&9h;=JQ8ge#ExtC?Wxn?15w$d2`zyAo*z{Na}cI zXf$veRo=7B{J_tb#xA%|k>vrTc{sO!Xrq*l zEWU_v{5jEAJzrb*D_jS$&SVGFtIqMRdZ2Am@h+occ~qJP-ha6nKk`-hcAO>nEx0@A zecQn?d{OW>wL?nzzOedH3>qKa*e1`jwnYZMueoS9^Ekg22ZhDSMIYe*Q@>1$98BA&o>|ch!JSonkEa}sPBD& zPIY#VnDi`J^Rh-I3X%>7NZY5_csqM0cV(8W8m3Dhq$5m*r}6iP>|Kz`Q4%Iqj+!`z z3Or9^41>9LDq#!SgeUYQ^xa|OnbD`|G`4aBbanMizki)H9E7?rS!afAWl^*aaq7VT zzLKehDP@E>zD4CjY0cR7fhiN9SI$b<8KYd&Muwgszl5ESNUfog-u@R?w_BnOx5g~jndfEzA;VK zfH!0704H7jMvc{Z(>Z6AH^I;>&!zq=R0AneY<>FWx3~^oN!FO@`p>sE=layJnc~Vg+@k4h`c1fMY z#($Y?EYalVLDTtV?%{+5iFQ7>x$fR7G?YO#A^OjK&sv>9>-jv}uRD2PT(6hzG`RJy>K@O^^Z;dZd^!)Qvu*S^7PL z@(qW@;*{~bRV}nuS3QMW$ITMs$6%L|_gOUn4deXUi4-jU2u)JG5AjrKMim0zAAeFy z*GV&6XW<4D-CL^arEdA2BVnZGK21yaDCT~6@V&J6;o<`0*61C z;c(+4*TAi<*HdrbH#9t^d`(bwT00a|=Y1q0?`S}E(L&64^HPaK+@Fu%ugv=SlEGkj zb5Vi()BcI{dflc_cdstcQnFS6ygZByXWo=Mc6K@Gf8R7}?spOlFK<=+;D2C)o%Vs@ z_#Qwuy1U`r%}5}9U8`R5hq~nh;kipi=P>u$`znhO4R-z&%lB(CwJFF7=;$-HsJq;W zo4RuY#`OvbWZ~0SsD8WSej)a*8hig{Vz~ZhhtYqPrQoq-74HSEE0E5D1@obZTYXka zWG6<)WTbKR^b*f%+`XH-m65JUxMWu3;kZ%W3`ddFkA1 zTxs=szh0xgcYwT@o)1p6J?0|;+vlssNUtteyI$Tf+vix=)f?J=Cb9PAY_TVuArIYv zdREAkK$?9C9$`y#!s*S5M)r{a10itxw0qbDp>y< zv#UIhNRIe*sHXR1 zL19kP`|fyi5M;|e|9{VSGHFM-W;YKgMikL7$`UV0pN$)arB~&TAlDA((ADW(QJLIo z8Qx|jn-&x-iqVOI?zKOZ1L`1KB4E%4A877e(_y16N-fjzfy#dLiiRYvSG!C}x7kLJ zXQ#@@6Enr-vk%XuKUHAH&M}Sswq~@CG&K`1jGJ}g4J-JFNPoa<`mM*BdbNawJdaIb zI<$x22ElyV^TwX|hM&@DGPr}lGrzG!2bl@}0_niqFTc3?UwrvH*h#j5J<)}bqwMpa z$H{cMx#fJKeP$JcSPeGlB7s#^gOpAC+)Os>2RfCW22Gx%I_*H-j?_ zDuwH8F7@^(!+%qR(HYau#d^0_P+R4?SS?L| zfHPc{g6I9|Tk-`1#Xhf>6LbhYw%om>@bY^f01v$2h+XTUm22MnbAhU36?3MFjOY2O z#+wLg}>Ze3ey z-`8DFGx%Cwy32B8fy?Rom($9j7(txlcO4ctu?&kT?qA-c$0p9EtFSup`w^-@@^d+qfBzm_Xs8&wl^?6bn?|`!b zPs==UGkFXo$1>)a)PmcZ?4){0pV#igJR?OTUCoYZvzo>FA$(TQeak8|Uvj_Q_c zEPwH){}s29LaF}(Xnr^*(nc*dZ1uP-MJ#^I`l;_l!P?Ah!p@92Bw2cudiS{d_4Wf9 z@&Ubz^7Wi;LFZIG^88aWL=QXNc)d1Pq=3+{g4JF4SJCpd)ipHVmLjI+wiZ%iYk&|b z!>M-I8uSJylWM_;PxO%Ozk@h-ykYW|Vt-Rtx?G<*?}!#dI!*HR-|^KN3b}#HF5)II zLfJAXk-VJim z+Zc>!mwR$8I&`Wcexy6?zJDBeK#%R)vm7(@nnm=nUmwE+2)ScDaFiMRkEjiP)&%Ib z`P1pZ)Gv(sS#JAt+k|SF@H~2lxe{n1wgtKPMGMZts5$izpU6Z4uS5qV8E4~>6>4wq zF(0-^m=B^i+$XWm@~ks^{rl1TEq^qKaHzBe14i%FUT4H1~q>*F$&r3}^ zEZXVG{iM|?^FFC6%9b+&f2`g)WGr9ik51$he6s!9QX{j*zCP%p+Agh{Eq}YsgeRbZ zzO1O6ftqA%Zi~9QvL(gxzL@UxZ9Ur#DLMGoQ|jo*YQ~-Sefc*V?%;DkOS`^5w$1!a zHHJT*k7Ml0K|+9m8os({0RqZ~$HDeZN4`imAcWaNB479^bN0#TAG2J8g9t~=ex`Tn zpWMMU`1Q=^iV_kmXtqf`HGe;;x6RD+zM+aTBT~ne`ux$$d<{Q-|6b|rJ|mi;&Nv+Z z|8`Itl-c8MOxbc|&|jKb*KGFw=-cKVHahfb^yJd`3B<>w&fNd>lJNgsulOgm!-I0H z0J0gFnVbIZ3jPz)N!xEyT-fBQp(y`%x3X@gsb8`7{L`ZrpW5(+*MHBEb`WhsCSYdX zuOF|HOkPTx<(GT>qrc~^!pk2s+j;)sNswPZhHRc2*-7V|F`%hx$1ZJXX*`_j|M|Hp ze!VxN^Ao(GH>Q6M4l>PZ9ehy$t?}$5pUFGBe~E)J$`?iW39KN&{APQ|&@(Rdp`FIO zf{R#i`xL_;sTfj&VSn^3G()ZNW2aE8ex2>8x*T&J@x2MEa}%63+VjVX2bwtTNtv(v zC2%r+dt&9kKRx88zu%NdCCFi$#s4yCq$RkYWf)K#ou<eDY%?GfZ=U11~r~J*^&{LQ&cjY|CG_j zhlDm?C0TO^qJKS~uzeN?84F*EoPSLDp6geT5^Im=Z^P1l)21ZZ*NWtMZ#(AsboUq8 zs8N#sPDYzbB=5R}0xlYP2!zN|ptJirTJ8N`a7WI&Tl%nzkP|Gt_!Vy?TYdL;@{+Yu zR|8UlO>P})Rba{-H&YYOspr7w86h<=T`xig!dvB=>wlDyWrOaFzA;Cao8a4FhRgGR zt0(_Yp{?Ub+|Fvo3QE2AJ2^_iaw2slh!kIctnM3# zM)_a2qJPy%ai}PijCVGB5OCS#`?-7MWWk!h(*LtN#r`8cjPhs5xc`1#T`K}q`K`GY zG3JyfZAbL5HYk4UPM&|RC;k4g(JQoCE&J!JT83)Dkg=QOr_Y(Eh$z$4g`8R0Lw?(W zNdz<-?KcE0Vy;}dLVxX7Er3xe1SYF@!`&3UTz`kka{I;0&*wUMM`1^htHDH- zRe$;uRUUuxE5rc{tQ(_j&1lUfTUBNA82W#TafpcuB1;ib z!g-^`Psvf&3QF>!Az1oa_F%k?{YUo1JQj5W2w-NJf3c@CrFwdt2@(i|nKqwEvDRE_ zmSpIcH1f-_9y9!_y`w@Y+rQmhlp|EcI#)f^! zc*GSe{WMm|awrLpoiZi3is6QW#p8kOaJCPWP}*>|hceIH@j@i#IwYO-`uyigXmh#H zxPYO4A7@mvFV>CM>Il79L-Hsq2>-u6+-!Ky6p9O-qXTUB4M$XrxiToVF^vAJYkyaB zcLfK(Vbur6BgwL zrF%bPmSj8e97&9lB1-wO&zxkf@qgNd_>MY7`7zd!T2ls(@b>@t&^`F+`f;y)?NFXQ z>69OA&-I-uWFtMBO4W(cKY6Wwg~X3hF7Un>?V}`2SWe&_s6g?TWDGPLL*pO27Fu~% zo#Ly~Vchllpdb5f8RkRk|K9X%O^Yi;ew3>}4fZ)k4B^4_^SY>E?{-&mf`18P`8oa* zx)G2{c^m3U?P|6(eY#A_vgwLKg^<&yo@(BlY|I`1<+ae3%MNy#f(oR665J@bKAQ$s z_=jkM@UNN#S;Rh$ZA;-qC1xY&e+ax1R0(oKZcK9z!Ts@^z&-ay42we_r-+scuY_;d zg{+}-e1q>(t~kFN+w(nA4u9?>y`wH1KqC3iamxg^^ZqouB0-hTIbD!V70}8Aoz)8$ zCMpqj^5Aq^FHwZ}`vy-{krpG@b&S&=H$fWb7uxGbiah7UPKrlB{v>zQ4|^8FNCY(6 zT$+5`R^I<6^xJDXK?gpYrRtB}v6Im=l?)BTXf6QI3jz?4Q}|Ittp3Fo^6Pr&QODtwjJ z%e9D+R*cg8eNJy5$cU)DHxm1CFuvxNeF%T|?fT|(b78SQ)zT^O!&*j0|2jSM`;4j6 zQc>+N)JDz1XUdd3;eS~NN%iP1;hdp}Sz~${CdYf}Ka(qA?p$M6t$qk#aE&haW_|)-Q4*ttL}|@km#%&$v1454?Yl`7QGZvR&&d3+{69waYg2g<66vm&`kFWs zv_8$D(oS@+WK@xV@`JacNFu*FY4)4Kvhc+Go6WpuX$T3vXl}P>-cH7j`0vIdB4@91 z{pVy!9t{KVzJD4NhpzkAX)MYme9xjw{s1VBB`z&`$ve@v?BlcK_7&4urihg-c+m7x zDRFg2uRJTixapFEn`)7kUsvt8UWjj+sbRe>8RO)Q2W`8nPBY!9GSOtt@ z*iNYRMx`CjZdN%6&$cQY?sPHn?YkxIz>W8O4m?iZ?o74#?6saS`0vP9H2W^?bd8DE z*c_Z3XMdjt&FywXOCeY9Pp+I%7OIPd_CKytrKyNH|{rvjae+CluK=2UolaK_WCa3{akg8vrz8P(&o?aV~uf5TX% zCV`E@TQq+XSQgJV>x=PgXYd$zhMsvE0V4%zdS9Q^#QHLMGefZ_o08^J;0T^k=}aFR zy4I78W2nBFFAwxqW~Te;j{U_GtI^>va=!Iv`5HtWMc>ZzK{nrurDoM}{e!^rDf^mz zKw3NEXTs^&qcTFqBVDNt;57ZrZQEUAAE%hiY%|j1qk3)-Z z`HcAabvL|TUzI+8ZB(2%vv+aNn~U=&>TDL(=+@d1Mxi0M;0GIMtV4P6$?b#wXSv?s z_i=yqZwCHDDar?F9=s2wP)E%9xq*f7jY4#h%~jvS+L)k>YOi*X=GRPUyi?L!q|XmUEkO&SCN)J+pqN_=oMBJ6u7@( zTgECDCA#q5M7Cd>Wz5W9Q1WmgV*R6z#sJFyW}p1W8E2R~)@OD3^-g-tkhCznj@k}V$LISGc!At`_R$>NgyzKVtiOwmER(nF%`>EKZ%QKAAQ zw!P5doH+qJ>75ff`fBc2eYQ2=Yo_0>k{P+>fZnGepC_|&ER@Rz7ydin*N<|dl&Q8` zo(_C)u)#;drhpaq9IE+NEFfAryH1UdT*lrIhX)l*MtF@nh@4}X5FWh`4(Vu&58e2~>_zF!l z>6|L^MDldf%D(PZ$8Jm992E{G&Y7qoeQZshIGg^IedZ?u#>Oj9dM_T6cEOmVxH^P9 zd!5M?cE>g7D%JjDhCPUx=F+NOQJx)i|+lR!6a zmfPb%^*xyy5sS005vJiJYaVbj@e3NMi_^WAE1!Il?yTroa@<-8j2IA731f2CH1f%d z-#sj$W!YHue02|aXzJOshjo2<=3L*yW)FiNssnX-W!zK7{3tK}M|&d(kmi487~~Jh zPyeRhLN$VxiHJB6A3q>Q#L;mj1rhi^=yfYuvc=*QuACGQB|xSeO58^eVVUr7hs~1n z(^az)pSh1$aHGfosvo3N-+h|GGWxg&8lRT|;4XoxC87&H z0_>ocE}pcVH~e&2u0wyU%mIiYhWT$DPFN^JAKnDlm%KWJP(^|o0*6x87Wcd@Owjq}Yb_bVnC}c#5ttq-^>qQv;`mTiVl98@>aHSz$N$ximA@r{ zt>J8}3Cmm>$8t#nO2N8@3sG2(OQe!ot{G~I zCAcJ#DJB^bAug#XDlV6~Q+ImqGd<7!1Lpj2eml=O&wIY_ec$gb;~y?_8|=KDcD*oi z*jPR8U9yGuzDIu-PPra5WRX@7jm8SyiaGoDBKzvlu7x=W%R}lJos%VZ(R@e;(<79<9( z(!((R5K} zcF}<~&O|jUonf3C!Cvb&prkKb?%c{dg)?Q&nAT_w-%;fqeSuX_J{Az#u{`3XR&X6J zPedIO_#Y8G(C$%vvKChTg7sc)hP@Y997rFabU<=|{tKrAyzgjGU9cj1*IO=1-tZkE zbB!D;DGYz`3W=Bws`W}Z?REgywJyvi3Nx=Qs! zU89>7iDx{$nfUo*3Ir10b8ep~>8n;dmz0F*#mGkw!aRLDCTnO+284j^WH`q|9c`bW z072nex^S(H$8sD>(;3oaegC7HXD_+dTJ7+ zR{2Kc>|5J+{pVRzZ|P>@Z3o34)}IHK%&Vm%&X}>iaB9i?%qfPC|=z$I+f7Z-O4MXjyN zUv^BB?CT{vUuvHKY3<=FnDLs)N>ek0@z+5J;61%#>`!NOF5|N8oPho`6XiJSf^?it zns%Gt%U_*Wy`Fi?smw)Ik`vLo^&G?Y)1U`;AVXuLrRyUl+~ z7zx6{xN2)sZco#v)~C{TjqyfQ#gKsx=p(wKE;FY#6hrLs_^?r#+Je~)^)t`O_v!L$ zg_GiYGG#c5HYj*muGbyqoWMO}Ada3Gm=)m-7x^Ox9pW{(gokro_1iKwsJN4I9_WHl zHZWQPM;~QkkiurC89<{R2dibs*LiEyJ&&G}`5z zcEo6n9%8Pq?{w?e*~W_|e3u-#I=rZ#RqKrCiDk0my-}Xj>B27#*InXp8%K7Z{%Y*; zk~%AE3}DyIsDcNyqCviD0^?kSu8b;8Q=ZOzSiD4dau47oDK=9i^2DRz9lC!uAI%Pv zTm;M)kP{)lrp4tBNMA#k!{so*sj7pYQq(dod5G$VN{?QA3Gf8SJ(SW729qgM4QRb= z?-gMQzp1n$;fbP}yU4oPtL)jqk;Ss0Oh66Sf>Z%$^}uVn2X|ofDhtbhfWnOy!o}0X zP*9zleniz39ig^aIdNdDE?j@pHv(|{A!iKzM{Tl@8iXS)S0X~5x_^j?lxCE*dr{M* zl=m)-#EXPcM^=1?qUd?T7dssK)A8Qb?5Lj{D{92=iwOijz;m9Y4oR<|g(mpvTO8aH z7iHxSLeeoy1{idE5q%G?N6Sw=C`Whnx7+&SmPIIyr%E{qYVPkTZy z|7B~X#r4GOk5l0m_^%cBOo58#k7>rSQ~7tJm-$Z#)&N0iKVk{H&+qNUly;tXj9z$Z z?W&fmKDhp8Ht%L{*a_F=5y=F>uZDqA#|O;cL(0>t=EqqpzAN`y@ji=lXLiEa*n-Nm zyK(*!IlZi%)d5kka+ZIkb!{PEMVOM3&6ABf5VAq7ODIsCrs|{N@5#Fynl|D&BK;Z1 z2PTFb4ot0(u%ER9e;JEV?Jm)m3tv3;J+}wo9a!gpxxKAQxETx`qsCI|Ki)T$`0`m^ zS<4Dl$VWF_*f`KZi~+t?2g85wB-jZe%cofEdIWJkzMq$NX*PehND=aZ=$O~5%=^O~ zhGQqvm$*^Pvj}tWJ8e3}(n`#ONAGzn54O2bFWY@nb$4HB_lN!1mw5ilR6x7M`fr|o zqbc7(nV`glmEFk)`hoOI1}en9Wrt>sDk zN&drRqiBTR8BEs6rz@C2=Imvp4S+7T97 z#)NKI3Q5BZYm=Xydm@9I2EC|+&E?;ghldR!>W6Te!Zv>nR`B3y(fR!AoWxZodG_=t zm}TlbArU=Q&!=s1amUUrvHY^S1lj`~w8dFPIfWMt5(iO+SW2I53Xx~_x+dm^)krg? zC;jf@^E5TSCl#aP+ZSih9$Tp`Zx%wzC+UYL4+Xh4ydQsv(wVUd_p?JiB=O?EBwxnN;*;7pUjm>er!wtm7RRDA+#l#@=DH{~DpWCdP%na#0`$b~(&# z+rb#CI~pcvyM`tX2i)L7?96qMrRd;^4DPYInY}id*CP7r-#Aj5jSm9vlN_GUM)PZX&43bR7;$T>e-ZVki|eANPNdm&4mnbpwqXS+4EkP;uNQdsJup z7G!k(Lt3E;tN2UXD8PVg>4e14M|uU#8x*1=sD#I(L(ezA7>ri={C7zkn9nuZ@l>5Q z!SAh<_dB{3k`_uTy|yUT=np!DO4C_32Mh#$?koxO0R3C%Bbg%;8NfhN7_?9&f7}z8 zpzMDy80((Z4yi8Sgz#AWo%3^{wOPvt@4%}gO`+M3+H6BH*TXkXR*lIhwU@1TVN6BW zfa^gVwV~CEB-Sn7MEZQac-desb~FlxyajvKXtY~A`yr1|{e?ms_W5wHh{`Pf^;O@q zPb9q~la0vFTwZUQ3N`Aogf&Lp_2w=vQwWIJbL+ZoRAz3={`3eejbomBL!C z@$yhl>snd1x!ap~;^2x_&>xSTo4&WI#;oNF8yKOf<3(FJ=i8`GU6hWGudW%1Tl8FJ zH_5%`SJZBjEneC!u#Q?bh+1yy&tek?;?b(7M7DjG{_F~v*~T;WhHAE=`^}14K3spH z;(n#=zx>JmQhUNibaKZ!F9M4n;Gf8DmwFBGN9XY?M-D2>!7RsmEB)sB_NN|iu6F$_ z7sxF;?W2wl`swysOFid<&d2KhiNogPB&hnfl#>fTe2E>B+qK`NcxC`bo`03g^h!(R z9tvpHhuC~kpn`mfed;2BZOgwA%b0(9N<`}wgZJ)#Q^GIzT$I^q4@QlsJ^B0dy1fCC zm)bZGQ{DgeywoPVo{!mEIvUmgjcn*>;ihdRsuuCv;onGx0*aGHuk7b_IsI+)CD|}P z8WE5}Atd@6$KS&L?QqH z#+sKg*NsYliH!_uiH!_ub$AN^0R;5{000CO0002&UF&k&IF|muPl0i2%a+QbbKRM8 zx3iVDooUzPR*Ac_UA9YtNJv7PBH09KS({4LJj6c0);`KU$~?)Q3&5KwT5)IG?wOtG z#Fhvg00#%>eCGn@)4vF@<*P6>Tl?Y+J_zxN{9+l;$oq*nZRa7rCJ#gPoO7! z)KQjy#zF39ak>;yoT+gfUm8!GL@-Tlpt&CdMfYSEIs__#K~$85OK}C%CQDiovPk@r z!_XOgp-g5(qEeXNTm>SIiZ(`NxP$2~61QV#7~yz8!`lta2mGBay05 zUCAh`E}UmT%PyF;E5dk6!==jPVMc7oW-%~-l$+y}W>xOK3uT5&*cB2!=?J)&F}s1% z6c+*g3Tn~_b)|tdzCy;v+_EyMR3&kmdBQGa49uM?F_Ci}YMJtEaRNLWc_noy#~~7{ zE&_&GfXL#{3KO8;+!OEfDALi?QV8-CKU8J_Tk5B|uVv^Kt0oiWXZnivAPiMBRZePu z>`-EXyoKiVy$6;ohe=cj1CwbMMNg75BsS3z?4UhP1|Cd8 z*hE8I=~{cg{}R?H#U#gbq(OFJDRG_+;>iF;7>wgPY~mOSwP_6 zs8q5<@}LHo0290Qc(y+e)hTb^2Kq|)A;|B+`IZdvu+!gzaTxoT_IDjk;`1$GvSp~C z*;x9Q(=^UO{rYhjr~Bf;chB(uj~;#_>^I{O8hsEcPD_hrQOeA5=zqEKj)MU?YQ{bCZ#2V**b*W{!pu;SqP1q|!*cx~}bW?p}6n z`cH=)f1Cp>(1OZb$M%)uU$$!|$9V{-gh({Hc1--en#ZutnV!zTe)(|<=nQNbSXU*p zJXHmicFqBXBe3GgVTWTJzT%G0)(;KhInmQRWfX#-2((NhQ*9g|bR;_F|0pCj<0{DCtADoqm7vK^z{xdL=%dz+c}Ti}%OxUcERxJ`!)=h|{-+;)i!fFHVm=ar9Qad3!28 zzCSrV7C*iH;k`J2J^qhVaq^}@1ID-`dj%$32M611PPWNjc5N(}shTC~Y725oplQ{) zVHbvE-)T<(C*;o+sGIad>4GfTsf!f*wiBI#0+`7wb%Qr@c6}kVN&}1a*Sq^bm6~$DF%P2?^h7P_?21rj+Xl`}6e+)B6Kx>CY9~S#S31rOXv?%z zUu#uXrxtwViMQMlkE1XEx5fZHDe@tc1RPXTMmlK*yCBdQ^AP?1pY29bbX5iYK50k$ zc=Tf-cOx-L<2jAe?;pKA{NeTSn^R~Vq;WF9O%tGh)$+~&!DCMxh8pxzzke7fOJO1n zv!mdcAL?Wr%M`}%B=N)(hL4_)))B%tiAhj|E16UE%CQB0iHj6_vkEEn%rpP59X6shI{{?3Q``s?A z{#sst!iWg$*O({_30f=G#ruCvbmCfy!7rjXp7NK% zTY1u)-P>~C%6+QtQCD|8N3W!01mcCOc~_6Cxu-$r?5z5Y58$Zk;Vd>7LhwBAd~0`I zqf52Cv5ir{+-_2|9UUzK>q$bB()Cc3sMC67*w7(`%Xre;xGqQG6%swoaJeRNITFJ zhbvXmVzKZp<#Y;)1>EmF2bcE%Q$^q#<-tr|${^Sq1HFN7=?#3OH%JP4y&_pe$LcSC zL~vIuX4;>L1xTsOAz6LL$pvsamz(91K2pK}b7_Q*++gIWUum^qB*qrV%;G!@2+MQ8 z9&=*3kJvlN3rAhEC9Y*S&=5Hxyj;)ClS7+1;9Rk&oS%=?b6m^b36D!4_!kI)@|I44Rp zwX=6HCj52;U%pJ`ykfc&dg3KZ;$NIj$(Zj^)&)~(d!PheqoTXB)#IN*B0TXzROnBz z0op<-vPC=yH0-+p8N*y(HI`?x6oj`Bxj9G-9Vg^q8ZQj7iCJyDJFxF`z)K9{6oyA$ zA(&a;rY>0}xs4strXrUEHIIjX8|XKX;;7ATP0qJaTcRWbrDFfknC^@7^N9Y-{`S}Z z5vNr#+!x!QszZA$q(grCd0UkI4sj(SlyCyT1FQF@tU3r^)Jl9z`wmzFJcKUrz zr(wowADoM`dZ|XG!)749_<9hsG9nG|phBnDBei}RVJ(2OA$6-yTAd9$Xn91gm+9vr zA_CtPmksD4DGcAeVvTjTaoL+D})Y zgHE9FgXPNE2)q=c=wXq=kbd3iflro~x#%Gu6Wq0xxymU{^;gdj$n;1CRtGSbm+R;u z95Da^`~4A(HlnH&7{icA0KYGBXuvHb!Gy%29TJXxO}c`3%=t@Ce2@B~UMeI;b(k@i zIO!oBf9lX+Y&Xw}%C24FM1g}BcnV=~HH~cv45bbyfGQ1@k+sho8;+2jL(5K_`SdRE z+5_=t#j9}@L}jHKu^$I$=rj{!Xl|!f693*{1HdO-oXNYjV1dj&Pm-Th)`L? z*-hdDhxj^?=vaX1E>O`;>Xns3m|4$~b-`Ggf3gx32Vx6V2u!DDe_1^-PUSFNhYE0R zRX4|J89ZzaSAx^Ul(J)Y7~_GX`dX|N(&jEgoNfF>&S1`^HudwZUEBc9Kw2srior-WxM85u6*601AWfAzpf86b89F&f+eRIYA5ZY)_1wAOuV8(c&* z-Kd?K!I7U<%lH9kuV|IZtJ&CVpo$P(0R=3l}LlGS4D9PzNKC~^wsl`wSj{1w$nmU{4#hDxQS^Y~~00Cp_ z&5i^GDJZ<_yhtVeS@RsUBlk*V&d%e1|NBK5ba1>9dQzYYdQ`2cNpr=aX5$Gu1)2+l zBJ{y+T)!5mc6;Ik@lLS$)qF^iKt8*7bW37^!u|TFF4V=Y7Vr;a+R?J1;G5aM8ubHV z(}C`rmhh^5a=`J&mMonU5K!_J+N}w_+D1Zq&I9~TQ>(WijF(O9 zAtn<~jtW(QMvgg47p)9t7VT)GlcSe`=Zz?T55THpFySd_chCi+Kusi=;i07~NT)>Q z0^m7`6h?}F1IYDc?{W4YRRr@#odvMCS9oy2#idoebX7LW9ZzVv)4+;CJ!+&899;fL`QF2ik6neI?{;( z@7b3w?I9t5xl@a4yaR*wamE~c}Y2Am$J6sfQ= zN-hck^g}g7VC+V%EFY0}o&wIvc3Hd3W#-Q?xk%_q8hdl+mRFch;gkeH%EyF!29p<# zTdD^3>Ne}N*kY_kZB20--v_y}r%@&eUQ-a{ZyQb7-b(5e==n2tvs@hKWX3wep;@;uEz^w|E%))taMo}#KD1hbWtY*0}XFU>fwds zS#(g4@XSmm>g?e~XCaAW$*`y>Ndmke>dS0@=d7Sb6%35=|~rVKrPd$U|tl8 z#h!UCN0Xo)Csaw6mGkWPkst|paYL!*5aROIhyTE-z~GPdii+TmG-V(KRAk}R0VKSC zoAPjXdy1w{$es`FLTuM%ke9Pv1a8!#8R>&_PcI;73w*TE`l1L(<3MzWLfS^V&oPnP zZ{Is^B{Kgo^M}4KF z(X5!u%-c<`Ln5m~$vm4%vRIt2qBJ78gn}n|N)_K&K!(WIRVX!zv#Aa~OSQUEwF-!` z^v);m2w+(Y~gtFUloyVb+}Ka*l_prLZ`8g*ML974&ph1@HxbHVdY~ z@^*z*zK4mv!<%GrbXd;y7O|CfLe?oM__9WUE$V8na*3{LPc<{4^7;azivpJ7Lhqy~ z0e5ux)fH(w_gWQdMIp-Tx*~k&J!w;+zeWY$XHDAWW|tAiFZGA3Ol3c~>g|$FvQf{@ zQ#h&!%80VUQ3X!n^2G>WBlcRlswK$a?9{+%Iv8L-g67$u5EdFadVSJ#i6Mny@(85;@o}mXkM@6w>G#NHU_VPZc_O(#R=(`Me!jVfA7XW zI_7!Vc@s7mt#1FQ&IC7a_T^WbpFO-F-M+Thz4bR7J2u*(`tnffh83hUEczaZ%F@rO zzw=q$dkJ)HsOEgjet>6(e9sC#cv*}yYF^t}JLEk+tqjAJ6FWqDJZY+xFlDKW+X9o} zB?lvRECAgXqn#I1z@hBS_D15le;C0RquyPdn66!RTkFv)k#-QbZ1wOg;1Uw}4Ewj$ zW2kM{42ohc#fyJ{&BhdwrtBt`eG$SR=z4|QO02a*eY>kXT^hRIx2Z|xE-qH%U1iCU z*Y9(wPP4WsD>J(rmKEJmBx@4`R~(<#$af9vM)6QiReL-Z-+QrR?|B}qf0ew>$T7}% z-Cnby?J6G{)?Q9_>quI$#*J%>Y6IWrpxUoFm+vVUU6lM1hAz$@JK=>)kyBu=xhF0h zcUJ)AAIQ&KCu6@SU(_~B9Tt+fn8qF8r7V&D1%M`D; zsJ|v3U$Y^N4wpsMIhcH~t}4y=#xucBx=&1_+3ORM%O?YN(dU|SKoWm@-qC>m|kEI0f0uA z-PWnfmRG2@zfRx9fAQV^#Z`v-KSWS@d4K7$8_-^I9S85cl=0c-_sDO4&21Nj?`jpU ze5-$jK%u%Rr;zF?e+BBRcLH`s)v$KYzNp@X^lQMb*0iSiM!hmOEvI-8onThCX}z3x zzTwqI88OC)m+tY3UwIi3mJcFvsfx=o5qS_rt*p;)#N-NIey!?=(=;2E2J;PHbR!5v zbxjjrZd=yv;wvLg8l?ke(XQ9pl`-x#1%IclyLEHu77p&Rf2!9LIZ@!;1N|Edi{d3H z%{0U&PT5RVUuIODT~V`Hd4ONnYX&h0T?VW{C-4i3WMschHHES0)&+*MX@9i}VC{F} zqc!c!t%P9Q=LH-VFGOOX%#tqNdkJmjQ|rVSIOME($wG8_Mi*`1mj_{i zwF7h|tXB!Ne-XV6l)qmrXmcHIUi;^J4E9bDDvYrll8b*q`#B?9{5vc)4S5#;pYAP? z>MaM}U*)sS-t=1Ve!6UFkN*SHilKgY35)<*MUYziK-=xI&30pAXa85;mF~7}1mXXA z3f4doTM%hm^3@>z;o6QPz&UC=O$x`5D2i4D%c4Nif3bxkKwqPe(AVgr^hvsN?7^E# z1KDl@G({-x#hsnqnVtE*_@baKY7g^IG}yeZsHx3x{g747O-S-zSTFR6WOKg$z@Mze z1o%Cw3%kk6&dsr3G^Hh-eu+DCu|j9v;vV?pC=HkWEjw7+enr~=w8`fn!q>S(z|k$8k`M{A?)B#%Cmmil7!!QVy+ZNaC@9`I* zLWC``?5})z*tr$oCj^3W+;cpGvX#N%?zyqz%AzbQdk~I3!#0H9WDxk#Z9hO|fW#$<0@@Y<1cF;@~9?{p?gUlbwO!X(8s_+NZAQoW_qX(60j ze+Hhz7m%2zR!;?-^avD3UU#YT+$qL;$b5KVNtN}=rYkkG8TMBJH0p%qS|z{AW_r&c zdlWXHI0$orR|`VsxVHve0OqOU97WTByn7`fcQ|3qgo&A&cPwno^CB+$7Ifk9tacpv zf}`#7;8?+P`!nf1==rkSz<$f;)m$xl(3qLf1Luc zrR7{zkzTyegcO~LIOYHiulRU{yL!_a2Fc0B9-6Z)W??LJWEG7?XI{Duk9jXNpN8lt zMyjhTo^lAcwj*|YPZGvLYLP`uXN;}O7X=u-hi!>}G#V|Z<%kc3um3_$eM&0i@ z%4JKN-*BvV*js3w0GX9H&Dztae=Dx5iF`*fPXaPG9!ic|+~DQ+I2Iyl{1jLxxFi~l z3a_taJs({Uttj*$Agn;JovF|eOTrWY3WHNG^!} z0a#W&F?&VsSi?zqH9>f5`bPa1zfP z#FPKpbgWb2cgdU0gtipgkQC-KDZIF%P@uFdr|S?hHqZ1C*^HPG8|^t;4f|;@V_BmFILVa`P@A;L z0TGuZVpdEG`ZwJ4q;4uwe@8MI8GAg}x|i*IYq?4GKljT%3X$4&tON*2loA`n;vKta zW{X*DG)^cJHL~_%ic=dzd6-#md^7O*Qj0*imB`3kFv;a%+;~dH!mpLn{BNLebnaryAB=#w@G%JM_vz4sp(8-GOeHj?O`o7K4blX@hZl6T zNa$X&Rj#*aEgJ;*s{_r<_2A6w(lhLoTF|9rn3u3g&g08h|pL{k9E zH`9-4!$uwsmlJo%BAgn=lFE=3JB>TO(Ggr#8M9{rQ8vh43`4iiaXSD80q9Oh0i;6A zd-WBNAzSzSLgrdElir24jf1X0A{(7ALY1a3sMmzfffL@t8r1R2@UJx(nS-gN4vQ6 zcF!_&;bj0je~(DqQRBvxKbfcIB;L4;t_6JKC}NIxP;^8&myT5>ejo7Q#1#%)@3d)+NB80mMF$p%=|mle+)loRwlY0F+`EN)TG>S++ut) zXD_mrUA%5Vd6pOTIwfX>hT8kk#m?~B{XoF3O%)iLL`GiDmY*fc&u_~)eNLwV`4 zKS#69rRS+kYUG?WE&lpKjik#j7pV<;MF{GyIF+xJ`nCCktJ-BsmyxYxxp$*zcRf|j zEK|?~e-q0z0%E%>$5OwEL@~302dt~iBjwkk`Q!Ym0NUz1Y&wXglIU_ZqYBE60`g_R zu9+loxQYD5fS-0*bfQ{$dqx@_m*ZGVH0$!YdpXrlt)`q?(V9tmWpe-{K@pvQAXu#a zIA|gKKXVQBy4kL2MRq3aiHQv3-=G~)D+6sk|L#4ZJYJh_B$LfP4zU0 zfB9(ZeS#d5$m(W-G}s8Oz-U;)O=BNuTXz z`UCf6=WXy80DoG@VWQD|01jWM_Xgplxe9BZuzh_WEYK zwY~9E>$0_RxpV0be7C>8v*r3;e|@d*e}0wR{9xPGuY1RxgIAr`2iE?Zx4)fqj$WQw zwq5T2jjqLDOJ8Y}M^^32aan)=CC>7#wk`hJGN!RJ@f>Rpz|P<;B<%D<087ZarWFm; z`Eh6e@b&4Tj=vZRnYrmBJ9`csyCj-j?T>^0>b2N?SGk52rm)2;jhrS=-yVFhe~(9= zFVunE(cxs)-qG7*yX~x5d*XZQ(d-A;*M8^;IeETH-!3H^Pk6ISOdkHUbma@(KZd9c z^-Me+jKt~7opm8O2m~dw0JJ=axFd#cYw>uqPLe!Jg#u|s$RKhRrNF=t<>X@TF!x3`7P3Mn%&Rh%`)=5lF{lhXu>{ zwoceWgdn}^L4&0M^e+Q>&HNCi^x$HP zheCm9@#kn7CjOQEUBR+Ft>cc#MzGPei`BB6JQMC;Ts07Ysbp=3^Xewi&&FU)`Yq2!V zN{$jGKwan$8IM5Y;LBny0x)AYV9RjrM}IscS>cF&sZaEy zN9@ov()hXlaKz5vD=-W{=Tb{p!td?KfctED5*-j^W}rHL{oPlGiCyMvO_B6DrKx~JAKF6Ug3!b;Pgj(Eka*T5r3&B9jDIsS`=(`QyECiMUCygQ<9RppAHXOl5iVqO6J!!1~P%*XUeq^A|k>&+Yh}ZzQ)>Yuhzq zYJX%p6t(7H+PdZu$@LOEN#=wBR3>NK&&pQ4dfUZDyCNXDc7K5uG6^J~#|gM+zb=fP z$-`#Wg)>Royei9X^#{L|M^UlH|F!GIcj7h!^D9zI^Do^Dy^*oe#tL*q@Bzycm;=13dLd&XEBsh-Y%%pp(UUG!+QP4rbs8MDsC-X_2UdOyw(& zX5io28-YVRL4VkKu($Gr-g>p4uTR;#(=+z*!|~Y>`;XHfKd`f-zn!t;cNH4Y#{>C1 zfB`Z%cx+tKWAeFu6AP}c=FR%v1uZ4ug+Rmw4Q*D}0)HBUJ7t&wk;CIK1b75)0SL^b z0$aP_*J8h~Pf+CBOZLG65NOJ+!NM+N+y#hG(dUYT4-Y70(IT8N?i<%;V3Z-l0mGN* zt*!6lSZ6r0pxr40L^DAV;AW75h_9teVnjVdgY(fm!wcB0WdOdWn8_jjwq6OTLZ3E3 zG#14~TbKR>A_{-xUa;6k_s19}P-jVEhBM__`h-SpM=Cc~A_PNBwrc~LWHB*F`8kKz zvZZa9#8nibkwKby0-=qF&2~ArQU;;qVWy2M!T8KjtitM!se-V@PI*BOeYztEcsemp zD^}51#Q%?$n$glbT&fh@+Vu?a$rK`7j6C<@>@K=qELUe5x#kfxiny%CrWl~q_7 zTWGu)OM8YTq(L05CV|>{XiUdLhFqol+1t?llmSxTi)ThLOdzZmNgf7lD!}4^(_%9o z$xw1qE;N6&C^azbHw7THW(7hbP+^;;vNj0N_O(p%s;3$Z&eu!+a(mtE?hFRrpCI)O z-TouCF5K+R+@U!KYd>V6$R2CEoB>e9Fh$)9h>~{7dGJ#B;gYG+#do^(UX$?DW2dGe z8cT-RyD6#!Wew95{HZQ8tHi+&6e>i12ZO&_C8U2D7r|ga9?3qQ{8Y^Fgw0f9(v5?` z>(j#@-yXd?gSP{fq$8X?2A)6f&Ajb->@bwzH3oyjBwaEcOW-a;+4!MMrwLcke=mt= z9>YLj$j-xr2bB?l79bj%NieiNh|)kaZI}jgKk)#cz!+pGF1NeWL>Al$wF~RZzall? z1<-$>#Hd0Q9Nq}XjgT5;hITMp3Cdg)3m z*S-S|Ly3M;G#x!}!0N~m&BH6Dp&wbu*le&94;Q(LF$lFuuhM@o z-Q3)GSA0GP^WrDbt_vh~0r$okkMm%`uXqsbPJ!OYxAaCn(i@dYv>nHC5rDYZwU(tK zKXHTlkI@-KNvVi&S%PaSGnx-$s>oKX6FFIm(rP>5c#Z6(U7SujW0DT8&_G1Vc!SAI z6~s&}D|L3Ug?wU;7bq1nM)R@HE-rs!`Y-$K*Z*c`T+Ic7gD{WcefIcMwQDboDfJb%|KWu+JOL$YDM;V@$ zynbJ^kK(sq{{agDfD6{8o1t!uF3<7_o%Hh?A zST$D9As7uXrK4He>yS|kd_Z4D6^u@JX1Q(86!#CF?x1rxR07k=oZ-7Ju?=r;BEm{* zBeZfmq>QI2A~6Y4Brk3yrY{hCLO9|+y2aZ_6q%>x2<&)3m;Lj~=ktrLBYN{<>yjND zu&0-GGSJcZo}`{!I+?`>1qpu-%yTNvpIr7XLno4Pu^!U^cj~}wZJ!skhOEY2ljJIq z#y9mT9m3dfqh}1@EfWXN_rBz{ej>mK{=-%n5DcdvDZ>2ALe3ZP$xoCL5E@~Pf=wls z;YsQAT#bO?-9pR?0>%Vcf0+iAeXy%Ixf#0E4W7~moQml}lbeG#jLCm+3EoPcvf7*D zE1CWsW2<5%oKLWUGspma^SA*AR^yc7L-`v8B9E%1b{@uQyA(C;|5G;9tl}H?xUQ6j ztH(?lW9(k9$OH@l_*{XTkxkq@ZleWyZxOZoro~^|CkKrc(t>zp3~Dk4M{}{&)>|t| zu6gl;(oB3s`1qqMr&@op)}5cKX7G=e+jRw{cZZ)af&U~wOrd;tzAAGt11-XA6XA9s3vl15|lPBJ@ zU%J)+wJ5ZHpLHz1X8S){$?resZ_xDDCTa*6BLn9M>c^)5@W?q#Dih|>_j=L@KCJQ@ zr@Q((cz>F&&Q@Qnh>ol{LNMl3QR$W`#fLL4-9})xVx7?|kNr{=$3@!%RvG$v_4kXd z_YlbJz5%)xQ(b>-*$?pSkj$xu4_=laN839acKOB2*Of}d0Dvo~#fe>KSTLYB7qFA6 zr?C)e8_mGh4yqwiO5rnzZfl1Uz(tit%sMGvei?H9UH+` z`)?c2qYpZjq&E;kj=LtO&6$D|s`#F9t=jJ1IItLFKOF4p_)CU_zekhm`dox6N(8xI zY7<-0pZ`UGr)$a|8uWawwAr&wGvECMt-ZN3hny>kq9St!BuJ0e+f=u;iXr4+pi_yU zEmxJOq^N(T;WmmN4A7||zcBv<<W&Q^hUU(0yAto>vd*W$K1X(YoSb`PWJ~P{kzphE$=Z9YPR_} zj3$44xmfD+IN=RlFzY-Ma%blYA-3_}XpXAx-1*pf!Z@03Q()WDug<5D%+O6wP5RF6 zA!B6#tY98FUuF&#VF=6F#7nP2Q^c{4MP;EH8;k46;`7Vx)~|O4g9mZX8w%NNui-X? zmE8$ARBszF@WUW$cG8!Q=T}?dm1Zb~vXdY#23-jo7#I+#KaIl|`B7#TS$j z3y)}(PwpKN<9dxrJR1IdMAqa^kF~0iW*WE5CFxrEiSGjnCGUBeCq@!WBb`^(&kvbb zBEo;ZTW&zBVQ+igmP4=nt!%4Gb8juX zx}mlEdhhw0gL{)$g?7Ji3EwoAFWz}aq@JIhUgLo4MH8tjroTvwo$H^wIqR#fA5VJg z>iDH>ud~W|{pGe%{_U4Vt_qj=hnLEFZ#P)?YvUTBWTm%Sifm-=fE5n@K*JHQvyIVar;kT=_`9O3(5Z4}EBVw4md;aY+>TFDZ z_QsiV_pP0jx%wvU9v^4D>b8oB-+ZcxyE4AtA1q!ZEmb8ae|Y3;v_Qg!vk%XFS!q`F z%riwVFwW+Vym*nIx!Px=lU{e?L^-%m32zI2aG`BnE<`e?Wy^e>nx|>evF@V-Cp7skui|0lO`s!|JyWM%mZwa%^Qgtm;IV}|BdT-V(j_&G_of0Uw4ab__#KwtRU&=i^!m8;Ysg^<5#cr zUp3Cy%^soK;(XuNP}0Bo0kLRwsgL9M_PfSK_L$Bs_qp?If~@_^-k&MZ+wGJ5)vj{X zWZy?+wZbrK9iG-7oCTz&JC1QiHLc6Zc@GQcip*gR=nPu(G?e3^`^xP*Hyn%4Sf^)y zWzChQ^|s2so(>6`N^K>H%%{Fe?63CAFLZc&=Je?P6n{hPb=UX8lMzQYxDyqQ#5XkF z68&P~Q#q>p?!n!TE}KXGYt=(~^Zj1$+0Z5Ny|>`|%8P3|eI;+Z%6(XE{pQ1`Uu+In ze=En1$MCep{2~)}dX{_adYjKv$A2s>G)E;S+u&;UjbQUmN26kCdDf(xx4#=7P1V^{ z>Yu|sq4Mg+jm0+=2h%T<+Xj?oT@NJ=UJVL7$i|-WnyG)?3D(>9;`-Nn4J9$Fo>|2d z+ghwURzx&E|L)Fw?e#tS`s0gDlm^x;Jhf?O%=oVm->1iAf)-hQd2 z{+2`8bEokU&plUU|E%RAJcv8&Q7BUw5WdH~)_+AphU)MKd&&2gu4+-7yjN_n^m^At z^ke%Vd&a!2wvbcqO^9-^X3&kB`oc@8=JNQ_0T&~YDad5Xp%T4Qn9^u8w z0{iWEYR*es)TH=cT_in8tl+=Ar2Xqp{ODSIT1~CDsHy4WH340pH=FmbdF@1sd8^iv zRQ=2KSBFj5ID11$?3bbBrt;reQWCixU%w3u6M2{J{n^r*llQd!WmMa(TQ07Din1i* zt}PYkAg-%v-O~OvEQft_s51_>Roiw;!i{ScA#gS2~?F_TF$Q=SYU6 z@Q(n&5@K!RBN0B%rAJ?|9Ee!|xLilX=7pAWnmtr8T^NW7x)vc>v( z$;xF$9yi37NxN1|Y*6ap`2AR69fh}L=b@Dc#u{}eSJd3HNLR4kv!^mG(Iw61^d4F9 zkPTN$+ub5YKl(kdX)8&6_N_~2e$ZYg?cw;8)ZV_@TL`#Gy`?Emz)UFA>t^^(O z`Z+$ViY0mPyc3CjVLzj;>32#Cm-iR08Krn9SGKFFa+EqbE`K@C<~S*K zZf`yl$MhQH3+BfzUTDps&nk5M`s5FT;f_W2e0Oh^E=XfJ(K@=V`ktjyh!U5VQcROXu`lO?W_y@^3I0HBg)3_ZiVGFjmWFTIv%=0}NTX0@sFV9p@pT^Wn>*!W#Pq%7 z^akD3L?jf-_Bl6rgs*hy0?%;Guv6t!rhTi)9g`mRmNCvQbp(dHnzQIQwDTxCPj~L(%yVy z1^K2x$REn%Kv8%0hya+SYXFcd0b;5^as=?c05+bNkQf!`Bleg~v z>zj?TuIk*}b-`_Z0{(VF3$O2dlO<~;eg85yTTL5j*_Mafn}1)Z@prZB;=K81Oz6_2 zoE|IpUGkE|-N!qZv_D;K{E8Ubxy#s+T}*{PdVyzDbARLy@$k}-x80$v3+I;j{E&OV zVqyM^w2YoFhta+>LEugi;s$*PGrydn<|HeVO@wbn0sP zTDYOAg{k}E5zE!dTi<%z6R=2qa%5wg)!3VM|??9P`T_@&>~zogL{)o-ZR4fpgtzLJj=A%fRlIg0t6lJMmfznT zSCRW=IOp_(B(|*_4XcO3WAALrO}0wESUgaX)31`O?~v=`bkVlYInU2YK3rKXOT#E{ zP4|xb9Gt7iuZ$TfTs{4elq?c?8{ zda=Gqsbz6o#Jo`jFaX6dqyl91En}l2Agdf z7`;7eD6h=A@QePpli6E|x<}&N*Sn9J*X1?JU)_7EUWA9a)$4aFrF7XJUY(`3siQuE z?OOkZ+iApJ%8&D5ozN^}*+(Wup8evml34rvyxXzIDYtVDD!+BEQ~AAp4X16#CEaG- zwnN-{QCAn0k%_0wICe8vXXyBT4dXfYi92@bLBrk$ftuH}Prq6rDJ!1$ed(7>9+8_e z8-7{ql;mz+b2j^hxBXdj7IAY2T}z+sB8$5FGni6UE8Sex8x#gt8_tFI-QjjK0gY?bCPQT)mqP*1GMHjLQ1yOyQmloXG4 zWK`(G93g>Rp~5`fAHmlW_mA9r7H<^&Wvoa-skbII{fO1X05+m^=FJG{17d%C%azAy9>?IN@4{Txhxr8G9#m(gom zrZ^I98h80*@1T>_#;0~}T50V>`4`HO?N9HxF0TKT|K^O=vE|pk$|k5N?=V|(&Gzlu z4V=cxmm@0WVpe^YI(>2esjL1ev5KaiA)2Fo7aty7{9pcwF4d!R+7g6(rJfI^coWL4 zlYWI4m}({SWPiTP{mr7PfPRb9S=pd&bNd1Ah0B$P z+8hs`7dzM5drGo#{OtN_X#rE-tU2!kD_>=wbrwkLamlnU{&bN`T`$IrteERvlC(0g zT9lJy<^5nNxassK7q2HaCzm$pKV0~|m-xV0_({fLnf=lI^JIo1{9f|tl^3sy0CdOufXL)XL2`{=Y725EG^KeO}e+r zu)XtazV6S(5{g}q3m(lM39mJm-hYnG%4}C^bwR1H;1|JOj>?)_*8?55g>JPJA9pZM z`=b1#So!`6g^`V{f~JJn>QiHTgDkO}vworb(D0llE9MJCfc7EqMt>_KIO35qpK72lPhCKdhS%=-W3+s>6O~fsB zU(;RHe%D?n%W9KiaDLRdDpzUDZ}fix9^){1aqQBw$KP(Uix6FmvjZ+0*tC~N%oZ<7e+?E&+UG9V^dd=cR_B$;D*V!FMJEv2X5NAm$F~aT68SE zGW+qC9b-3E6~-;x8o%nGvEkLx212HEc2v%xBW_WLba~ELNl!k0W&U7A{1)Cw9kDyj z(RLZ?1J80w9`?U|m$}0{)qlNf=e^>BeFyfr?l=Bi-b%S^QMkWsZQwP%r!2m$aStL^ z&Ap{`vY9Te*d|Ge5yX>6HAn`uVl7S5C;=~4&?T*)6^H7Qbg9J!`lOY#;-C7Y z2uD1d7)vsv72k^`S@7e0j+GC4JJZ;$Yrd5~5d()EBmZB8AjdrW}^|WHGo?)CA`eli%w z7l&ciWUV(XqLc{1Jc2GK2S%9s*^vrG`}m{O@f8Ne8%{Su?~!X)y!&)%Mewfp+xmEq z2Kn(DX~pFH`0ZSHkL=gl#?mw~Y~d3ObHIBfyXD98l1+ET%TQ{B^9cMi`wlLTFVn=E zGc9USAls9hxw+Rn(g%l+0&lln;$0a(`fkv%&_HeF1gs5vS zkeC!@NK8hNf`W`96-63~bQBpV&Y;Ldk%fYSA{#{xinA!rp~yv%hvGbn3n(t4$VYJr zMFEP-C<;*&p}10ENGxWGz=yH)Pcdzaqq6=KS7iMu*+X3iqB5oQ4LK@P8g*2r48>Ix z)8^}gaAVX5;YTQ%Dn1A|8%N?PD&*#M(tgPik?ZZYCO{-gH;=aitfv&~|&pkD``39ejJL zU$hT11DGsU9-m;nO7 z0 zvcLjB4v+^F07YOSun15BlmQh$6;K1z0S!PC&;qmp9Y7aY4Cn#+z!Ja!Fa(SMW55Jh z3M>Om0W-iHumCIpD_}Wb4XglcfR(^1z!q2y*a2$*dtfcF4sZY*f%U)!U?Z>zZ~~lx z&43Hw3Ty$~0C&Ix*a~a|JOMAj8}I?P1HOPC;1BEob^-xFAP@xX0)l}MAQT7#b_08W zy}&+TKX3pz2!sQN03r|pL;{C_BfwGM7;qej0-}Kvz)2tmhy~&R5)cn00H=V{Kq8O? zBm*e`8At`vfOH@OI0Iw?SpWsd26BM2z&Rin$OFy;7l4aEK5z*r04@WCKoM{SCZUc9KyTCo*KJWl|2s8qZfF__B zXaQP*$G{Vy4R{K)10BFK;5qOD=mffeZlDL~1zrNLfIi?g@CN7y-U0)_ATR_B1Mh(M zzz5(XFamr6J_Dn`7hnwd3XB62z<VO8I31|V@fDWJwEC%!deP9V-02l&BfH7bKECrSU zrhpk>4p;z|fEBPDum)BDHo!_?6<`aj2JC<}fIYAlSO+)&j=*|g1F#X;1ULcCz-GV& za0RviZh$-B0c-`f0iJ*t;0^cy+W}v|5AX+e06T#IAP@)wb^*aa2oMT{0lR@cz+PY< zupc-890bCFLjVzo03w0Iz!Bgma11yOL;=yj3E(6U1H=Mx011c(5`a^{X&@0u0+N9g zfDEJpX+S!V0h|Fcfh>RmWCJPOy3*-UkfeXMzARo8{6abfjLZAq^0u%!!Kq*iL zTm{O3Yd{5X9jFAVfEz$HPy^HgbwEAP0Ney_0k?rWz+K=Ta36R8JOmnnM?e$M4732P zz+>PE&;~pO+JO$>8Sor<0dxXgKsV3>^a3w|S3n=|8h8Wr18;!=U=SDrhJkm$d*B1` z5f}kJ0iS_U;0rJYdofGJ=G zm;)AoC13?C2dse=fDNz`SOwSus{uP;4PXzf1=ax$fFrOT*Z^z1$YBKz;?hF@B{pT9l%Z?00;zvfL%Z^5CVh(VZd%+53m>52kZw9 z00)6^;1ECrB7jKXFmMDo3LFED15rRUZ~{09!~n5C96$o%fdt?ba2iMil7M6&1t0^d zKpKz^WB_M?Odt!O0NFqeaF$SqPJaYR{7#&*A>|x_cHdi9iCzgVgquT3OU*d~?WVC# ztM(k>3jQpG^5)4o0`11TZe`m!!l(*GqbD=8*;Bda5qpbpQ(C|c+*Nj%pc{k0e` z>!X!jK!52omSsK5C0NX=>V?X@XO(?KWt(S}`904ic+M*OjLN)bmF;TP;*TGx zQ;pZ;JXE@RWP}A<$-;&iFx33=da9<}4&MNOwcQ>&d_6rv1B2DPcKdpI1#I(D4+`*E z?>MtXeCLgz-XsVPPb8-LJu@J@@b7+K8aP^iL<9BTgdV9(^^1Oh8I8DFWBydl$)!h> z{;sLC>wJ@SJBC$##xPxm5ihcts!3Va3u9nhR0r|09w{km>y%3LdLcarpAElP=fB0N zV%X;{46|SuRll6vRJ~;{a|z0`>J{=_$&1Ti#zuRYF%5<>jo44s6T@fGBRJI8+hbek z|CqZN)V2hn|APX3?l{Rt?kE1S4+czZ^$WNB*@{lQP0GCu61*}ghuEFdt{YinSje~8BRz&&oEff}@hMjz3d*D#{n zb;=a8H@O6Hc07ePECLL=2v3<;Kb1lmz+cmH@S#_=3V9e8VA#N04AZ9#1XiN;OKLq6 zeCX8E6SSI*x|1M$J*h%r8ptIml53ddcwn6}w#y-&CwPR33F~uW!n7FL^}no&*HoZ5 z_2&`<==Jb1$DuL_f>V*&R8A{;%{43M7oKx~qK@Y%@o3Z56KxE5TS0H3t$PLsdaVeBfx9$>aE@K&J=A~%IO+B9 z5j{X<5`=3^+SIKhYYw1q`uvYkV?=bLmn%26G9z^w#lFy*wOb zB&mS@$t9V7ZlIo392P9bdz2@Or>hDw>@9p;T0=0d9&2irBKdrs>Rg5_y!{A=9;uT{ zn6dv#nK3}OjaOFe1VKs{TyT4aZ94eC_C^S-2QnqWcQF>7kwRL={Zv!5UG9-%^R^9!lvmnypOm0-zI5c$A?ThMojq#yJ}AE4pI9wuadjcuazIiqKAeT0nT9wwBAPw4bVPoZzs+6A>s1Wh@x zmA%}UHEqtI_kL7ubQBKi!WX*o)7{f+UhYl|j6BbU6>a0i>=z$_D3X`gklN^>KxrEbP+D3ZDP9b_0L z0UuBOXBbc04mav}$cx@?ko!Ap6`Do~Le#Epc-FH2b&zx4S9lzLoe6s%%}o0oqYgv= zvll)oma_(aW|R5Hb#6>p(+4KnG*WA*=KIk1!MuO;h!4N#3k>WVyDxS46qzyjv|~JR z2B0#ueo6k+_9&(3wF;g?Uub{uoW5)RuoVAs4ETM8HcTu0$!q6%YE!DvOKy5M_+E4S z>F(R$#EKa|Wt+7RWGOqK+Va2Wb=NpF>-K#Yyl*g9-8X1oz*gF4AN9mA`vX>%wp8Ja z1Ir~vw&lJR4~k~1j9@i4&el?80O7TFHMJ9Z^x`npQ1W3#R%+Uzk9PXh~2A#q@VBVbQEsPogpj zLekW`a+F5&T5;C6sF$g6X(1G?KakBht^mBOJ1vCF&$L5?au&UuF?4(iORs7CisQmC z4k`2lC=64PVHBFlls9z~O8uxqJ2lfe4|S7h9STj#Qg~4Y7x`12{~TC0483QzLZ;Qe z8JU9g47~H$R4cu^==wz>o_-%k{kZLm#;fW5)heY1^(a9Qx)Mt1LVtM9Er&YzXogD0kMo{^|cPr;{ZOSF-;hz|kd zwr0W1Y0C#bzRpF=sK!lEM|bcu?(^`0d_WtCt|EpG%^ZjdYaTks({>r&%M+L9r9U;< zu(psn*eZrzUT_j;REBL<`+MJTut7i0#>Zx+-l*jJ$Ne1N8w;*Pc?=_D%)XyH_Aq)z zb;?Tgv_K9YCT$?DuYshUQ*kjUfRIt#mpxT)AzpA zk5zH+lP~}oyxLz6An*zOjJIF7HHMm~j-FA7&zj1aPa39g5vlDz^`ch$|9sHkhdMzE zcYOl%Y0WVC_`aL@h+#Ryk(^z63Lhu=uO|%n#zb&H!#t0uNt9arC2d{cDU*2Ft(?=; zcBIsg;unjwBzyofpC(u`450BmnL1JRoO%D(hY6YtYp$b>TJ8VoSpqi~Y(-OGI+@@7 zgxTNIGxGt$GKSH88OWlJt{F8k`=es!^8?0Ny~07E&IbCaDB5!y+8U)$&qPfs6f%=0 z>7Qq!N&H+Tp^9fn{%aY#@W3_&O=XamNs`3>-mnWX#XQf@gRpD77&d*YMLmhync__= zGStEM=hC^*@L@}8*W`j&5(n8?m&C`AiSJaSTc!)W9WgB2g^Bj~iP}2*3Tkc2XVlp2 zQ=cX;bkKc<-hse$+cTyJPx33mlY}X+`0@yX|C)xm=nV-%BSRkfd=^P}x=H$hUx=qx zw#;a9`K$x8DT6y^5p&pnu-)B@4q>%XY2%_{e4?Z1`IQ_rr$)&gi?E==%N+br@FocQ=LTvySIbKeLZb zWK;Oj*D$HqK=h4uLS+(!mlN6K$ILCV_%}6YKd_{KMH9n}8HN?el|!v2H;-W&@tv@8 z`NeIK0_eimV)paV)hbif;CrDwWOa!IQHFhp5Bn2pQi8B*DW0lBF%^ZEFvIjiARI5N zTt{t<{MkH#<6kT11D+=7Ku^>9ySqp+Xx}V8kGeti=;f@#G7J4oGrAe!y-CjyrZ}R) z85d^w$WP#jVVbw_L>SgQvb#(v7VfSSJ9^Pd z8@<6XYgH&oLbK5qUQ&}?$jwrJw^)EDeQ20UsxN8&#{iY)LrXWis7aLV=;iFAr2tQn z5_|=nt^T_oBPnRYMhSmkmONjqh1L&!Pg2+D{AzGBZz)v8Ac&;>_At z)Uz15zNm%kUrmu@p{f67=Ha)Dv~~U0d6NEw74CM##%A_F{`k6u_wN}$xd1we_$!r% z(t+NYeFBh@gX{ypXEdxx_8V#8{=4CPJk?U6Z^l+qhEO5(L{GmwOy=}&_^yay6Nwnc z__<$p{wl>(K968KYsnU&G6{leGxc44iU|6*$A9cp1N4uK5-g@~t`f*=i&|tTd(mqR z#(jbBRhA6iasoM0f+R$Nf0yK&)tkB^H1m~~Q;q&j5`QYixP- xePybfmBWla)6t`CY#zhOk^OBs#eU)R{Ynt}OLT4lR)C#E7X+IJ%F#u~{{eF(oIwBp diff --git a/site/notebooks/EXECUTED/validation/2-start_validation_process.ipynb b/site/notebooks/EXECUTED/validation/2-start_validation_process.ipynb index 8d7321060..e729c2ee3 100644 --- a/site/notebooks/EXECUTED/validation/2-start_validation_process.ipynb +++ b/site/notebooks/EXECUTED/validation/2-start_validation_process.ipynb @@ -106,7 +106,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Make sure the ValidMind Library is installed\n", "\n", @@ -128,9 +130,7 @@ " # model=\"...\",\n", " document=\"validation-report\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -152,7 +152,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "from validmind.datasets.classification import customer_churn as demo_dataset\n", "\n", @@ -162,9 +164,7 @@ "\n", "raw_df = demo_dataset.load_data()\n", "raw_df.head()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -195,23 +195,23 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Get the list of available task types\n", "sorted(vm.tests.list_tasks())" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Get the list of available tags\n", "sorted(vm.tests.list_tags())" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -224,12 +224,12 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.list_tests(task=\"classification\", tags=[\"tabular_data\", \"data_quality\"])" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -259,7 +259,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# vm_raw_dataset is now a VMDataset object that you can pass to any ValidMind test\n", "vm_raw_dataset = vm.init_dataset(\n", @@ -267,9 +269,7 @@ " input_id=\"raw_dataset\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -302,12 +302,12 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.describe_test(\"validmind.data_validation.DescriptiveStatistics\")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -318,16 +318,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "result2 = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.ClassImbalance\",\n", " inputs={\"dataset\": vm_raw_dataset},\n", " params={\"min_percent_threshold\": 30},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -340,7 +340,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "import pandas as pd\n", "\n", @@ -352,9 +354,7 @@ "\n", "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -367,7 +367,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", "vm_balanced_raw_dataset = vm.init_dataset(\n", @@ -375,13 +377,13 @@ " input_id=\"balanced_raw_dataset\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Pass the initialized `balanced_raw_dataset` as input into the test run\n", "result = vm.tests.run_test(\n", @@ -389,9 +391,7 @@ " inputs={\"dataset\": vm_balanced_raw_dataset},\n", " params={\"min_percent_threshold\": 30},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -410,16 +410,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "corr_result = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", " params={\"max_threshold\": 0.3},\n", " inputs={\"dataset\": vm_balanced_raw_dataset},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -432,16 +432,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "print(type(corr_result))\n", "print(\"Result ID: \", corr_result.result_id)\n", "print(\"Params: \", corr_result.params)\n", "print(\"Passed: \", corr_result.passed)\n", "print(\"Tables: \", corr_result.tables)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -454,25 +454,25 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Extract table from `corr_result.tables`\n", "features_df = corr_result.tables[0].data\n", "features_df" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Extract list of features that failed the test\n", "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", "high_correlation_features" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -483,13 +483,13 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", "high_correlation_features" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -502,7 +502,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Remove the highly correlated features from the dataset\n", "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", @@ -513,9 +515,7 @@ " input_id=\"raw_dataset_preprocessed\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -526,16 +526,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "corr_result = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.HighPearsonCorrelation\",\n", " params={\"max_threshold\": 0.3},\n", " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -546,15 +546,15 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "corr_result = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.PearsonCorrelationMatrix\",\n", " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -589,7 +589,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Individual test config with inputs specified\n", "test_config = {\n", @@ -602,9 +604,7 @@ " \"params\": {\"max_threshold\": 0.3}\n", " },\n", "}" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -615,7 +615,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "for t in test_config:\n", " print(t)\n", @@ -635,9 +637,7 @@ " vm.tests.run_test(t, inputs=test_config[t]['inputs']).log()\n", " except Exception as e:\n", " print(f\"Error running test {t}: {str(e)}\")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -666,7 +666,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "result = vm.tests.run_test(\n", " test_id=\"validmind.data_validation.HighPearsonCorrelation:balanced_raw_dataset\",\n", @@ -674,9 +676,7 @@ " inputs={\"dataset\": vm_balanced_raw_dataset},\n", ")\n", "result.log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -694,28 +694,23 @@ "\n", "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", "\n", - "3. Locate the Data Preparation section and click on **2.2.1. Data Quality** to expand that section.\n", + "3. Click on **2.2.1. Data Quality** to expand that section.\n", "\n", - "4. Under the Class Imbalance Assessment section, locate Validator Evidence then click **Link Evidence to Report**:\n", + "4. Under the Class Imbalance Assessment guideline, click **Evidence** to expand the evidence panel.\n", "\n", - " \"Screenshot\n", - "

\n", + "5. Click **Link Evidence**, then select **Validator Evidence**.\n", "\n", - "5. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance** \n", + "6. Select the Class Imbalance test results we logged: **ValidMind Data Validation Class Imbalance**\n", "\n", " \"Screenshot\n", "

\n", "\n", - "6. Click **Update Linked Evidence** to add the test results to the validation report.\n", + "7. Click **Update Linked Evidence** to add the test results to the validation report.\n", "\n", - " Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report:\n", + "8. Confirm that the results for the Class Imbalance test you inserted has been correctly inserted into section **2.2.1. Data Quality** of the report.\n", "\n", - " \"Screenshot\n", - "

\n", - "\n", - "7. Note that these test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset.\n", - "\n", - " Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test:\n", + " - Note that these test results are flagged as **Requires Attention** — as they include comparative results from our initial raw dataset.\n", + " - Click **See evidence details** to review the LLM-generated description that summarizes the test results, that confirm that our final preprocessed dataset actually passes our test:\n", "\n", " \"Screenshot\n", "

\n", @@ -749,12 +744,12 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "balanced_raw_no_age_df.head()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -768,15 +763,15 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "balanced_raw_no_age_df = pd.get_dummies(\n", " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", ")\n", "balanced_raw_no_age_df.head()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -790,7 +785,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", @@ -800,9 +797,7 @@ "y_train = train_df[\"Exited\"]\n", "X_test = test_df.drop(\"Exited\", axis=1)\n", "y_test = test_df[\"Exited\"]" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -817,7 +812,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm_train_ds = vm.init_dataset(\n", " input_id=\"train_dataset_final\",\n", @@ -830,9 +827,7 @@ " dataset=test_df,\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", diff --git a/site/notebooks/EXECUTED/validation/3-developing_potential_challenger.ipynb b/site/notebooks/EXECUTED/validation/3-developing_potential_challenger.ipynb index ca9cb71f6..3c5db2507 100644 --- a/site/notebooks/EXECUTED/validation/3-developing_potential_challenger.ipynb +++ b/site/notebooks/EXECUTED/validation/3-developing_potential_challenger.ipynb @@ -111,7 +111,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Make sure the ValidMind Library is installed\n", "\n", @@ -133,9 +135,7 @@ " # model=\"...\",\n", " document=\"validation-report\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -150,7 +150,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Load the sample dataset\n", "from validmind.datasets.classification import customer_churn as demo_dataset\n", @@ -160,9 +162,7 @@ ")\n", "\n", "raw_df = demo_dataset.load_data()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -177,7 +177,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "import pandas as pd\n", "\n", @@ -189,9 +191,7 @@ "\n", "balanced_raw_df = pd.concat([exited_df, not_exited_df])\n", "balanced_raw_df = balanced_raw_df.sample(frac=1, random_state=42)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -204,7 +204,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Register new data and now 'balanced_raw_dataset' is the new dataset object of interest\n", "vm_balanced_raw_dataset = vm.init_dataset(\n", @@ -212,9 +214,7 @@ " input_id=\"balanced_raw_dataset\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -225,7 +225,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Run HighPearsonCorrelation test with our balanced dataset as input and return a result object\n", "corr_result = vm.tests.run_test(\n", @@ -233,42 +235,40 @@ " params={\"max_threshold\": 0.3},\n", " inputs={\"dataset\": vm_balanced_raw_dataset},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# From result object, extract table from `corr_result.tables`\n", "features_df = corr_result.tables[0].data\n", "features_df" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Extract list of features that failed the test\n", "high_correlation_features = features_df[features_df[\"Pass/Fail\"] == \"Fail\"][\"Columns\"].tolist()\n", "high_correlation_features" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Extract feature names from the list of strings\n", "high_correlation_features = [feature.split(\",\")[0].strip(\"()\") for feature in high_correlation_features]\n", "high_correlation_features" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -279,7 +279,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Remove the highly correlated features from the dataset\n", "balanced_raw_no_age_df = balanced_raw_df.drop(columns=high_correlation_features)\n", @@ -290,13 +292,13 @@ " input_id=\"raw_dataset_preprocessed\",\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Re-run the test with the reduced feature set\n", "corr_result = vm.tests.run_test(\n", @@ -304,9 +306,7 @@ " params={\"max_threshold\": 0.3},\n", " inputs={\"dataset\": vm_raw_dataset_preprocessed},\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -321,20 +321,22 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Encode categorical features in the dataset\n", "balanced_raw_no_age_df = pd.get_dummies(\n", " balanced_raw_no_age_df, columns=[\"Geography\", \"Gender\"], drop_first=True\n", ")\n", "balanced_raw_no_age_df.head()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", @@ -345,13 +347,13 @@ "y_train = train_df[\"Exited\"]\n", "X_test = test_df.drop(\"Exited\", axis=1)\n", "y_test = test_df[\"Exited\"]" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Initialize the split datasets\n", "vm_train_ds = vm.init_dataset(\n", @@ -365,9 +367,7 @@ " dataset=test_df,\n", " target_column=\"Exited\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -382,16 +382,16 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Import the champion model\n", "import pickle as pkl\n", "\n", "with open(\"lr_model_champion.pkl\", \"rb\") as f:\n", " log_reg = pkl.load(f)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -421,7 +421,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Import the Random Forest Classification model\n", "from sklearn.ensemble import RandomForestClassifier\n", @@ -434,9 +436,7 @@ "\n", "# Train the model\n", "rf_model.fit(X_train, y_train)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -456,7 +456,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Initialize the champion logistic regression model\n", "vm_log_model = vm.init_model(\n", @@ -469,9 +471,7 @@ " rf_model,\n", " input_id=\"rf_model\",\n", ")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -491,7 +491,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Champion — Logistic regression model\n", "vm_train_ds.assign_predictions(model=vm_log_model)\n", @@ -500,9 +502,7 @@ "# Challenger — Random forest classification model\n", "vm_train_ds.assign_predictions(model=vm_rf_model)\n", "vm_test_ds.assign_predictions(model=vm_rf_model)" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -530,13 +530,13 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "\n", "vm.tests.list_tests(tags=[\"model_performance\"], task=\"classification\")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -555,7 +555,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "mpt = [\n", " \"validmind.model_validation.sklearn.ClassifierPerformance:logreg_champion\",\n", @@ -564,9 +566,7 @@ " \"validmind.model_validation.sklearn.MinimumF1Score:logreg_champion\",\n", " \"validmind.model_validation.sklearn.ROCCurve:logreg_champion\"\n", "]" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -584,7 +584,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "for test in mpt:\n", " vm.tests.run_test(\n", @@ -593,9 +595,7 @@ " \"dataset\": vm_test_ds, \"model\" : vm_log_model,\n", " },\n", " ).log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -620,29 +620,28 @@ "\n", "2. In the left sidebar that appears for your model, click **Validation** under Documents.\n", "\n", - "3. Locate the Data Preparation section and click on **2.2.2. Model Performance** to expand that section.\n", - "\n", - "4. Under the Model Performance Metrics section, locate Artifacts then click **Link Artifact to Report**:\n", - "\n", - " \"Screenshot\n", - "

\n", + "3. Click on **2.2.2. Model Performance** to expand that section.\n", "\n", - "5. Select **Validation Issue** as the type of artifact.\n", + "4. Under the Model Performance Metrics guideline, click to expand the **Artifacts** panel.\n", "\n", - "6. Click **+ Add Validation Issue** to add a validation issue type artifact.\n", + "5. Click **Link Artifact** and select **Validation Issue** as the type of artifact.\n", "\n", - "76. Enter in the details for your validation issue, for example:\n", + "6. Click **+ Add Validation Issue** and enter in the details for your validation issue, for example:\n", "\n", " - **TITLE** — Champion Logistic Regression Model Fails Minimum Accuracy Threshold\n", " - **RISK AREA** — Model Performance\n", " - **DOCUMENTATION SECTION** — 3.2. Model Evaluation\n", " - **DESCRIPTION** — The logistic regression champion model was subjected to a Minimum Accuracy test to determine whether its predictive accuracy meets the predefined performance threshold of 0.7. The model achieved an accuracy score of 0.6136, which falls below the required minimum. As a result, the test produced a Fail outcome.\n", "\n", - "8. Click **Save**.\n", + "7. Click **Add Validation Issue** to submit the validation issue.\n", + "\n", + "8. Select the validation issue you just added to link to your validation report.\n", + "\n", + "9. Click **Update Linked Artifacts** to insert your validation issue.\n", "\n", - "9. Select the validation issue you just added to link to your validation report and click **Update Linked Artifacts** to insert your validation issue.\n", + "10. Confirm that validation issue you inserted has been correctly inserted into section 2.2.2. Model Performance of the report.\n", "\n", - "10. Click on the validation issue to expand the issue, where you can adjust details such as severity, owner, due date, status, etc. as well as include proposed remediation plans or supporting documentation as attachments." + "11. Click on the validation issue to expand the issue, where you can adjust details such as severity, owner, due date, status, etc. as well as include proposed remediation plans or supporting documentation as attachments." ] }, { @@ -660,7 +659,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "mpt_chall = [\n", " \"validmind.model_validation.sklearn.ClassifierPerformance:champion_vs_challenger\",\n", @@ -669,9 +670,7 @@ " \"validmind.model_validation.sklearn.MinimumF1Score:champion_vs_challenger\",\n", " \"validmind.model_validation.sklearn.ROCCurve:champion_vs_challenger\"\n", "]" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -682,7 +681,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "for test in mpt_chall:\n", " vm.tests.run_test(\n", @@ -691,9 +692,7 @@ " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", " }\n", " ).log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -719,12 +718,12 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.list_tests(tags=[\"model_diagnosis\"], task=\"classification\")" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -740,7 +739,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.run_test(\n", " test_id=\"validmind.model_validation.sklearn.OverfitDiagnosis:champion_vs_challenger\",\n", @@ -749,9 +750,7 @@ " \"model\" : [vm_log_model,vm_rf_model]\n", " }\n", ").log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -764,7 +763,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "vm.tests.run_test(\n", " test_id=\"validmind.model_validation.sklearn.RobustnessDiagnosis:Champion_vs_LogRegression\",\n", @@ -773,9 +774,7 @@ " \"model\" : [vm_log_model,vm_rf_model]\n", " },\n", ").log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -792,14 +791,14 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Store the feature importance tests\n", "FI = vm.tests.list_tests(tags=[\"feature_importance\"], task=\"classification\",pretty=False)\n", "FI" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", @@ -810,7 +809,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "# Run and log our feature importance tests for both models for the testing dataset\n", "for test in FI:\n", @@ -820,9 +821,7 @@ " \"dataset\": [vm_test_ds], \"model\" : [vm_log_model,vm_rf_model]\n", " },\n", " ).log()" - ], - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "markdown", diff --git a/site/notebooks/EXECUTED/validation/inserted-class-imbalance-results.png b/site/notebooks/EXECUTED/validation/inserted-class-imbalance-results.png deleted file mode 100644 index 2efea1a09b5fc26966b2ca307acfe2cfd8c8ac1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89421 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
yW78$)!8Ke)fA_l ztZ5$PWNR2+!n`Ziarjz9H7I9O4ci&KbBKSSvk``K!=T-HVG6}#j*JngnP-e8VR`{1 zRAPGA8bA79j(SXAzX9e_z%AsjFq$$Xh1dmDa!2PL{=zJHaEX^T(Rfnxe`0!J>JJRS zjVp|&-t245YKQ#aDm3?76VjXGC2Rswi@Q1v2E$))t<(w&8Py_ma|_cb1)b!n>d_+n zpF(8(p8)(-UlfyZv-se1EqN33Kzu37^Howe)@6C$;tSk6lN-vS9+RbS@D6v(NzHE; znTJxP*H51|Q9<8TThE!5#Dgdro>|M^Hc85NIUXm4Oo}8A*aVP+dlPsHSGbYyXS~2V3IC^~Zue#&9JGz}QP(TwVPh?uzK z0(28#>c$hXp!$wXD6M3yF(<*qH$n86`ax6dnGi=Sa0qf0m8BOBOOwBBbknrQ_mVD7 zgQ3U|jgyAFw_SGYII_7j=lthveMBS99f=tm)BPz~(@1uNGrtEiF^z@kuZf>+GDcgN zNci)N1FLIayf8+bjAsqnV?p%GmCzfvva$ded+?&td(_A#En}@J^sGICr{%<;?4TW2 z`W~eKvum*D1vJtmE?@kd*KP*R*8^Z3lDT6c6`19S+^7Zn=5c*Z+)%$XhSYG*<+WhL z!Ki2kaFnQ#t}C=&NZ6#7g|GmfT{Bkqh8#HhFZMCZCkWdX^6HtKD11@8q)<@wc&-Pft!%sq2nn5?7Xj2quv$S4}*bV^zU>f`=#rcp4Ry*i3RXk5=IILLZbYFQ*@$-(l-mn$( zPbo8CV!*OfX59@4%*n4RvzF zp(-X93t!mtrrcFsz#N^KIaVcFH@~qyrMD?#66&d%QAP_ZJbipPPyseKbXAgC*bHXQhg)mZ4_u~y1_UUR=iNN zeubD2b#emp6JKuVF&aUyL~H!q&yF|g8$7P&Hr7PUlz;On@BH^i9|Q8KUa+uybP?9` zVzGExex)~A3tU;RrR!?@B{^CH2ruIBIwj+;Ari(5ljmfPD-bc6SC?BNE$k2xXq#%m zNP(W>s2<+S5Nhidwo&Mr&gYa&6&iWeoZfYabB$?cq~6R5K5>6Hguo(I>f6Hjc%lD} zDDtlFNvCO7gS>R{_l>YwK8Pm^t^6vdb;F!0+RU=R#WYcmQPy;o&H4bOEVu3$3Ix&% z9R4%acr$)+Tl=Y}A?k_qx#acs33xS?&Lo#y8oA z9pkd-;X|`qzvc3#L;XxgnMX~KuQI@k`*bZr)ahu zq}z@$bF@H$V%3U9JC1IabMCX>m+9H7Fq4n%fSzS25ID~_$bnFh+rqU5&}bwVfcRCw z00}Urxc4H-n`mnICysU1R_lbzJYH3qTmL&U&pwiOqGjGBk_1$ zNG$TWcM84k!#`(1dd){2EBAZRg3ePY=%6S>Kx9bLFXV}F>eb$yI`5udDsY;E>ox(W z>ny>%=Du{S;{G~q@=oKANvWdXbC-zOl0+Mf(uWo+T^HNHyJR90*r5sYl!WwIbI{2(jjoa* z?vw>QT9Y(?i2xXLA}U~cg`fDxnbVGd+w45zNpiZlMhKc zFWZ>{tGA!~5BpXZLN@9X+q@=9?e?$O=-a9N^CEBGYG*y{MVcp$ohrH9W9nu3u=ouB^iQSMbE@t`n&IFw7g(iy z!06JKlH9R@dWbviPlKGlW3t$ox3kkX<)Yux>9q%x-{yff;}fMCbaJ z7x)7`&X2x;Oi=E_MKP0j1=XvfmA=H7bEWnm7+)H9HD{d9@sL5f7MzfRjY&mCHf!%0 z2=VS!kf@~~*U_}QMu_!0s_|~I>mikoyXsG_v6PxZcf|^T)UVd{LgTRv@Xk`lfMG