Spaces:
Running
Running
| import os | |
| import io | |
| import base64 | |
| from PIL import Image | |
| EXAMPLES_LIST = [ | |
| [ | |
| ["images/demo1.jpeg"], | |
| "Where am I?", | |
| ], | |
| [ | |
| ["images/demo6.jpeg"], | |
| "Create a role play modeled after this cat." | |
| ], | |
| # mulit-frames example | |
| [ | |
| ["images/demo4.jpeg", "images/demo5.jpeg"], | |
| "Please infer step by step who this manuscript belongs to and what it records." | |
| ] | |
| ] | |
| def display_example(image_list, root_dir: str = None): | |
| images_html = "" | |
| for _, img_path in enumerate(image_list): | |
| if root_dir is not None: | |
| img_path = os.path.join(root_dir, img_path) | |
| image = Image.open(img_path) | |
| buffered = io.BytesIO() | |
| image.save(buffered, format="PNG", quality=100) | |
| img_b64_str = base64.b64encode(buffered.getvalue()).decode() | |
| img_str = f'<img src="data:image/png;base64,{img_b64_str}" alt="{img_path}" style="height:80px; margin-right: 10px;" />' | |
| images_html += img_str | |
| result_html = f""" | |
| <div style="display: flex; align-items: center; margin-bottom: 10px;"> | |
| <div style="flex: 1; margin-right: 10px;">{images_html}</div> | |
| </div> | |
| """ | |
| return result_html | |
| def get_examples(root_dir: str = None): | |
| examples = [] | |
| for images, texts in EXAMPLES_LIST: | |
| examples.append([images, display_example(images, root_dir), texts]) | |
| return examples | |