华为 OBS 文件
以下代码演示了如何将华为 OBS(对象存储服务)中的对象加载为文档。
# Install the required package
# pip install esdk-obs-python
from langchain_community.document_loaders.obs_file import OBSFileLoader
API 参考:OBSFileLoader
endpoint = "your-endpoint"
from obs import ObsClient
obs_client = ObsClient(
access_key_id="your-access-key",
secret_access_key="your-secret-key",
server=endpoint,
)
loader = OBSFileLoader("your-bucket-name", "your-object-key", client=obs_client)
loader.load()
每个 Loader 都有单独的身份验证信息
如果不需要在不同 loader 之间复用 OBS 连接,可以直接配置config.loader 将使用 config 信息来初始化自己的 OBS 客户端。
# Configure your access credentials\n
config = {"ak": "your-access-key", "sk": "your-secret-key"}
loader = OBSFileLoader(
"your-bucket-name", "your-object-key", endpoint=endpoint, config=config
)
loader.load()
从 ECS 获取鉴权信息
如果您的 langchain 部署在华为云 ECS 上,并且设置了 Agency,则 loader 可以直接从 ECS 获取安全令牌,而无需访问 Key 和 Secret Key。
config = {"get_token_from_ecs": True}
loader = OBSFileLoader(
"your-bucket-name", "your-object-key", endpoint=endpoint, config=config
)
loader.load()
访问可公开访问的对象
如果要访问的对象允许匿名用户访问(匿名用户具有GetObject权限),可以直接加载对象,而无需配置config参数。
loader = OBSFileLoader("your-bucket-name", "your-object-key", endpoint=endpoint)
loader.load()