Interface IAiManagerSPI

  • All Known Implementing Classes:
    OpenAiManager

    public interface IAiManagerSPI
    Provides AI related operations.
    Since:
    16.0.0
    Version:
    $Revision: 25808 $ $Date: 2023-07-04 15:20:55 -0300 (Tue, 04 Jul 2023) $
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      void init()
      Initializes this manager.
      default boolean isAiEnabled​(StructureElement structureElement)
      Returns whether the AI is enabled for the given structure element, based on the property bag lumis.portal.ai.enabled.
      boolean isAvailable()
      Returns whether this AI Manager is available to be used.
      void onEnvironmentConfigurationUpdate()
      Called when the EnvironmentConfiguration is updated.
      java.util.concurrent.CompletableFuture<java.lang.String> requestEditHtml​(java.lang.String inputHtml, java.lang.String instruction)
      Request AI to edit a HTML code according to the given instructions.
      java.util.concurrent.CompletableFuture<java.lang.String> requestEditHtmlText​(java.lang.String inputHtml, java.lang.String instruction)
      Request AI to edit the text inside a HTML code according to the given instructions.
      java.util.concurrent.CompletableFuture<java.lang.String> requestEditText​(java.lang.String inputText, java.lang.String instruction)
      Request AI to edit a text according to the given instructions.
    • Method Detail

      • init

        void init()
        Initializes this manager. This method is expected to be called during the LumisXP boot process.
        Since:
        16.0.0
      • isAvailable

        boolean isAvailable()
        Returns whether this AI Manager is available to be used.
        Returns:
        true if this manager is available for use, false if it is not, probably due to missing configuration.
        Since:
        16.0.0
      • onEnvironmentConfigurationUpdate

        void onEnvironmentConfigurationUpdate()
        Called when the EnvironmentConfiguration is updated. This is called on each server if it is a cluster environment.
        Since:
        16.0.0
      • requestEditText

        java.util.concurrent.CompletableFuture<java.lang.String> requestEditText​(java.lang.String inputText,
                                                                                 java.lang.String instruction)
                                                                          throws PortalException
        Request AI to edit a text according to the given instructions.
        Parameters:
        instructions - the instructions of how the edit should be done. Must not be empty.
        inputText - the text to edit.
        Returns:
        a future that will contain the resulting edited text.
        Throws:
        java.lang.IllegalStateException - if the AI is not available for use.
        PortalException - if the operation could not be executed.
        Since:
        16.0.0
      • requestEditHtml

        java.util.concurrent.CompletableFuture<java.lang.String> requestEditHtml​(java.lang.String inputHtml,
                                                                                 java.lang.String instruction)
                                                                          throws PortalException
        Request AI to edit a HTML code according to the given instructions.
        Parameters:
        instructions - the instructions of how the edit should be done. Must not be empty.
        inputHtml - the HTML code to edit.
        Returns:
        a future that will contain the resulting edited HTML code.
        Throws:
        java.lang.IllegalStateException - if the AI is not available for use.
        PortalException - if the operation could not be executed.
        Since:
        16.0.0
      • requestEditHtmlText

        java.util.concurrent.CompletableFuture<java.lang.String> requestEditHtmlText​(java.lang.String inputHtml,
                                                                                     java.lang.String instruction)
                                                                              throws PortalException
        Request AI to edit the text inside a HTML code according to the given instructions. Note that the underlying implementation may not give AI details about the HTML, so instructions that are not only about the text and that depends on the HTML structure may fail.
        Parameters:
        instructions - the instructions of how the edit should be done. Must not be empty.
        inputHtml - the HTML code to edit.
        Returns:
        a future that will contain the resulting edited HTML code.
        Throws:
        java.lang.IllegalStateException - if the AI is not available for use.
        PortalException - if the operation could not be executed.
        Since:
        16.0.0
      • isAiEnabled

        default boolean isAiEnabled​(StructureElement structureElement)
                             throws PortalException
        Returns whether the AI is enabled for the given structure element, based on the property bag lumis.portal.ai.enabled.
        Parameters:
        structureElement - the structure element.
        Returns:
        true if AI is enabled for that element, false otherwise.
        Throws:
        PortalException
        Since:
        16.0.0