Class StructuredOutputValidationAdvisor
java.lang.Object
org.springframework.ai.chat.client.advisor.StructuredOutputValidationAdvisor
- All Implemented Interfaces:
Advisor,CallAdvisor,StreamAdvisor,org.springframework.core.Ordered
public final class StructuredOutputValidationAdvisor
extends Object
implements CallAdvisor, StreamAdvisor
Advisor that validates the structured JSON output of a chat client response against a
JSON schema derived from the configured output type or a pre-supplied schema string.
When validation fails, the advisor appends the validation error to the user message and
re-invokes the model, repeating up to maxRepeatAttempts times.
Streaming responses are not supported.
- Author:
- Christian Tzolov
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilder forStructuredOutputValidationAdvisor. -
Field Summary
Fields inherited from interface org.springframework.ai.chat.client.advisor.api.Advisor
DEFAULT_CHAT_MEMORY_PRECEDENCE_ORDERFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Method Summary
Modifier and TypeMethodDescriptionadviseCall(ChatClientRequest chatClientRequest, CallAdvisorChain callAdvisorChain) reactor.core.publisher.Flux<ChatClientResponse>adviseStream(ChatClientRequest chatClientRequest, StreamAdvisorChain streamAdvisorChain) builder()Returns a newStructuredOutputValidationAdvisor.Builder.getName()Return the name of the advisor.intgetOrder()
-
Method Details
-
getName
Description copied from interface:AdvisorReturn the name of the advisor. -
getOrder
public int getOrder()- Specified by:
getOrderin interfaceorg.springframework.core.Ordered
-
adviseCall
public ChatClientResponse adviseCall(ChatClientRequest chatClientRequest, CallAdvisorChain callAdvisorChain) - Specified by:
adviseCallin interfaceCallAdvisor
-
adviseStream
public reactor.core.publisher.Flux<ChatClientResponse> adviseStream(ChatClientRequest chatClientRequest, StreamAdvisorChain streamAdvisorChain) - Specified by:
adviseStreamin interfaceStreamAdvisor
-
builder
Returns a newStructuredOutputValidationAdvisor.Builder.- Returns:
- a new builder instance
-