pub fn validate_request(request: &ChatCompletionRequest) -> Result<()>Expand description
Validates a chat completion request.
Performs comprehensive validation of all request parameters, returning the first error encountered.
§Validation Rules
- Model: Must be a valid XAI model name
- Messages: Must be non-empty with non-empty content
- Temperature: Must be in [0.0, 2.0]
- Max Tokens: Must be positive
- Top P: Must be in [0.0, 1.0]
- Penalties: Must be in [-2.0, 2.0]
- Tools: Must have valid schemas
§Arguments
request- The chat completion request to validate
§Returns
Ok(()) if validation passes, error otherwise.
§Errors
Returns XaiError::InvalidParameter or XaiError::InvalidModel
for validation failures.
§Examples
use api_xai::{ validate_request, ChatCompletionRequest, Message };
let request = ChatCompletionRequest::former()
.model( "grok-2-1212".to_string() )
.messages( vec![ Message::user( "Hello!" ) ] )
.temperature( 0.7 )
.form();
// Validation passes
assert!( validate_request( &request ).is_ok() );
let bad_request = ChatCompletionRequest::former()
.model( "grok-2-1212".to_string() )
.messages( vec![ Message::user( "Hello!" ) ] )
.temperature( 3.0 ) // Invalid!
.form();
// Validation fails
assert!( validate_request( &bad_request ).is_err() );