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_io() Generator[BytesIO | BufferedReader, None, None] [source]#
将数据读取为字节流。
- Return type:
Generator[BytesIO | BufferedReader, None, None]
- 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:
- 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:
- property source: str | None#
如果已知,blob的源位置为字符串,否则为none。
如果路径与blob相关联,它将默认为路径位置。
除非通过名为“source”的元数据字段明确设置,在这种情况下将使用该值。
使用 Blob 的示例