Interface AITool
-
- All Known Implementing Classes:
GetPageMarkdownAITool,ModifyPageReadTool,ModifyPageWriteTool,SearchPageAITool
public interface AIToolAn action the AI can perform - likely from the sidebar chat.- See Also:
- "https://platform.openai.com/docs/guides/function-calling"
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Stringexecute(String arguments, org.apache.sling.api.resource.Resource resource, GPTCompletionCallback.GPTToolExecutionContext context)Executes the tool call and returns the result to present to the AI.StringgetDescription(Locale locale)Human readable description.StringgetName(Locale locale)Human readable name.StringgetToolDeclaration()The description to use for the OpenAI tool call.StringgetToolName()Name for the purpose of calling - must matchgetToolDeclaration().booleanisAllowedFor(org.apache.sling.api.resource.Resource resource)Whether the tool is enabled for the given resource.default GPTToolmakeGPTTool(org.apache.sling.api.resource.Resource resource, org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response)The form useable byGPTChatCompletionService.
-
-
-
Method Detail
-
getToolName
@Nonnull String getToolName()
Name for the purpose of calling - must matchgetToolDeclaration().
-
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(@Nullable org.apache.sling.api.resource.Resource resource)
Whether the tool is enabled for the given resource.
-
execute
@Nonnull String execute(@Nullable String arguments, @Nonnull org.apache.sling.api.resource.Resource resource, @Nullable GPTCompletionCallback.GPTToolExecutionContext context)
Executes the tool call and returns the result to present to the AI. Must only be called ifisAllowedFor(Resource)returned true.
-
-