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。
一个用于文档的惰性加载器。
aload
()将数据加载到文档对象中。
一个用于文档的惰性加载器。
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
- load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document] ¶
加载文档并分割成块。块作为文档返回。
不要覆盖此方法。应该被视为已弃用!
- 参数:
- text_splitter: 用于分割文档的TextSplitter实例。
默认为RecursiveCharacterTextSplitter。
- 返回:
文档列表。
- Parameters
text_splitter (Optional[TextSplitter]) –
- Return type
List[Document]