All Classes and Interfaces
Class
Description
CDI bean willing to manipulate the response of the AI model needs to implement this interface.
Provides the basic building blocks that the generated Interface methods call into
Contains information about the source of an audit event
Interface implemented by each AiService that allows the removal of chat memories from an AiService
Allows the application to manually control when a
ChatMemory
should be removed from the underlying
ChatMemoryStore
.Provides a way for an AiService to get its chat memory seeded.
Contributes custom attributes, events or other data to the spans created by
SpanChatModelListener
.Adds the prompt as a span attribute if so configured by the user
Allows for user code to provide a custom strategy for estimating the cost of API calls
Meant to be injected where
ChatModelListener
is used in order to determine the cost of the API requestUsed to make Quarkus aware of classes being used in
AiServices.create(java.lang.Class<T>, dev.langchain4j.model.chat.ChatModel)
Often LLMs return a date as a JSON object containing the date's constituents
Often LLMs return a datetime as a JSON object containing the datetime's constituents
Often LLMs return a time as a JSON object containing the time's constituents
A guardrail is a rule that is applied when interacting with an LLM either to the input (the user message) or to the output of
the model to ensure that they are safe and meet the expectations of the model.
Exception thrown when an input or output guardrail validation fails.
Represents an event that is executed when a guardrail validation occurs.
Represents the parameter passed to
Guardrail.validate(GuardrailParams)
} in order to validate an interaction between a
user and the LLM.The result of the validation of an interaction between a user and the LLM.
The message and the cause of the failure of a single validation.
The possible results of a guardrails validation.
This annotation is useful when an AiService is meant to describe an image as the value of the method parameter annotated
with @ImageUrl
will be used as an
ImageContent
.Invoked when the original user and system messages have been created
Creates the default
InMemoryChatMemoryStore
store to be used by classes annotated with RegisterAiService
An input guardrail is a rule that is applied to the input of the model to ensure that the input (the user message) is
safe and meets the expectations of the model.
Represents the parameter passed to
InputGuardrail.validate(InputGuardrailParams)
.The result of the validation of an
InputGuardrail
An annotation to apply guardrails to the input of the model.
Invoked when the final result of the AiService method has been computed
Invoked when there was an exception computing the result of the AiService method
Creates metrics that follow the
Semantic Conventions
for GenAI Metrics
Model authentication providers can be used to supply credentials such as access tokens, API keys, and other type of
credentials.
Marker annotation to select a named model
Configure the
name
parameter to select the model instance.An implementation of
ChatMemory
that does nothing.An output guardrail is a rule that is applied to the output of the model to ensure that the output is safe and meets the
expectations.
An annotation to configure token accumulation when output guardrails are applied on streamed responses.
Represents the parameter passed to
OutputGuardrail.validate(OutputGuardrailParams)
.The result of the validation of an
OutputGuardrail
An annotation to apply guardrails to the output of the model.
Interface to accumulate tokens when output guardrails are applied on streamed responses.
This annotation is useful when an AiService is meant to describe an image as the value of the method parameter annotated
with @PdfUrl
will be used as an
PdfFileContent
.Adds the prompt as a span attribute if so configured by the user
A
StreamingResponseHandler
implementation for Quarkus.An implementation of token stream for Quarkus.
Used to create LangChain4j's
AiServices
in a declarative manner that the application can then use simply by
using the class as a CDI bean.Marker that is used to tell Quarkus to use the
that has been configured as a CDI bean by
any of the extensions providing such capability (such as
invalid reference
ChatLanguageModel
quarkus-langchain4j-openai
and
quarkus-langchain4j-hugging-face
).Marker that is used to tell Quarkus to use the retriever that the user has configured as a CDI bean.
Marker that is used to tell Quarkus to use the
ImageModel
that the user has configured as a CDI bean.Marker that is used to tell Quarkus to use the
ModerationModel
that the user has configured as a CDI bean.Marker that is used to tell Quarkus to use the
RetrievalAugmentor
that the user has configured as a CDI bean.Marker that is used to tell Quarkus to use the ToolHallucinationStrategy that the user has configured as a CDI bean.
Marker that is used to tell Quarkus to use the
ToolProvider
that the user has configured as a CDI bean.Marker that is used to tell Quarkus to use the
that has been configured as a CDI bean
by * any of the extensions providing such capability (such as
invalid reference
StreamingChatLanguageModel
quarkus-langchain4j-openai
and
quarkus-langchain4j-hugging-face
).Marker that is used when the user does not want any memory configured for the AiService
Marker that is used to tell Quarkus to not use any retrieval augmentor even if a CDI bean implementing
the `RetrievalAugmentor` interface exists.
Marker class to indicate that no retriever should be used
Marker that is used when the user does not want any tool provider
This implementation uses the state of the request scope as the default value
An annotation to configure a response augmenter.
Represents the parameter passed to
AiResponseAugmenter
methods.Invoked with a response from an LLM.
Provides a way for an AiService to get its chat memory seeded with examples interactions.
Creates a span that follows the
Semantic Conventions
for GenAI operations
When used on a method of an AiService annotated with
RegisterAiService
, the method will the tool classes provided by
value
instead of the ones configured for the entire AiService (via RegisterAiService.tools()
)Invoked with a tool response from an LLM.