各种 image_converters,用于将数据从一种格式转换为另一种格式。
模块 haystack_experimental.components.image_converters.file_to_image
ImageFileToImageContent
将图像文件转换为 ImageContent 对象。
ImageFileToImageContent.__init__
def __init__(*,
detail: Optional[Literal["auto", "high", "low"]] = None,
size: Optional[Tuple[int, int]] = None)
创建 ImageFileToImageContent 组件。
参数:
detail: 可选的图像详细信息级别(仅 OpenAI 支持)。可以是 "auto"、"high" 或 "low"。这将传递给创建的 ImageContent 对象。size: 如果提供,则将图像调整为适合指定的尺寸(宽度,高度),同时保持纵横比。这可以减小文件大小、内存使用量和处理时间,这在处理具有分辨率限制的模型或向远程服务传输图像时非常有用。
ImageFileToImageContent.run
@component.output_types(image_contents=List[ImageContent])
def run(sources: List[Union[str, Path, ByteStream]],
meta: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None,
*,
detail: Optional[Literal["auto", "high", "low"]] = None,
size: Optional[Tuple[int, int]] = None)
将文件转换为 ImageContent 对象。
参数:
sources: 要转换的 PDF 文件路径或 ByteStream 对象列表。meta: 可选的元数据,用于附加到文档。此值可以是字典列表或单个字典。如果它是单个字典,其内容将被添加到所有生成文档的元数据中。如果它是一个列表,其长度必须与源的数量匹配,因为它们被一起压缩。对于 ByteStream 对象,它们的meta将被添加到输出文档中。detail: 可选的图像详细信息级别(仅 OpenAI 支持)。可以是 "auto"、"high" 或 "low"。这将传递给创建的 ImageContent 对象。如果未提供,详细信息级别将是构造函数中设置的级别。size: 如果提供,则将图像调整到指定尺寸(宽度、高度)以内的尺寸,同时保持纵横比。这可以减小文件大小、内存使用和处理时间,这在处理具有分辨率限制的模型或将图像传输到远程服务时非常有用。如果未提供,则 size 值将是构造函数中设置的值。
返回值:
包含以下键的字典
image_contents: ImageContent 对象列表。
模块 haystack_experimental.components.image_converters.pdf_to_image
PDFToImageContent
将 PDF 文件转换为 ImageContent 对象。
PDFToImageContent.__init__
def __init__(*,
detail: Optional[Literal["auto", "high", "low"]] = None,
size: Optional[Tuple[int, int]] = None,
page_range: Optional[List[Union[str, int]]] = None)
创建 PDFToImageContent 组件。
参数:
detail: 可选的图像详细信息级别(仅 OpenAI 支持)。可以是 "auto"、"high" 或 "low"。这将传递给创建的 ImageContent 对象。size: 如果提供,则将图像调整为适合指定的尺寸(宽度,高度),同时保持纵横比。这可以减小文件大小、内存使用量和处理时间,这在处理具有分辨率限制的模型或向远程服务传输图像时非常有用。page_range: 要转换为图像的页码和/或页码范围列表。页码从 1 开始。如果为 None,将转换 PDF 中的所有页面。超出有效范围(1 到页数)的页面将被跳过并发出警告。例如,page_range=[1, 3] 将仅转换文档的第一页和第三页。它还接受可打印的范围字符串,例如:['1-3', '5', '8', '10-12'] 将转换第 1、2、3、5、8、10、11、12 页。
PDFToImageContent.run
@component.output_types(image_contents=List[ImageContent])
def run(sources: List[Union[str, Path, ByteStream]],
meta: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None,
*,
detail: Optional[Literal["auto", "high", "low"]] = None,
size: Optional[Tuple[int, int]] = None,
page_range: Optional[List[Union[str, int]]] = None)
将文件转换为 ImageContent 对象。
参数:
sources: 要转换的 PDF 文件路径或 ByteStream 对象列表。meta: 可选的元数据,用于附加到文档。此值可以是字典列表或单个字典。如果它是单个字典,其内容将被添加到所有生成文档的元数据中。如果它是一个列表,其长度必须与源的数量匹配,因为它们被一起压缩。对于 ByteStream 对象,它们的meta将被添加到输出文档中。detail: 可选的图像详细信息级别(仅 OpenAI 支持)。可以是 "auto"、"high" 或 "low"。这将传递给创建的 ImageContent 对象。如果未提供,详细信息级别将是构造函数中设置的级别。size: 如果提供,则将图像调整到指定尺寸(宽度、高度)以内的尺寸,同时保持纵横比。这可以减小文件大小、内存使用和处理时间,这在处理具有分辨率限制的模型或将图像传输到远程服务时非常有用。如果未提供,则 size 值将是构造函数中设置的值。page_range: 要转换为图像的页码和/或页码范围列表。页码从 1 开始。如果为 None,将转换 PDF 中的所有页面。超出有效范围(1 到页数)的页面将被跳过并发出警告。例如,page_range=[1, 3] 将仅转换文档的第一页和第三页。它还接受可打印的范围字符串,例如:['1-3', '5', '8', '10-12'] 将转换第 1、2、3、5、8、10、11、12 页。如果未提供,page_range 的值将是构造函数中设置的值。
返回值:
包含以下键的字典
image_contents: ImageContent 对象列表。
