OBS文件加载器#

class langchain_community.document_loaders.obs_file.OBSFileLoader(bucket: str, key: str, client: Any = None, endpoint: str = '', config: dict | None = None)[来源]#

华为OBS文件加载。

使用指定的设置初始化OBSFileLoader。

Parameters:
  • bucket (str) – 要使用的OBS存储桶的名称。

  • key (str) – OBS 存储桶中对象的名称。

  • client (ObsClient, optional) – 用于连接到OBS的ObsClient实例。

  • endpoint (str, optional) – 您的OBS存储桶的终端URL。如果未提供client,则此参数为必填项。

  • config (dict, optional) – 用于连接到OBS的参数,以字典形式提供。如果提供了client,则忽略此参数。字典可能包含以下键: - “ak” (str, optional): 您的OBS访问密钥(如果get_token_from_ecs为False且存储桶策略不是公共读取,则必需)。 - “sk” (str, optional): 您的OBS秘密密钥(如果get_token_from_ecs为False且存储桶策略不是公共读取,则必需)。 - “token” (str, optional): 您的安全令牌(如果使用临时凭证,则必需)。 - “get_token_from_ecs” (bool, optional): 是否从ECS检索安全令牌。如果未提供,则默认为False。如果设置为True,则忽略aksktoken

Raises:
  • ValueError – 如果未安装 esdk-obs-python 包。

  • TypeError – 如果提供的 client 不是 ObsClient 的实例。

  • ValueError – 如果未提供client,但缺少endpoint

注意

在使用此类之前,请确保您已注册OBS并拥有必要的凭证。除非get_token_from_ecs为True或存储桶策略为公共读取,否则akskendpoint值是必需的。使用临时凭证时,token是必需的。

示例

要创建一个带有新客户端的OBSFileLoader: ``` config = {

“ak”: “your-access-key”, “sk”: “your-secret-key”

} obs_loader = OBSFileLoader(“your-bucket-name”, “your-object-key”, config=config) ```

要使用现有客户端创建新的OBSFileLoader: ``` from obs import ObsClient

# 假设你已经有一个现有的ObsClient对象‘obs_client’ obs_loader = OBSFileLoader(“your-bucket-name”, “your-object-key”, client=obs_client) ```

创建一个没有现有客户端的新OBSFileLoader: ` obs_loader = OBSFileLoader("your-bucket-name", "your-object-key", endpoint="your-endpoint-url") `

方法

__init__(bucket, key[, client, endpoint, config])

使用指定的设置初始化OBSFileLoader。

alazy_load()

文档的懒加载器。

aload()

将数据加载到Document对象中。

lazy_load()

一个用于文档的懒加载器。

load()

加载文档。

load_and_split([text_splitter])

加载文档并将其分割成块。

__init__(bucket: str, key: str, client: Any = None, endpoint: str = '', config: dict | None = None) None[来源]#

使用指定的设置初始化OBSFileLoader。

Parameters:
  • bucket (str) – 要使用的OBS存储桶的名称。

  • key (str) – OBS 存储桶中对象的名称。

  • client (ObsClient, optional) – 用于连接到OBS的ObsClient实例。

  • endpoint (str, optional) – 您的OBS存储桶的终端URL。如果未提供client,则此参数为必填项。

  • config (dict, optional) – 用于连接到OBS的参数,以字典形式提供。如果提供了client,则忽略此参数。字典可能包含以下键: - “ak” (str, optional): 您的OBS访问密钥(如果get_token_from_ecs为False且存储桶策略不是公共读取,则必需)。 - “sk” (str, optional): 您的OBS秘密密钥(如果get_token_from_ecs为False且存储桶策略不是公共读取,则必需)。 - “token” (str, optional): 您的安全令牌(如果使用临时凭证,则必需)。 - “get_token_from_ecs” (bool, optional): 是否从ECS检索安全令牌。如果未提供,则默认为False。如果设置为True,则忽略aksktoken

Raises:
  • ValueError – 如果未安装 esdk-obs-python 包。

  • TypeError – 如果提供的 client 不是 ObsClient 的实例。

  • ValueError – 如果未提供client,但缺少endpoint

Return type:

注意

在使用此类之前,请确保您已注册OBS并拥有必要的凭证。除非get_token_from_ecs为True或存储桶策略为公共读取,否则akskendpoint值是必需的。使用临时凭证时,token是必需的。

示例

要创建一个带有新客户端的OBSFileLoader: ``` config = {

“ak”: “your-access-key”, “sk”: “your-secret-key”

} obs_loader = OBSFileLoader(“your-bucket-name”, “your-object-key”, config=config) ```

要使用现有客户端创建新的OBSFileLoader: ``` from obs import ObsClient

# 假设你有一个现有的ObsClient对象‘obs_client’ obs_loader = OBSFileLoader(“your-bucket-name”, “your-object-key”, client=obs_client) ```

创建一个没有现有客户端的新OBSFileLoader: ` obs_loader = OBSFileLoader("your-bucket-name", "your-object-key", endpoint="your-endpoint-url") `

async alazy_load() AsyncIterator[Document]#

文档的懒加载器。

Return type:

AsyncIterator[Document]

async aload() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

lazy_load() Iterator[Document]#

文档的懒加载器。

Return type:

迭代器[文档]

load() List[Document][source]#

加载文档。

Return type:

列表[文档]

load_and_split(text_splitter: TextSplitter | None = None) list[Document]#

加载文档并将其分割成块。块以文档形式返回。

不要重写此方法。它应该被视为已弃用!

Parameters:

text_splitter (可选[TextSplitter]) – 用于分割文档的TextSplitter实例。 默认为RecursiveCharacterTextSplitter。

Returns:

文档列表。

Return type:

列表[Document]

使用 OBSFileLoader 的示例