文档API 参考📓 教程🧑‍🍳 食谱🤝 集成💜 Discord🎨 Studio
API 参考

图像转换器

各种图片转换组件。

模块 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) -> Dict[str, List[ImageContent]]

将文件转换为 ImageContent 对象。

参数:

  • sources: 要转换的 PDF 文件路径或 ByteStream 对象列表。
  • meta: 可选的要附加到 ImageContent 对象的元数据。此值可以是字典列表或单个字典。如果为单个字典,则其内容将添加到所有生成的 ImageContent 对象的元数据中。如果为列表,其长度必须与源的数量匹配,因为它们会被一起打包。对于 ByteStream 对象,它们的meta 会被添加到输出的 ImageContent 对象中。
  • 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
) -> Dict[str, List[ImageContent]]

将文件转换为 ImageContent 对象。

参数:

  • sources: 要转换的 PDF 文件路径或 ByteStream 对象列表。
  • meta: 可选的要附加到 ImageContent 对象的元数据。此值可以是字典列表或单个字典。如果为单个字典,则其内容将添加到所有生成的 ImageContent 对象的元数据中。如果为列表,其长度必须与源的数量匹配,因为它们会被一起打包。对于 ByteStream 对象,它们的meta 会被添加到输出的 ImageContent 对象中。
  • 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 对象列表。