Skip to main content
Open In ColabOpen on GitHub

Confluence

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

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


认证方法

支持以下认证方法:

  • username/api_key
  • OAuth2 login
  • cookies
  • 本地安装:token 认证

页面选择

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

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

  • space_key (string): 一个 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 Token(仅限 Atlassian Cloud)

此示例使用用户名和密码进行身份验证,或者,如果你连接到 Confluence 的 Atlassian Cloud 托管版本,则使用用户名和 API Token。 你可以在以下网址生成 API Token: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 Reference: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 Reference:ConfluenceLoader