Package com.embabel.agent.spi.support
Class ToolLoopLlmOperations
-
- All Implemented Interfaces:
-
com.embabel.agent.spi.LlmOperations
public class ToolLoopLlmOperations extends AbstractLlmOperations
LlmOperations implementation that uses Embabel's framework-agnostic tool loop.
This class provides the core tool loop orchestration logic without depending on any specific LLM framework (Spring AI, LangChain4j, etc.). Subclasses provide the framework-specific implementations for message sending and output conversion.
-
-
Constructor Summary
Constructors Constructor Description ToolLoopLlmOperations(ModelProvider modelProvider, ToolDecorator toolDecorator, Validator validator, ValidationPromptGenerator validationPromptGenerator, LlmDataBindingProperties dataBindingProperties, AutoLlmSelectionCriteriaResolver autoLlmSelectionCriteriaResolver, LlmOperationsPromptsProperties promptsProperties, ObjectMapper objectMapper, ObservationRegistry observationRegistry)
-
Method Summary
Modifier and Type Method Description <O extends Any> OdoTransform(List<Message> messages, LlmInteraction interaction, Class<O> outputClass, LlmRequestEvent<O> llmRequestEvent)Low level transform, not necessarily aware of platform -
Methods inherited from class com.embabel.agent.spi.LlmOperations
doTransform, generate -
Methods inherited from class com.embabel.agent.spi.support.AbstractLlmOperations
createObject, createObjectIfPossible -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
ToolLoopLlmOperations
ToolLoopLlmOperations(ModelProvider modelProvider, ToolDecorator toolDecorator, Validator validator, ValidationPromptGenerator validationPromptGenerator, LlmDataBindingProperties dataBindingProperties, AutoLlmSelectionCriteriaResolver autoLlmSelectionCriteriaResolver, LlmOperationsPromptsProperties promptsProperties, ObjectMapper objectMapper, ObservationRegistry observationRegistry)
- Parameters:
modelProvider- ModelProvider to get the LLM modeltoolDecorator- ToolDecorator to decorate toolsvalidator- Validator for bean validationvalidationPromptGenerator- Generator for validation promptsdataBindingProperties- Properties for data binding configurationautoLlmSelectionCriteriaResolver- Resolver for auto LLM selectionpromptsProperties- Properties for prompt configurationobjectMapper- ObjectMapper for JSON serializationobservationRegistry- Registry for distributed tracing observations
-
-
Method Detail
-
doTransform
<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- messagesinteraction- The LLM call optionsoutputClass- Class of the output objectllmRequestEvent- Event already published for this request if one has been
-
-
-
-