import json from fastapi import HTTPException def validate_message_format(messages): """ Validate the format of messages. """ try: json.dumps(messages) except TypeError: raise HTTPException( status_code=400, detail="Invalid message format - messages must be valid JSON", ) for msg in messages: if "role" not in msg or "content" not in msg: raise HTTPException( status_code=400, detail="Messages must contain 'role' and 'content' fields", ) if ( not isinstance(msg["role"], str) or msg["role"] not in ["user", "assistant", "system"] or msg["content"] is None or not isinstance(msg["content"], (str, list)) ): raise HTTPException( status_code=400, detail="Invalid role or content - role must be 'user', 'assistant', or 'system', and content must be a string or list", )