Class AiAssistantsService

java.lang.Object
sk.iway.iwcm.components.ai.rest.AiAssistantsService

@Service public class AiAssistantsService extends Object
Service for AI Assistants management / datatables, editor
  • Field Details

  • Constructor Details

  • Method Details

    • getAssistantAndFieldFrom

      public static List<AssistantDefinitionEntity> getAssistantAndFieldFrom(String fieldTo, DataTableColumn column, String srcClass)
      Parameters:
      fieldTo -
      srcClass -
      Returns:
      Pair<String, String> where -> <aiAssistantName, fromField>
    • getFieldOptions

      public List<String> getFieldOptions(String term, String className)
    • getClassOptions

      public List<String> getClassOptions(String term)
    • prepareBeforeSave

      public void prepareBeforeSave(AssistantDefinitionEntity assistantEnity, Prop prop)
    • getProviderSpecificOptions

      public void getProviderSpecificOptions(DatatablePageImpl<AssistantDefinitionEntity> page, Prop prop)
    • getProviderFields

      public List<String> getProviderFields(String provider, String action, Prop prop)
    • getAssistantStatus

      public boolean getAssistantStatus(String providerId)
    • isMatching

      protected static boolean isMatching(String text, String fieldName)
    • getAssistantsFromDB

      public static List<AssistantDefinitionEntity> getAssistantsFromDB(AssistantDefinitionRepository repo)
      Get assistants from the database, it is heavily used for generating AI button in fields, so it is cached for 60 minutes
      Parameters:
      repo -
      Returns:
    • clearCache

      public static void clearCache()
    • executePromptMacro

      public static String executePromptMacro(String instructions, InputDataDTO inputData, Map<Integer,String> replacedIncludes)
      Execute prompt macro, replaces {inputText}, {userPrompt} and adds rule for INCLUDE protected tokens if includes are used
      Parameters:
      instructions -
      inputData -
      replacedIncludes -
      Returns: