Interface LlmOperations

  • All Implemented Interfaces:

    @ApiStatus.Internal() 
    public interface LlmOperations
    
                        

    Wraps LLM operations. All user-initiated LLM operations go through this, allowing the AgentPlatform to mediate them. This interface is not directly for use in user code. Prefer PromptRunner An LlmOperations implementation is responsible for resolving all relevant tool callbacks for the current AgentProcess (in addition to those passed in directly), and emitting events.

    • Constructor Detail

    • Method Detail

      • generate

         String generate(String prompt, LlmInteraction interaction, AgentProcess agentProcess, Action action)

        Generate text in the context of an AgentProcess.

        Parameters:
        prompt - Prompt to generate text from
        interaction - Llm options and tool callbacks to use, plus unique identifier
        agentProcess - Agent process we are running within
        action - Action we are running within if we are running within an action
      • createObject

         abstract <O extends Any> O createObject(List<Message> messages, LlmInteraction interaction, Class<O> outputClass, AgentProcess agentProcess, Action action)

        Create an output object, in the context of an AgentProcess.

        Parameters:
        messages - messages in the conversation so far.
        interaction - Llm options and tool callbacks to use, plus unique identifier
        outputClass - Class of the output object
        agentProcess - Agent process we are running within
        action - Action we are running within if we are running within an action
      • createObjectIfPossible

         abstract <O extends Any> Result<O> createObjectIfPossible(List<Message> messages, LlmInteraction interaction, Class<O> outputClass, AgentProcess agentProcess, Action action)

        Try to create an output object in the context of an AgentProcess. Return a failure result if the LLM does not have enough information to create the object.

        Parameters:
        messages - messages
        interaction - Llm options and tool callbacks to use, plus unique identifier
        outputClass - Class of the output object
        agentProcess - Agent process we are running within
        action - Action we are running within if we are running within an action
      • doTransform

         <O extends Any> O doTransform(String prompt, LlmInteraction interaction, Class<O> outputClass, LlmRequestEvent<O> llmRequestEvent)

        Low level transform, not necessarily aware of platform This is a convenience overload that creates a UserMessage from a String prompt

        Parameters:
        prompt - user prompt.
        interaction - The LLM call options
        outputClass - Class of the output object
        llmRequestEvent - Event already published for this request if one has been
      • doTransform

         abstract <O extends Any> O doTransform(List<Message> messages, LlmInteraction interaction, Class<O> outputClass, LlmRequestEvent<O> llmRequestEvent)

        Low level transform, not necessarily aware of platform

        Parameters:
        messages - messages
        interaction - The LLM call options
        outputClass - Class of the output object
        llmRequestEvent - Event already published for this request if one has been