validate_request

Function validate_request 

Source
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() );