def format_content()

in src/frontends/streamlit/frontend/utils/multimodal_utils.py [0:0]


def format_content(content: str | list[dict[str, Any]]) -> str:
    """Formats content as a string, handling both text and multimedia inputs."""
    if isinstance(content, str):
        return content
    if len(content) == 1 and content[0]["type"] == "text":
        return content[0]["text"]
    markdown = """Media:
"""
    text = ""
    for part in content:
        if part["type"] == "text":
            text = part["text"]
        # Local Images:
        if part["type"] == "image_url":
            image_url = part["image_url"]["url"]
            image_markdown = f'<img src="{image_url}" width="100">'
            markdown = (
                markdown
                + f"""
- {image_markdown}
"""
            )
        if part["type"] == "media":
            # Local other media
            if "data" in part:
                markdown = markdown + f"- Local media: {part['file_name']}\n"
            # From GCS:
            if "file_uri" in part:
                # GCS images
                if "image" in part["mime_type"]:
                    image_url = gs_uri_to_https_url(part["file_uri"])
                    image_markdown = f'<img src="{image_url}" width="100">'
                    markdown = (
                        markdown
                        + f"""
- {image_markdown}
"""
                    )
                # GCS other media
                else:
                    image_url = gs_uri_to_https_url(part["file_uri"])
                    markdown = (
                        markdown + f"- Remote media: "
                        f"[{part['file_uri']}]({image_url})\n"
                    )
    markdown = (
        markdown
        + f"""

{text}"""
    )
    return markdown