def _text_content(prompt: PromptMessage) -> str: if isinstance(prompt.content, str): return prompt.content content = prompt.content or [] if any(item.type != PromptMessageContentType.TEXT for item in content): raise InvokeBadRequestError( f"{prompt.role.value} messages only support text content" ) return "".join(cast(TextPromptMessageContent, item).data for item in content)