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 providernormalizer_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