Skip to main content

Table of Contents

Module spoon_ai.llm.response_normalizer

Response normalizer for ensuring consistent response formats across providers.

ResponseNormalizer Objects​

class ResponseNormalizer()

Normalizes responses from different providers to ensure consistency.

normalize_response​

def normalize_response(response: LLMResponse) -> LLMResponse

Normalize a response from any provider.

Arguments:

  • response - Raw LLM response

Returns:

  • LLMResponse - Normalized response

Raises:

  • ValidationError - If response cannot be normalized

validate_response​

def validate_response(response: LLMResponse) -> bool

Validate that a response meets minimum requirements.

Arguments:

  • response - Response to validate

Returns:

  • bool - True if response is valid

Raises:

  • ValidationError - If response is invalid

add_provider_mapping​

def add_provider_mapping(provider_name: str, normalizer_func) -> None

Add a custom normalizer for a new provider.

Arguments:

  • provider_name - Name of the provider
  • normalizer_func - Function that takes and returns LLMResponse

get_supported_providers​

def get_supported_providers() -> List[str]

Get list of providers with custom normalizers.

Returns:

  • List[str] - List of provider names

get_response_normalizer​

def get_response_normalizer() -> ResponseNormalizer

Get global response normalizer instance.

Returns:

  • ResponseNormalizer - Global normalizer instance