Interface GenerativeAiAgentAsync

  • All Superinterfaces:
    AutoCloseable
    All Known Implementing Classes:
    GenerativeAiAgentAsyncClient

    @Generated(value="OracleSDKGenerator",
               comments="API Version: 20240531")
    public interface GenerativeAiAgentAsync
    extends AutoCloseable
    OCI Generative AI Agents is a fully managed service that combines the power of large language models (LLMs) with an intelligent retrieval system to create contextually relevant answers by searching your knowledge base, making your AI applications smart and efficient.

    OCI Generative AI Agents supports several ways to onboard your data and then allows you and your customers to interact with your data using a chat interface or API.

    Use the Generative AI Agents API to create and manage agents, knowledge bases, data sources, endpoints, data ingestion jobs, and work requests.

    For creating and managing client chat sessions see the {@link #eNGenerative-ai-agents-clientLatest(ENGenerative-ai-agents-clientLatestRequest) eNGenerative-ai-agents-clientLatest}.

    To learn more about the service, see the [Generative AI Agents documentation](https://docs.oracle.com/iaas/Content/generative-ai-agents/home.htm).

    • Method Detail

      • refreshClient

        void refreshClient()
        Rebuilds the client from scratch.

        Useful to refresh certificates.

      • setEndpoint

        void setEndpoint​(String endpoint)
        Sets the endpoint to call (ex, https://www.example.com).
        Parameters:
        endpoint - The endpoint of the serice.
      • getEndpoint

        String getEndpoint()
        Gets the set endpoint for REST call (ex, https://www.example.com)
      • setRegion

        void setRegion​(Region region)
        Sets the region to call (ex, Region.US_PHOENIX_1).

        Note, this will call setEndpoint after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.

        Parameters:
        region - The region of the service.
      • setRegion

        void setRegion​(String regionId)
        Sets the region to call (ex, ‘us-phoenix-1’).

        Note, this will first try to map the region ID to a known Region and call setRegion.

        If no known Region could be determined, it will create an endpoint based on the default endpoint format (Region.formatDefaultRegionEndpoint(Service, String) and then call setEndpoint.

        Parameters:
        regionId - The public region ID.
      • useRealmSpecificEndpointTemplate

        void useRealmSpecificEndpointTemplate​(boolean realmSpecificEndpointTemplateEnabled)
        Determines whether realm specific endpoint should be used or not.

        Set realmSpecificEndpointTemplateEnabled to “true” if the user wants to enable use of realm specific endpoint template, otherwise set it to “false”

        Parameters:
        realmSpecificEndpointTemplateEnabled - flag to enable the use of realm specific endpoint template
      • cancelWorkRequest

        Future<CancelWorkRequestResponse> cancelWorkRequest​(CancelWorkRequestRequest request,
                                                            AsyncHandler<CancelWorkRequestRequest,​CancelWorkRequestResponse> handler)
        Cancels a work request.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createAgent

        Future<CreateAgentResponse> createAgent​(CreateAgentRequest request,
                                                AsyncHandler<CreateAgentRequest,​CreateAgentResponse> handler)
        Creates an agent.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createAgentEndpoint

        Future<CreateAgentEndpointResponse> createAgentEndpoint​(CreateAgentEndpointRequest request,
                                                                AsyncHandler<CreateAgentEndpointRequest,​CreateAgentEndpointResponse> handler)
        Creates an endpoint.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createDataIngestionJob

        Future<CreateDataIngestionJobResponse> createDataIngestionJob​(CreateDataIngestionJobRequest request,
                                                                      AsyncHandler<CreateDataIngestionJobRequest,​CreateDataIngestionJobResponse> handler)
        Creates a data ingestion job.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createDataSource

        Future<CreateDataSourceResponse> createDataSource​(CreateDataSourceRequest request,
                                                          AsyncHandler<CreateDataSourceRequest,​CreateDataSourceResponse> handler)
        Creates a data source.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createKnowledgeBase

        Future<CreateKnowledgeBaseResponse> createKnowledgeBase​(CreateKnowledgeBaseRequest request,
                                                                AsyncHandler<CreateKnowledgeBaseRequest,​CreateKnowledgeBaseResponse> handler)
        Creates a knowledge base.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createTool

        Future<CreateToolResponse> createTool​(CreateToolRequest request,
                                              AsyncHandler<CreateToolRequest,​CreateToolResponse> handler)
        Creates a tool.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteAgent

        Future<DeleteAgentResponse> deleteAgent​(DeleteAgentRequest request,
                                                AsyncHandler<DeleteAgentRequest,​DeleteAgentResponse> handler)
        Deletes an agent.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteAgentEndpoint

        Future<DeleteAgentEndpointResponse> deleteAgentEndpoint​(DeleteAgentEndpointRequest request,
                                                                AsyncHandler<DeleteAgentEndpointRequest,​DeleteAgentEndpointResponse> handler)
        Deletes an endpoint.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteDataIngestionJob

        Future<DeleteDataIngestionJobResponse> deleteDataIngestionJob​(DeleteDataIngestionJobRequest request,
                                                                      AsyncHandler<DeleteDataIngestionJobRequest,​DeleteDataIngestionJobResponse> handler)
        Deletes a data ingestion job.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteDataSource

        Future<DeleteDataSourceResponse> deleteDataSource​(DeleteDataSourceRequest request,
                                                          AsyncHandler<DeleteDataSourceRequest,​DeleteDataSourceResponse> handler)
        Deletes a data source.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteKnowledgeBase

        Future<DeleteKnowledgeBaseResponse> deleteKnowledgeBase​(DeleteKnowledgeBaseRequest request,
                                                                AsyncHandler<DeleteKnowledgeBaseRequest,​DeleteKnowledgeBaseResponse> handler)
        Deletes a knowledge base.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteTool

        Future<DeleteToolResponse> deleteTool​(DeleteToolRequest request,
                                              AsyncHandler<DeleteToolRequest,​DeleteToolResponse> handler)
        Deletes a tool.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getAgent

        Future<GetAgentResponse> getAgent​(GetAgentRequest request,
                                          AsyncHandler<GetAgentRequest,​GetAgentResponse> handler)
        Gets information about an agent.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getAgentEndpoint

        Future<GetAgentEndpointResponse> getAgentEndpoint​(GetAgentEndpointRequest request,
                                                          AsyncHandler<GetAgentEndpointRequest,​GetAgentEndpointResponse> handler)
        Gets information about an endpoint.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getDataIngestionJob

        Future<GetDataIngestionJobResponse> getDataIngestionJob​(GetDataIngestionJobRequest request,
                                                                AsyncHandler<GetDataIngestionJobRequest,​GetDataIngestionJobResponse> handler)
        Gets information about a data ingestion job.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getDataSource

        Future<GetDataSourceResponse> getDataSource​(GetDataSourceRequest request,
                                                    AsyncHandler<GetDataSourceRequest,​GetDataSourceResponse> handler)
        Gets information about a data source.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getKnowledgeBase

        Future<GetKnowledgeBaseResponse> getKnowledgeBase​(GetKnowledgeBaseRequest request,
                                                          AsyncHandler<GetKnowledgeBaseRequest,​GetKnowledgeBaseResponse> handler)
        Gets information about a knowledge base.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getTool

        Future<GetToolResponse> getTool​(GetToolRequest request,
                                        AsyncHandler<GetToolRequest,​GetToolResponse> handler)
        Gets information about a tool.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getWorkRequest

        Future<GetWorkRequestResponse> getWorkRequest​(GetWorkRequestRequest request,
                                                      AsyncHandler<GetWorkRequestRequest,​GetWorkRequestResponse> handler)
        Gets the details of a work request.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listAgentEndpoints

        Future<ListAgentEndpointsResponse> listAgentEndpoints​(ListAgentEndpointsRequest request,
                                                              AsyncHandler<ListAgentEndpointsRequest,​ListAgentEndpointsResponse> handler)
        Gets a list of endpoints.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listAgents

        Future<ListAgentsResponse> listAgents​(ListAgentsRequest request,
                                              AsyncHandler<ListAgentsRequest,​ListAgentsResponse> handler)
        Gets a list of agents.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listDataIngestionJobs

        Future<ListDataIngestionJobsResponse> listDataIngestionJobs​(ListDataIngestionJobsRequest request,
                                                                    AsyncHandler<ListDataIngestionJobsRequest,​ListDataIngestionJobsResponse> handler)
        Gets a list of data ingestion jobs.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listDataSources

        Future<ListDataSourcesResponse> listDataSources​(ListDataSourcesRequest request,
                                                        AsyncHandler<ListDataSourcesRequest,​ListDataSourcesResponse> handler)
        Gets a list of data sources.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listKnowledgeBases

        Future<ListKnowledgeBasesResponse> listKnowledgeBases​(ListKnowledgeBasesRequest request,
                                                              AsyncHandler<ListKnowledgeBasesRequest,​ListKnowledgeBasesResponse> handler)
        Gets a list of knowledge bases.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listTools

        Future<ListToolsResponse> listTools​(ListToolsRequest request,
                                            AsyncHandler<ListToolsRequest,​ListToolsResponse> handler)
        Gets a list of tools.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listWorkRequestErrors

        Future<ListWorkRequestErrorsResponse> listWorkRequestErrors​(ListWorkRequestErrorsRequest request,
                                                                    AsyncHandler<ListWorkRequestErrorsRequest,​ListWorkRequestErrorsResponse> handler)
        Lists the errors for a work request.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listWorkRequestLogs

        Future<ListWorkRequestLogsResponse> listWorkRequestLogs​(ListWorkRequestLogsRequest request,
                                                                AsyncHandler<ListWorkRequestLogsRequest,​ListWorkRequestLogsResponse> handler)
        Lists the logs for a work request.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listWorkRequests

        Future<ListWorkRequestsResponse> listWorkRequests​(ListWorkRequestsRequest request,
                                                          AsyncHandler<ListWorkRequestsRequest,​ListWorkRequestsResponse> handler)
        Lists the work requests in a compartment.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateAgent

        Future<UpdateAgentResponse> updateAgent​(UpdateAgentRequest request,
                                                AsyncHandler<UpdateAgentRequest,​UpdateAgentResponse> handler)
        Updates an agent.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateAgentEndpoint

        Future<UpdateAgentEndpointResponse> updateAgentEndpoint​(UpdateAgentEndpointRequest request,
                                                                AsyncHandler<UpdateAgentEndpointRequest,​UpdateAgentEndpointResponse> handler)
        Updates an endpoint.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateDataSource

        Future<UpdateDataSourceResponse> updateDataSource​(UpdateDataSourceRequest request,
                                                          AsyncHandler<UpdateDataSourceRequest,​UpdateDataSourceResponse> handler)
        Updates a data source.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateKnowledgeBase

        Future<UpdateKnowledgeBaseResponse> updateKnowledgeBase​(UpdateKnowledgeBaseRequest request,
                                                                AsyncHandler<UpdateKnowledgeBaseRequest,​UpdateKnowledgeBaseResponse> handler)
        Updates a knowledge base.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateTool

        Future<UpdateToolResponse> updateTool​(UpdateToolRequest request,
                                              AsyncHandler<UpdateToolRequest,​UpdateToolResponse> handler)
        Updates a tool.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.