aidial_adapter_openai/utils/multi_modal_message.py (20 lines of code) (raw):
from typing import List
from pydantic import BaseModel
from aidial_adapter_openai.utils.image import ImageDetail, ImageMetadata
from aidial_adapter_openai.utils.resource import Resource
def create_image_content_part(image: Resource, detail: ImageDetail) -> dict:
return {
"type": "image_url",
"image_url": {
"url": image.to_data_url(),
"detail": detail,
},
}
def create_text_content_part(text: str) -> dict:
return {
"type": "text",
"text": text,
}
class MultiModalMessage(BaseModel):
image_metadatas: List[ImageMetadata]
raw_message: dict