Sentence Count Guardrail¶
The Sentence Count Guardrail is a custom Synapse mediator for WSO2 API Manager Universal Gateway, designed to perform sentence count-based validation on incoming or outgoing JSON payloads. This component acts as a guardrail to enforce specific content moderation rules based on configurable minimum and maximum sentence counts and JSON Path expressions.
Features¶
- Validate payload content by counting sentences
- Define minimum and maximum sentence thresholds
- Target specific fields in JSON payloads using JSON Path
- Optionally invert validation logic (e.g., allow only content outside the specified sentence range)
- Trigger fault sequences on rule violations
- Include optional assessment messages in error responses for better observability
How to Use¶
Follow these steps to integrate the Sentence Count Guardrail policy into your WSO2 API Manager instance:
-
Download the latest Sentence Count Guardrail policy
Tip
The downloaded archive contains the following
File Name Description org.wso2.am.policies.mediation.ai.sentence-count-guardrail-<version>The compiled mediator JAR file policy-definition.jsonPolicy metadata definition artifact.j2Synapse template file -
Copy the mediator JAR into your API Manager’s dropins directory:
<APIM_HOME>/repository/components/dropins -
Register the policy in the Publisher portal using the provided
policy-definition.jsonandartifact.j2files via the Publisher REST APIs.- To register the policy common to all AI APIs, follow Add a new common operation policy
- To register the policy specific to a given API, follow Add an API specific operation policy
-
Apply and Deploy the Policy
- Open the API Publisher Portal
(https://<host>:<port>/publisher) - Select your API
- Go to Develop > API Configurations > Policies > Request/Response Flow
- Click Add Policy, select the new Sentence Count Guardrail policy
- Provide the required configuration (name, min, max, etc.)
- Save and Deploy the API
- Open the API Publisher Portal
Example Policy Configuration¶
Click to expand configuration steps
- Create an AI API using Mistral AI.
- Add the Sentence Count Guardrail policy to the API with the following configuration:
| Field | Example |
|---|---|
Guardrail Name |
Sentence Limiter |
Minimum Sentence Count |
2 |
Maximum Sentence Count |
5 |
JSON Path |
$.messages[-1].content |
Invert the Guardrail Decision |
false |
Show Guardrail Assessment |
false |
- Save and re-deploy the API.
- Invoke the API's
chat/completionendpoint with a prompt that violates the sentence count, such as having only one sentence (if min is set to 2):
The following guardrail error response will be returned with http status code 446:
⚠️ Limitations¶
The Sentence Count Guardrail uses the following regular expression to split sentences from the inspected content:
This pattern splits sentences based on punctuation marks such as periods, exclamation points, and question marks. This approach may not handle all sentence boundaries accurately, especially in cases involving abbreviations, decimals, or other complex sentence structures.