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,则忽略ak、sk和token。
- Raises:
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") `
方法
__init__
(bucket, key[, client, endpoint, config])使用指定的设置初始化OBSFileLoader。
文档的懒加载器。
aload
()将数据加载到Document对象中。
一个用于文档的懒加载器。
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,则忽略ak、sk和token。
- Raises:
ValueError – 如果未安装 esdk-obs-python 包。
TypeError – 如果提供的 client 不是 ObsClient 的实例。
ValueError – 如果未提供client,但缺少endpoint。
- Return type:
无
注意
在使用此类之前,请确保您已注册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") `
- load_and_split(text_splitter: TextSplitter | None = None) list[Document] #
加载文档并将其分割成块。块以文档形式返回。
不要重写此方法。它应该被视为已弃用!
- Parameters:
text_splitter (可选[TextSplitter]) – 用于分割文档的TextSplitter实例。 默认为RecursiveCharacterTextSplitter。
- Returns:
文档列表。
- Return type:
列表[Document]
使用 OBSFileLoader 的示例