def to_part()

in google/generativeai/types/content_types.py [0:0]


def to_part(part: PartType):
    if isinstance(part, Mapping):
        part = _convert_dict(part)

    if isinstance(part, protos.Part):
        return part
    elif isinstance(part, str):
        return protos.Part(text=part)
    elif isinstance(part, protos.FileData):
        return protos.Part(file_data=part)
    elif isinstance(part, (protos.File, file_types.File)):
        return protos.Part(file_data=file_types.to_file_data(part))
    elif isinstance(part, protos.FunctionCall):
        return protos.Part(function_call=part)
    elif isinstance(part, protos.FunctionResponse):
        return protos.Part(function_response=part)

    else:
        # Maybe it can be turned into a blob?
        return protos.Part(inline_data=to_blob(part))