Interface AITool

  • All Known Implementing Classes:
    GetPageMarkdownAITool, SearchPageAITool

    public interface AITool
    An action the AI can perform - likely from the sidebar chat.
    See Also:
    "https://platform.openai.com/docs/guides/function-calling"
    • Method Detail

      • getToolDeclaration

        @Nonnull
        String getToolDeclaration()
        The description to use for the OpenAI tool call. Will be inserted into the OpenAI tools array. E.g.:
               {
                 "type": "function",
                 "function": {
                   "name": "get_delivery_date",
                   "description": "Get the delivery date for a customer's order. Call this whenever you need to know the delivery date, for example when a customer asks 'Where is my package'",
                   "parameters": {
                     "type": "object",
                     "properties": {
                       "order_id": {
                         "type": "string",
                         "description": "The customer's order ID."
                       }
                     },
                     "required": ["order_id"],
                     "additionalProperties": false
                   }
                 },
                 "strict": true
               }
         
        See Also:
        "https://platform.openai.com/docs/api-reference/chat/create"
      • isAllowedFor

        boolean isAllowedFor​(@Nonnull
                             org.apache.sling.api.resource.Resource resource)
        Whether the tool is enabled for the given resource.