Package com.embabel.agent.spi
Class LlmInteraction
-
- All Implemented Interfaces:
-
com.embabel.agent.core.ToolCallbackConsumer,com.embabel.agent.core.ToolCallbackSpec,com.embabel.agent.core.ToolConsumer,com.embabel.agent.core.ToolGroupConsumer,com.embabel.agent.spi.LlmCall,com.embabel.agent.spi.LlmUse,com.embabel.common.ai.prompt.PromptContributorConsumer
public final class LlmInteraction implements LlmCall
Encapsulates an interaction with an LLM. An LlmInteraction is a specific instance of an LlmCall. The LLM must have been chosen and the call has a unique identifier.
-
-
Field Summary
Fields Modifier and Type Field Description private final Stringnameprivate final InteractionIdidprivate final LlmOptionsllmprivate final Set<ToolGroupRequirement>toolGroupsprivate final List<ToolCallback>toolCallbacksprivate final List<PromptContributor>promptContributorsprivate final List<ContextualPromptElement>contextualPromptContributorsprivate final BooleangenerateExamplesprivate final Predicate<String>propertyFilter
-
Constructor Summary
Constructors Constructor Description LlmInteraction(InteractionId id, LlmOptions llm, Set<ToolGroupRequirement> toolGroups, List<ToolCallback> toolCallbacks, List<PromptContributor> promptContributors, List<ContextualPromptElement> contextualPromptContributors, Boolean generateExamples, Predicate<String> propertyFilter)
-
Method Summary
Modifier and Type Method Description StringgetName()final InteractionIdgetId()LlmOptionsgetLlm()Set<ToolGroupRequirement>getToolGroups()Tool groups exposed. List<ToolCallback>getToolCallbacks()List<PromptContributor>getPromptContributors()List<ContextualPromptElement>getContextualPromptContributors()BooleangetGenerateExamples()Whether to generate examples for the prompt. Predicate<String>getPropertyFilter()Filter that determines which properties to include when creating objects. final static LlmInteractionfrom(LlmCall llm, InteractionId id)final static LlmInteractionusing(LlmOptions llm)-
-
Constructor Detail
-
LlmInteraction
LlmInteraction(InteractionId id, LlmOptions llm, Set<ToolGroupRequirement> toolGroups, List<ToolCallback> toolCallbacks, List<PromptContributor> promptContributors, List<ContextualPromptElement> contextualPromptContributors, Boolean generateExamples, Predicate<String> propertyFilter)
- Parameters:
id- Unique identifier for the interaction.llm- LLM options to use, specifying model and hyperparameterstoolCallbacks- Tool callbacks to use for this interactionpromptContributors- Prompt contributors to use for this interaction
-
-
Method Detail
-
getId
final InteractionId getId()
-
getLlm
LlmOptions getLlm()
-
getToolGroups
Set<ToolGroupRequirement> getToolGroups()
Tool groups exposed. This will include directly registered tool groups and tool groups resolved from ToolGroups.
-
getToolCallbacks
List<ToolCallback> getToolCallbacks()
-
getPromptContributors
List<PromptContributor> getPromptContributors()
-
getContextualPromptContributors
List<ContextualPromptElement> getContextualPromptContributors()
-
getGenerateExamples
Boolean getGenerateExamples()
Whether to generate examples for the prompt. Defaults to unknown: Set to false if generating your own examples.
-
getPropertyFilter
Predicate<String> getPropertyFilter()
Filter that determines which properties to include when creating objects.
-
from
final static LlmInteraction from(LlmCall llm, InteractionId id)
-
using
final static LlmInteraction using(LlmOptions llm)
-
-
-
-