Package com.tnsai.annotations
Annotation Interface OutputGuardrail
Configures output validation and formatting for actions.
Output guardrails ensure agent responses meet quality standards, follow format requirements, and don't contain harmful content.
Usage on Method
@ActionSpec(type = ActionType.LLM_GENERATION, description = "Generate response")
@OutputGuardrail(
format = OutputFormat.JSON,
schema = "response-schema.json",
maxTokens = 1000,
validators = {NoHallucination.class, FactCheck.class}
)
public String generateResponse(String query) {
// Response is validated before returning
}
Usage on Type (Role-level default)
@OutputGuardrail(
format = OutputFormat.MARKDOWN,
maxTokens = 2000
)
public class ContentRole extends Role {
// All actions inherit these guardrails
}
Built-in Validators
NotEmpty- Ensures non-empty outputJsonValid- Validates JSON syntaxSchemaCompliant- Validates against JSON schemaNoHallucination- Checks for factual accuracyNoPII- Blocks personal identifiable infoSafeContent- Blocks harmful content
- Author:
- TnsAI Team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumActions on guardrail failure.static enumOutput format types.static enumPII (Personally Identifiable Information) types. -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionContent categories to filter.booleanWhether to check for hallucinations (requires context).Fallback value if all retries fail.Expected output format.doubleConfidence threshold for hallucination detection.booleanWhether to include validation metadata in response.booleanWhether to log validation failures.booleanWhether to enable PII detection and masking.intMaximum output length in characters.intMaximum retry attempts on failure.intMaximum output length in tokens.intMinimum output length in characters.booleanWhether to enable content moderation on output.Action to take on validation failure.PII types to mask.Class<?>[]Post-processor classes to apply.JSON schema for validation.Class<?>[]Validator classes to apply.
-
Element Details
-
format
OutputGuardrail.OutputFormat formatExpected output format.- Returns:
- output format
- Default:
TEXT
-
schema
String schemaJSON schema for validation.Path to schema file or inline schema.
- Returns:
- JSON schema
- Default:
""
-
maxTokens
int maxTokensMaximum output length in tokens.0 means no limit.
- Returns:
- max tokens
- Default:
0
-
maxChars
int maxCharsMaximum output length in characters.- Returns:
- max characters
- Default:
0
-
minChars
int minCharsMinimum output length in characters.- Returns:
- min characters
- Default:
0
-
validators
Class<?>[] validatorsValidator classes to apply.- Returns:
- validator classes
- Default:
{}
-
postProcessors
Class<?>[] postProcessorsPost-processor classes to apply.- Returns:
- post-processor classes
- Default:
{}
-
maskPII
boolean maskPIIWhether to enable PII detection and masking.- Returns:
- true to mask PII
- Default:
false
-
piiTypes
OutputGuardrail.PIIType[] piiTypesPII types to mask.- Returns:
- PII types
- Default:
{}
-
moderateContent
boolean moderateContentWhether to enable content moderation on output.- Returns:
- true to moderate
- Default:
false
-
blockCategories
InputGuardrail.ContentCategory[] blockCategoriesContent categories to filter.- Returns:
- blocked categories
- Default:
{}
-
checkHallucination
boolean checkHallucinationWhether to check for hallucinations (requires context).- Returns:
- true to check
- Default:
false
-
hallucinationThreshold
double hallucinationThresholdConfidence threshold for hallucination detection.- Returns:
- threshold (0.0-1.0)
- Default:
0.8
-
onFailure
OutputGuardrail.FailureAction onFailureAction to take on validation failure.- Returns:
- failure action
- Default:
RETRY
-
maxRetries
int maxRetriesMaximum retry attempts on failure.- Returns:
- max retries
- Default:
3
-
fallback
String fallbackFallback value if all retries fail.- Returns:
- fallback value
- Default:
""
-
logFailures
boolean logFailuresWhether to log validation failures.- Returns:
- true to log
- Default:
true
-
includeSpec
boolean includeSpecWhether to include validation metadata in response.- Returns:
- true to include metadata
- Default:
false
-