| 3138 | |
| 3139 | @staticmethod |
| 3140 | def get_image_urls(messages: List[llama_types.ChatCompletionRequestMessage]): |
| 3141 | image_urls: List[str] = [] |
| 3142 | for message in messages: |
| 3143 | if message["role"] == "user": |
| 3144 | if message["content"] is None: |
| 3145 | continue |
| 3146 | for content in message["content"]: |
| 3147 | if isinstance(content, dict) and "type" in content: |
| 3148 | if content["type"] == "image_url": |
| 3149 | if ( |
| 3150 | isinstance(content["image_url"], dict) |
| 3151 | and "url" in content["image_url"] |
| 3152 | ): |
| 3153 | image_urls.append(content["image_url"]["url"]) |
| 3154 | else: |
| 3155 | image_urls.append(content["image_url"]) |
| 3156 | return image_urls |
| 3157 | |
| 3158 | @staticmethod |
| 3159 | def split_text_on_image_urls(text: str, image_urls: List[str]): |