com.smartgwt.client.ai

## Class AI

- java.lang.Object
- - com.smartgwt.client.ai.AI

-     public class AI
      extends java.lang.Object

  Provides class methods for enabling and disabling the use of AI technology, registering and unregistering `AI engines`, and performing high-level operations using installed AI engines.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AI()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `applyAIFilter(ApplyAIFilterRequest applyRequest, ApplyAIFilterResponseCallback callback)` Requests that available AI engine(s) be used to evaluate an "aiFilter" `AdvancedCriteria` on a list of records.
    `static void` | `buildAIFieldRequest(BuildAIFieldRequestRequest buildRequest, BuildAIFieldRequestResponseCallback callback)` Requests that available AI engine(s) be used to build an `AIFieldRequest` from a natural language description of the per-record values to generate for a new AI-generated field.
    `static void` | `buildCriterion(BuildCriterionRequest buildRequest, BuildCriterionResponseCallback callback)` Requests that available AI engine(s) be used to build an `AdvancedCriteria` object according to the user's natural language description of a filter.
    `static void` | `buildDataBoundUI(BuildDataBoundUIViaAIRequest buildRequest, BuildUIViaAIResponseCallback callback)` Requests that available AI engine(s) be used to build data-bound UI component(s) according to a user's description of what they would like to build.
    `static void` | `buildHilites(BuildHilitesRequest buildRequest, BuildHilitesResponseCallback callback)` Requests that available AI engine(s) be used to build one or more `Hilite` objects according to the user's natural language description of hilite criteria and styling to apply.
    `static void` | `checkModuleLoaded(java.lang.String faultingAction)`
    `static void` | `clearAIFilterCaches(AdvancedCriteria aiCriterion)` Removes information for all records to which an "aiFilter" `AdvancedCriteria` has been applied.
    `static java.lang.String` | `getDefaultEngineId()` The ID of the default `AIEngine` to use.
    `static int` | `getDefaultMaxRetries()` The defualt maximum number of retries for any one particular request to AI.
    `static java.lang.Boolean` | `getDisabled()` Whether AI is disabled.
    `static AIEngine` | `getEngine()` Returns the `AIEngine` having the given engine ID.
    `static AIEngine` | `getEngine(java.lang.String engineId)` Returns the `AIEngine` having the given engine ID.
    `static java.lang.Boolean` | `isAIFieldRequestNumerical(AIFieldRequest aiFieldRequest)` Returns `true` if the given `AIFieldRequest` is numerical (its `valueClass` is ORDINAL, INTERVAL, or RATIO); `false` otherwise.
    `static boolean` | `isEnabled()` Determines whether AI support is enabled.
    `static boolean` | `moduleLoaded()` Reports whether the optional AI module is loaded for the page.
    `static boolean` | `registerEngine(AIEngine engine)` Registers the given `AIEngine`.
    `static void` | `removeFromAIFilterCaches(AdvancedCriteria aiCriterion, Record... records)` Removes information for the given records from an "aiFilter" `AdvancedCriteria`.
    `static void` | `sendPrompt(java.lang.String dynamicString, java.util.Map context, AIResponseCallback callback)` Evaluates the given `dynamic string` to form a prompt string that is then sent as the request to the default AI engine.
    `static void` | `setDefaultEngineId(java.lang.String defaultEngineId)` The ID of the default `AIEngine` to use.
    `static void` | `setDefaultMaxRetries(int defaultMaxRetries)` The defualt maximum number of retries for any one particular request to AI.
    `static void` | `setDisabled(java.lang.Boolean disabled)` Whether AI is disabled.
    `static void` | `suggestRecordSummaryTitle(SuggestRecordSummaryTitleRequest request, SuggestRecordSummaryTitleCallback callback)` Requests that available `AIEngine`(s) be used to suggest an appropriate title for a new field that will contain AI-generated record summaries.
    `static void` | `summarizeRecords(SummarizeRecordsRequest request, SummarizeRecordsPartialResultCallback partialResultCallback, SummarizeRecordsResultCallback callback)` Requests that available AI engine(s) be used to generate summaries of records according to the user's natural language description of how to summarize each record.
    `static void` | `summarizeValue(SummarizeValueRequest request, SummarizeValueResultCallback callback)` Requests that available AI engine(s) be used to generate a summary of a value according to a natural language description of how to summarize the value.
    `static boolean` | `unregisterEngine(java.lang.String engineId)` Unregisters an `AIEngine` specified by its ID.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AI

          public AI()

  - ### Method Detail

    - #### setDefaultEngineId

          public static void setDefaultEngineId(java.lang.String defaultEngineId)

      The ID of the default `AIEngine` to use.
      Parameters:
        `defaultEngineId` - new defaultEngineId. Default value is "gpt-4.1".

    - #### getDefaultEngineId

          public static java.lang.String getDefaultEngineId()

      The ID of the default `AIEngine` to use.
      Returns:
        current value of defaultEngineId

    - #### setDefaultMaxRetries

          public static void setDefaultMaxRetries(int defaultMaxRetries)

      The defualt maximum number of retries for any one particular request to AI.
      Parameters:
        `defaultMaxRetries` - new defaultMaxRetries. Default value is 2.

    - #### getDefaultMaxRetries

          public static int getDefaultMaxRetries()

      The defualt maximum number of retries for any one particular request to AI.
      Returns:
        current value of defaultMaxRetries

    - #### setDisabled

          public static void setDisabled(java.lang.Boolean disabled)

      Whether AI is disabled.

      By default, AI is disabled. This static property must be set to `false` and the `default` `AIEngine` must be registered in order to enable the use of AI in the application.

      Parameters:
        `disabled` - new disabled. Default value is true.

    - #### getDisabled

          public static java.lang.Boolean getDisabled()

      Whether AI is disabled.

      By default, AI is disabled. This static property must be set to `false` and the `default` `AIEngine` must be registered in order to enable the use of AI in the application.

      Returns:
        current value of disabled

    - #### applyAIFilter

          public static void applyAIFilter(ApplyAIFilterRequest applyRequest,
                                           ApplyAIFilterResponseCallback callback)

      Requests that available AI engine(s) be used to evaluate an "aiFilter" `AdvancedCriteria` on a list of records.
      Parameters:
        `applyRequest` - The request to AI to evaluate an "aiFilter" `AdvancedCriteria`.
        `callback` - The callback to call with the result.

    - #### buildAIFieldRequest

          public static void buildAIFieldRequest(BuildAIFieldRequestRequest buildRequest,
                                                 BuildAIFieldRequestResponseCallback callback)

      Requests that available AI engine(s) be used to build an `AIFieldRequest` from a natural language description of the per-record values to generate for a new AI-generated field.
      Parameters:
        `buildRequest` - The request.
        `callback` - The callback to fire with the result.

    - #### buildCriterion

          public static void buildCriterion(BuildCriterionRequest buildRequest,
                                            BuildCriterionResponseCallback callback)

      Requests that available AI engine(s) be used to build an `AdvancedCriteria` object according to the user's natural language description of a filter.
      Parameters:
        `buildRequest` - The request.
        `callback` - The callback to fire with the result.

    - #### buildDataBoundUI

          public static void buildDataBoundUI(BuildDataBoundUIViaAIRequest buildRequest,
                                              BuildUIViaAIResponseCallback callback)

      Requests that available AI engine(s) be used to build data-bound UI component(s) according to a user's description of what they would like to build.
      Parameters:
        `buildRequest` - The request to AI to build data-bound UI.
        `callback` - The callback to call with the result.

    - #### buildHilites

          public static void buildHilites(BuildHilitesRequest buildRequest,
                                          BuildHilitesResponseCallback callback)

      Requests that available AI engine(s) be used to build one or more `Hilite` objects according to the user's natural language description of hilite criteria and styling to apply.
      Parameters:
        `buildRequest` - The request to AI to build `Hilite` object(s).
        `callback` - The callback to call with the result.

    - #### clearAIFilterCaches

          public static void clearAIFilterCaches(AdvancedCriteria aiCriterion)

      Removes information for all records to which an "aiFilter" `AdvancedCriteria` has been applied.
      Parameters:
        `aiCriterion` - The "aiFilter" `AdvancedCriteria` to update.

    - #### getEngine

          public static AIEngine getEngine()

      Returns the `AIEngine` having the given engine ID.
      Returns:
        the `AIEngine`, or `null` if the `AIEngine` could not be found.

    - #### getEngine

          public static AIEngine getEngine(java.lang.String engineId)

      Returns the `AIEngine` having the given engine ID.
      Parameters:
        `engineId` - the engineId of the `AIEngine` to get. If not specified, `defaultEngineId` is used.
      Returns:
        the `AIEngine`, or `null` if the `AIEngine` could not be found.

    - #### isAIFieldRequestNumerical

          public static java.lang.Boolean isAIFieldRequestNumerical(AIFieldRequest aiFieldRequest)

      Returns `true` if the given `AIFieldRequest` is numerical (its `valueClass` is ORDINAL, INTERVAL, or RATIO); `false` otherwise.
      Parameters:
        `aiFieldRequest` - The `AIFieldRequest` to test.
      Returns:
        `true` if and only if the given `AIFieldRequest` is numerical.

    - #### isEnabled

          public static boolean isEnabled()

      Determines whether AI support is enabled. `disabled` must be set to `false` and the default `AIEngine` must be registered in order to enable the use of AI.
      Returns:
        `true` if the use of AI is enabled; `false` otherwise.
      See Also:
        `com.smartgwt.client.ai.AI#disabled`, `com.smartgwt.client.ai.AI#defaultEngineId`

    - #### registerEngine

          public static boolean registerEngine(AIEngine engine)

      Registers the given `AIEngine`.
      Parameters:
        `engine` - The `AIEngine` to register.
      Returns:
        `true` if the `AIEngine` was successfully registered; `false` otherwise.
      See Also:
        `unregisterEngine(java.lang.String)`

    - #### removeFromAIFilterCaches

          public static void removeFromAIFilterCaches(AdvancedCriteria aiCriterion,
                                                      Record... records)

      Removes information for the given records from an "aiFilter" `AdvancedCriteria`.
      Parameters:
        `aiCriterion` - The "aiFilter" `AdvancedCriteria` to update.
        `records` - The records, about which any information held in `aiCriterion` will be removed.

    - #### sendPrompt

          public static void sendPrompt(java.lang.String dynamicString,
                                        java.util.Map context,
                                        AIResponseCallback callback)

      Evaluates the given `dynamic string` to form a prompt string that is then sent as the request to the default AI engine.

      Within `dynamicString`, any evaluated JavaScript expressions have access to all of the values in the `context` ValueMap.

      Parameters:
        `dynamicString` - A dynamic string. See `DynamicString`
        `context` - A map from each in-scope `Identifier` to its value.
        `callback` - The callback to fire with the response from AI.

    - #### suggestRecordSummaryTitle

          public static void suggestRecordSummaryTitle(SuggestRecordSummaryTitleRequest request,
                                                       SuggestRecordSummaryTitleCallback callback)

      Requests that available `AIEngine`(s) be used to suggest an appropriate title for a new field that will contain AI-generated record summaries.
      Parameters:
        `request` - The request.
        `callback` - The callback to fire with the result.

    - #### summarizeRecords

          public static void summarizeRecords(SummarizeRecordsRequest request,
                                              SummarizeRecordsPartialResultCallback partialResultCallback,
                                              SummarizeRecordsResultCallback callback)

      Requests that available AI engine(s) be used to generate summaries of records according to the user's natural language description of how to summarize each record.
      Parameters:
        `request` - The request.
        `partialResultCallback` - The callback to fire with each partial result.
        `callback` - The callback to fire with the result.

    - #### summarizeValue

          public static void summarizeValue(SummarizeValueRequest request,
                                            SummarizeValueResultCallback callback)

      Requests that available AI engine(s) be used to generate a summary of a value according to a natural language description of how to summarize the value.
      Parameters:
        `request` - The request.
        `callback` - The callback to fire with the `SummarizeValueResult`.

    - #### unregisterEngine

          public static boolean unregisterEngine(java.lang.String engineId)

      Unregisters an `AIEngine` specified by its ID.
      Parameters:
        `engineId` - the ID of the `AIEngine` to unregister.
      Returns:
        `true` if the `AIEngine` was successfully unregistered; `false` otherwise.
      See Also:
        `registerEngine(com.smartgwt.client.ai.AIEngine)`

    - #### moduleLoaded

          public static boolean moduleLoaded()

      Reports whether the optional AI module is loaded for the page.
      Returns:
        true if and only if the AI module has been loaded

    - #### checkModuleLoaded

          public static void checkModuleLoaded(java.lang.String faultingAction)