langchain_community.document_loaders.obs_file.OBSFileLoader

class langchain_community.document_loaders.obs_file.OBSFileLoader(bucket: str, key: str, client: Any = None, endpoint: str = '', config: Optional[dict] = None)[source]

从`华为OBS文件`加载。

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

参数:

bucket(str):要使用的OBS存储桶的名称。 key(str):OBS存储桶中对象的名称。 client(ObsClient,可选):ObsClient的一个实例,用于连接到OBS。 endpoint(str,可选):OBS存储桶的端点URL。如果未提供`client`,则此参数是必需的。 config(dict,可选):用字典形式提供连接到OBS的参数。如果提供了`client`,则此参数将被忽略。字典可以包含以下键:

  • “ak”(str,可选):您的OBS访问密钥(如果`get_token_from_ecs`为False且存储桶策略不是公共读取,则为必需)。

  • “sk”(str,可选):您的OBS秘密密钥(如果`get_token_from_ecs`为False且存储桶策略不是公共读取,则为必需)。

  • “token”(str,可选):您的安全令牌(如果使用临时凭证,则为必需)。

  • “get_token_from_ecs”(bool,可选):是否从ECS检索安全令牌。如果未提供,则默认为False。如果设置为True,则将忽略`ak`,sk`和`token

引发:

ValueError:如果未安装`esdk-obs-python`包。 TypeError:如果提供的`client`不是ObsClient的实例。 ValueError:如果未提供`client`,但缺少`endpoint`。

注意:

在使用此类之前,请确保已在OBS注册并具有必要的凭据。除非`get_token_from_ecs`为True或存储桶策略为公共读取,否则`ak`,`sk`和`endpoint`值是必需的。在使用临时凭证时,`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") `

Methods

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

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

alazy_load()

一个用于文档的惰性加载器。

aload()

将数据加载到文档对象中。

lazy_load()

一个用于文档的惰性加载器。

load()

加载文档。

load_and_split([text_splitter])

加载文档并分割成块。块作为文档返回。

Parameters
  • bucket (str) –

  • key (str) –

  • client (Any) –

  • endpoint (str) –

  • config (Optional[dict]) –

Return type

None

__init__(bucket: str, key: str, client: Any = None, endpoint: str = '', config: Optional[dict] = None) None[source]

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

参数:

bucket(str):要使用的OBS存储桶的名称。 key(str):OBS存储桶中对象的名称。 client(ObsClient,可选):ObsClient的一个实例,用于连接到OBS。 endpoint(str,可选):OBS存储桶的端点URL。如果未提供`client`,则此参数是必需的。 config(dict,可选):用字典形式提供连接到OBS的参数。如果提供了`client`,则此参数将被忽略。字典可以包含以下键:

  • “ak”(str,可选):您的OBS访问密钥(如果`get_token_from_ecs`为False且存储桶策略不是公共读取,则为必需)。

  • “sk”(str,可选):您的OBS秘密密钥(如果`get_token_from_ecs`为False且存储桶策略不是公共读取,则为必需)。

  • “token”(str,可选):您的安全令牌(如果使用临时凭证,则为必需)。

  • “get_token_from_ecs”(bool,可选):是否从ECS检索安全令牌。如果未提供,则默认为False。如果设置为True,则将忽略`ak`,sk`和`token

引发:

ValueError:如果未安装`esdk-obs-python`包。 TypeError:如果提供的`client`不是ObsClient的实例。 ValueError:如果未提供`client`,但缺少`endpoint`。

注意:

在使用此类之前,请确保已在OBS注册并具有必要的凭据。除非`get_token_from_ecs`为True或存储桶策略为公共读取,否则`ak`,`sk`和`endpoint`值是必需的。在使用临时凭证时,`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") `

Parameters
  • bucket (str) –

  • key (str) –

  • client (Any) –

  • endpoint (str) –

  • config (Optional[dict]) –

Return type

None

async alazy_load() AsyncIterator[Document]

一个用于文档的惰性加载器。

Return type

AsyncIterator[Document]

async aload() List[Document]

将数据加载到文档对象中。

Return type

List[Document]

lazy_load() Iterator[Document]

一个用于文档的惰性加载器。

Return type

Iterator[Document]

load() List[Document][source]

加载文档。

Return type

List[Document]

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

加载文档并分割成块。块作为文档返回。

不要覆盖此方法。应该被视为已弃用!

参数:
text_splitter: 用于分割文档的TextSplitter实例。

默认为RecursiveCharacterTextSplitter。

返回:

文档列表。

Parameters

text_splitter (Optional[TextSplitter]) –

Return type

List[Document]

Examples using OBSFileLoader