langchain_core.documents.base.Blob

class langchain_core.documents.base.Blob[source]

Bases: BaseMedia

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

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

灵感来源:https://mdn.org.cn/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-type和元数据

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: Optional[Union[bytes, str]] = None

与blob关联的原始数据。

param encoding: str = 'utf-8'

解码bytes为字符串时使用的编码。

默认编码为utf-8。

param id: Optional[str] = None

可选的文档标识符。

理论上,这应该在文档集中是唯一的,格式为UUID,但不会强制执行。

0.2.11版本新增。

param metadata: dict [Optional]

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

param mimetype: Optional[str] = None

请注意,这与文件扩展名不同。

param path: Optional[Union[str, PurePath]] = None

原始内容被发现的位置。

as_bytes() bytes[源代码]

以字节形式读取数据。

返回类型

bytes

as_bytes_io() Generator[Union[BytesIO, BufferedReader], None, None][源代码]

以字节流形式读取数据。

返回类型

Generator[Union[BytesIO, BufferedReader], None, None]

as_string() str[源代码]

将数据读取为字符串。

返回类型

str

classmethod from_data(data: Union[str, bytes], *, encoding: str = 'utf-8', mime_type: Optional[str] = None, path: Optional[str] = None, metadata: Optional[dict] = None) Blob[源代码]

从内存数据初始化blob。

参数
  • data (Union[str, bytes]) – 与blob关联的内存数据

  • encoding (str) – 将字节解码为字符串时使用的编码

  • mime_type (可选[str]) – 如果提供,将设置数据数据的 mime-type

  • path (可选[str]) – 如果提供,将设置为数据的来源

  • metadata (可选[

返回值

Blob 实例

返回类型

Blob

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

从路径对象加载 blob。

参数
  • path (Union[str, PurePath]) – 要读取的文件的路径对象

  • encoding (str) – 将字节解码为字符串时使用的编码

  • mime_type (可选[str]) – 如果提供,将设置数据数据的 mime-type

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

  • metadata (可选[

返回值

Blob 实例

返回类型

Blob

property source: Optional[str]

如果已知,则以字符串形式表示 blob 的源位置,否则为 none。

如果与 blob 关联了路径,则默认为路径位置。

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

使用 Blob 的示例