Blob#

class langchain_core.documents.base.Blob[source]#

基础类:BaseMedia

Blob 通过引用或值表示原始数据。

提供了一个接口,用于以不同的表示形式具体化blob,并帮助将数据加载器的开发与原始数据的下游解析解耦。

灵感来源:https://developer.mozilla.org/en-US/docs/Web/API/Blob

示例:从内存数据初始化一个blob

from langchain_core.documents import Blob

blob = Blob.from_data("Hello, world!")

# Read the blob as a string
print(blob.as_string())

# Read the blob as bytes
print(blob.as_bytes())

# Read the blob as a byte stream
with blob.as_bytes_io() as f:
    print(f.read())

示例:从内存加载并指定MIME类型和元数据

from langchain_core.documents import Blob

blob = Blob.from_data(
    data="Hello, world!",
    mime_type="text/plain",
    metadata={"source": "https://example.com"}
)

示例:从文件加载blob

from langchain_core.documents import Blob

blob = Blob.from_path("path/to/file.txt")

# Read the blob as a string
print(blob.as_string())

# Read the blob as bytes
print(blob.as_bytes())

# Read the blob as a byte stream
with blob.as_bytes_io() as f:
    print(f.read())
param data: bytes | str | None = None#

与blob相关的原始数据。

param encoding: str = 'utf-8'#

如果要将字节解码为字符串,请使用的编码。

如果解码为字符串,请使用utf-8作为默认编码。

param id: str | None = None#

文档的可选标识符。

理想情况下,这应该在文档集合中是唯一的,并且格式化为UUID,但这不会被强制执行。

在版本0.2.11中添加。

param metadata: dict [Optional]#

与内容关联的任意元数据。

param mimetype: str | None = None#

MimeType 不要与文件扩展名混淆。

param path: PathLike | None = None#

找到原始内容的位置。

as_bytes() bytes[source]#

以字节形式读取数据。

Return type:

字节

as_bytes_io() Generator[BytesIO | BufferedReader, None, None][source]#

将数据读取为字节流。

Return type:

Generator[BytesIO | BufferedReader, None, None]

as_string() str[来源]#

将数据读取为字符串。

Return type:

字符串

classmethod from_data(data: str | bytes, *, encoding: str = 'utf-8', mime_type: str | None = None, path: str | None = None, metadata: dict | None = None) Blob[source]#

从内存数据初始化 blob。

Parameters:
  • data (str | bytes) – 与 blob 相关的内存数据

  • encoding (str) – 如果要将字节解码为字符串,则使用的编码

  • mime_type (str | None) – 如果提供,将设置为数据的MIME类型

  • path (str | None) – 如果提供,将被设置为数据的来源

  • metadata (dict | None) – 与blob关联的元数据

Returns:

Blob 实例

Return type:

Blob

classmethod from_path(path: str | PurePath, *, encoding: str = 'utf-8', mime_type: str | None = None, guess_type: bool = True, metadata: dict | None = None) Blob[source]#

从类似路径的对象加载blob。

Parameters:
  • path (str | PurePath) – 要读取的文件路径对象

  • encoding (str) – 如果要将字节解码为字符串,则使用的编码

  • mime_type (str | None) – 如果提供,将设置为数据的MIME类型

  • guess_type (bool) – 如果为True,当未提供mime-type时,将从文件扩展名猜测mimetype

  • metadata (dict | None) – 与blob关联的元数据

Returns:

Blob 实例

Return type:

Blob

property source: str | None#

如果已知,blob的源位置为字符串,否则为none。

如果路径与blob相关联,它将默认为路径位置。

除非通过名为“source”的元数据字段明确设置,在这种情况下将使用该值。

使用 Blob 的示例