MCPcopy Create free account
hub / github.com/NVIDIA/TensorRT-LLM / convert_to_conversation_message

Function convert_to_conversation_message

tensorrt_llm/inputs/utils.py:670–765  ·  view source on GitHub ↗
(
        prompt: str,
        media: Union[Any, List[Any]],
        modality: str,
        is_embedding: bool = False,
    )

Source from the content-addressed store, hash-verified

668 device: str = "cpu") -> List[dict[str, Union[str, torch.Tensor]]]:
669
670 def convert_to_conversation_message(
671 prompt: str,
672 media: Union[Any, List[Any]],
673 modality: str,
674 is_embedding: bool = False,
675 ) -> ConversationMessage:
676 if isinstance(media, str):
677 media = [media]
678 if modality in ["image", "multiple_image"]:
679 if is_embedding:
680 _load = lambda mm: mm
681
682 # each mm_embedding corresponds to each image placeholder
683 if not isinstance(media, list):
684 media = [media]
685 else:
686 _load = lambda mm: load_image(
687 mm, format=image_data_format, device=device)
688
689 mm_data = [
690 MultimodalData(modality=modality,
691 data=_load(mm),
692 is_embedding=is_embedding) for mm in media
693 ]
694 elif modality == "video":
695 if is_embedding:
696 raise ValueError(
697 "External embedding is not supported for video modality yet."
698 )
699 mm_data = [
700 MultimodalData(
701 modality=modality,
702 data=load_video(i,
703 num_frames,
704 format=image_data_format,
705 device=device),
706 is_embedding=False,
707 ) for i in media
708 ]
709 elif modality == "audio":
710 if is_embedding:
711 raise ValueError(
712 "External embedding is not supported for audio modality yet."
713 )
714 mm_data = [
715 MultimodalData(
716 modality=modality,
717 data=load_audio(i, device=device),
718 is_embedding=False,
719 ) for i in media
720 ]
721 elif modality == "image_audio":
722 if is_embedding:
723 raise ValueError(
724 "External embedding is not supported for image_audio modality yet."
725 )
726 # Use different load_xxx functions to match the modality.
727 mm_data = []

Callers 1

Calls 6

MultimodalDataClass · 0.85
ConversationMessageClass · 0.85
load_imageFunction · 0.70
load_videoFunction · 0.70
load_audioFunction · 0.70
appendMethod · 0.45

Tested by

no test coverage detected