跳到主要内容
Open In ColabOpen on GitHub

Confluence

Confluence 是一个Wiki协作平台,旨在保存和组织所有项目相关材料。作为一个知识库,Confluence 主要用于内容管理活动。

此加载器允许您获取 Confluence 页面并将其处理为 Document 对象。


身份验证方法

支持以下身份验证方法

  • 用户名/API 密钥
  • OAuth2 登录
  • Cookie
  • 本地安装:token 身份验证

页面选择

您可以使用以下方式指定要加载的页面:

  • page_ids (列表)
    一个 page_id 值列表,用于加载相应的页面。

  • space_key (字符串)
    一个 space_key 字符串值,用于加载指定 Confluence 空间内的所有页面。

如果同时提供了 page_idsspace_key,加载器将返回两个列表的页面并集。

提示: space_keypage_id 都可以在 Confluence 页面的 URL 中找到
https://yoursite.atlassian.com/wiki/spaces/{space_key}/pages/{page_id}


附件

您可以通过将布尔参数 include_attachments 设置为 True(默认值:False)来在加载的 Document 对象中包含附件。启用后,所有附件都将被下载,其文本内容将被提取并添加到 Document 中。

当前支持的附件类型

  • PDF (.pdf)
  • PNG (.png)
  • JPEG/JPG (.jpeg, .jpg)
  • SVG (.svg)
  • Word (.doc, .docx)
  • Excel (.xls, .xlsx)

在使用 ConfluenceLoader 之前,请确保已安装最新版本的 atlassian-python-api 包

%pip install --upgrade --quiet  atlassian-python-api

示例

用户名和密码或用户名和 API 令牌(仅限 Atlassian Cloud)

此示例使用用户名和密码进行身份验证,或者,如果您连接到 Atlassian Cloud 托管的 Confluence 版本,则使用用户名和 API 令牌进行身份验证。您可以在以下网址生成 API 令牌:https://id.atlassian.com/manage-profile/security/api-tokens

limit 参数指定单次调用中检索的文档数量,而不是总共检索的文档数量。默认情况下,代码将以 50 个文档的批次返回最多 1000 个文档。要控制文档总数,请使用 max_pages 参数。请注意,atlassian-python-api 包中 limit 参数的最大值目前为 100。

from langchain_community.document_loaders import ConfluenceLoader

loader = ConfluenceLoader(
url="https://yoursite.atlassian.com/wiki",
username="<your-confluence-username>",
api_key="<your-api-token>",
space_key="<your-space-key>",
include_attachments=True,
limit=50,
)
documents = loader.load()
API 参考:ConfluenceLoader

个人访问令牌(仅限服务器/本地部署)

此方法仅适用于数据中心/服务器本地部署版本。有关如何生成个人访问令牌 (PAT) 的更多信息,请查看 Confluence 官方文档:https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html。使用 PAT 时,您只需提供令牌值,不能提供用户名。请注意,ConfluenceLoader 将在生成 PAT 的用户的权限下运行,并且只能加载该用户有权访问的文档。

from langchain_community.document_loaders import ConfluenceLoader

loader = ConfluenceLoader(
url="https://confluence.yoursite.com/",
token="<your-personal-access-token>",
space_key="<your-space-key>",
include_attachments=True,
limit=50,
max_pages=50,
)
documents = loader.load()
API 参考:ConfluenceLoader