langchain_community.document_loaders.confluence
.ConfluenceLoader¶
- class langchain_community.document_loaders.confluence.ConfluenceLoader(url: str, api_key: Optional[str] = None, username: Optional[str] = None, session: Optional[Session] = None, oauth2: Optional[dict] = None, token: Optional[str] = None, cloud: Optional[bool] = True, number_of_retries: Optional[int] = 3, min_retry_seconds: Optional[int] = 2, max_retry_seconds: Optional[int] = 10, confluence_kwargs: Optional[dict] = None, *, space_key: Optional[str] = None, page_ids: Optional[List[str]] = None, label: Optional[str] = None, cql: Optional[str] = None, include_restricted_content: bool = False, include_archived_content: bool = False, include_attachments: bool = False, include_comments: bool = False, content_format: ContentFormat = ContentFormat.STORAGE, limit: Optional[int] = 50, max_pages: Optional[int] = 1000, ocr_languages: Optional[str] = None, keep_markdown_format: bool = False, keep_newlines: bool = False)[source]¶
加载数据库 Confluence 页面。
对 https://llamahub.ai/l/confluence 的移植。目前支持用户名/api_key、OAuth2登录或个人访问令牌认证。
指定要加载到Document对象中的页面列表page_ids和/或space_key,如果都指定了,则返回这两个集合并集。
您还可以指定一个布尔值include_attachments来包含附件,默认设置为False,如果设置为True,则所有附件都将被下载,ConfluenceLoader将从附件中提取文本并将其添加到Document对象中。当前支持的附件类型有:PDF、PNG、JPEG/JPG、SVG、Word和Excel。
Confluence API支持不同的页面内容格式。存储格式是用于存储的原始XML表示形式。视图格式是用于查看的HTML表示形式,其中宏被渲染成用户查看的样子。您可以通过传递枚举参数content_format来指定内容格式,默认设置为ContentFormat.STORAGE,支持的值有:ContentFormat.EDITOR、ContentFormat.EXPORT_VIEW、ContentFormat.ANONYMOUS_EXPORT_VIEW、ContentFormat.STORAGE和ContentFormat.VIEW。
提示:space_key和page_id都可以在Confluence页面的URL中找到 - https://yoursite.atlassian.com/wiki/spaces/<space_key>/pages/<page_id>
示例
from langchain_community.document_loaders import ConfluenceLoader loader = ConfluenceLoader( url="https://yoursite.atlassian.com/wiki", username="me", api_key="12345", space_key="SPACE", limit=50, ) documents = loader.load() # Server on perm loader = ConfluenceLoader( url="https://confluence.yoursite.com/", username="me", api_key="your_password", cloud=False, space_key="SPACE", limit=50, ) documents = loader.load()
- 参数
url (str) – _描述_
api_key (str, optional) – _描述_,默认为None
username (str, optional) – _描述_,默认为None
oauth2 (dict, optional) – _描述_,默认为{}
token (str, optional) – _描述_,默认为None
cloud (bool, optional) – _描述_,默认为True
number_of_retries (Optional[int], optional) – 重试次数,默认为3
min_retry_seconds (Optional[int], optional) – 默认为2
max_retry_seconds (Optional[int], optional) – 默认为10
confluence_kwargs (dict, optional) – 用于初始化confluence的额外kwargs
space_key (Optional[str], optional) – 从confluence URL中检索到的空间密钥,默认为None
page_ids (Optional[List[str]], optional) – 要加载的具体页面ID列表,默认为None
label (Optional[str], optional) – 获取具有此标签的所有页面,默认为None
cql (Optional[str], optional) – CQL表达式,默认为None
include_restricted_content (bool, optional) – 默认为False
include_archived_content (bool, optional) – 是否包括存档内容,默认为False
include_attachments (bool, optional) – 默认为False
include_comments (bool, optional) – 默认为False
content_format (ContentFormat) – 指定内容格式,默认为ContentFormat.STORAGE,支持的值有:ContentFormat.EDITOR、ContentFormat.EXPORT_VIEW、ContentFormat.ANONYMOUS_EXPORT_VIEW、ContentFormat.STORAGE和ContentFormat.VIEW。
limit (int, optional) – 每次请求要检索的页面最大数,默认为50
max_pages (int, optional) – 总共要检索的页面最大数,默认1000
ocr_languages (str, optional) – Tesseract代理使用的语言。要使用语言,您首先需要安装适当的Tesseract语言包。
keep_markdown_format (bool) – 是否保留Markdown格式,默认为False
keep_newlines (bool) – 是否保留换行格式,默认为False
session (Optional[Session]) –
- 抛出异常
ValueError – 输入验证过程中的错误
ImportError – 必要的依赖未安装。
方法
__init__
(url[, api_key, username, session, ...])Documents的懒加载器。
aload
()将数据加载到Document对象中。
is_public_page
(page)检查页面是否公开可访问。
Documents的懒加载器。
load
(**kwargs)将数据加载到Document对象中。
load_and_split
([text_splitter])加载Documents并将其拆分为块。
paginate_request
(retrieval_method, **kwargs)分页检索页面组的各种方法。
process_attachment
(page_id[, ocr_languages])process_doc
(link)process_image
(link[, ocr_languages])process_page
(page, include_attachments, ...)process_pages
(pages, ...[, ocr_languages, ...])将一组页面处理为文档列表。
process_pdf
(link[, ocr_languages])process_svg
(link[, ocr_languages])process_xls
(link)validate_init_args
([url, api_key, username, ...])验证初始化参数的正确组合
- __init__(url: str, api_key: Optional[str] = None, username: Optional[str] = None, session: Optional[Session] = None, oauth2: Optional[dict] = None, token: Optional[str] = None, cloud: Optional[bool] = True, number_of_retries: Optional[int] = 3, min_retry_seconds: Optional[int] = 2, max_retry_seconds: Optional[int] = 10, confluence_kwargs: Optional[dict] = None, *, space_key: Optional[str] = None, page_ids: Optional[List[str]] = None, label: Optional[str] = None, cql: Optional[str] = None, include_restricted_content: bool = False, include_archived_content: bool = False, include_attachments: bool = False, include_comments: bool = False, content_format: ContentFormat = ContentFormat.STORAGE, limit: Optional[int] = 50, max_pages: Optional[int] = 1000, ocr_languages: Optional[str] = None, keep_markdown_format: bool = False, keep_newlines: bool = False)[source]¶
- 参数
url (str) –
api_key (Optional[str]) –
username (Optional[str]) –
session (Optional[Session]) –
oauth2 (Optional[dict]) –
token (Optional[str]) –
cloud (Optional[bool]) –
number_of_retries (Optional[int]) –
min_retry_seconds (Optional[int]) –
max_retry_seconds (可选[整数]) –
confluence_kwargs (可选[字典]) –
space_key (可选[字符串]) –
page_ids (可选[字符串列表]]) –
label (可选[字符串]) –
cql (可选[字符串]) –
include_restricted_content (布尔值) –
include_archived_content (布尔值) –
include_attachments (布尔值) –
include_comments (布尔值) –
content_format (ContentFormat) –
limit (可选[整数]) –
max_pages (可选[整数]) –
ocr_languages (可选[字符串]) –
keep_markdown_format (布尔值) –
keep_newlines (布尔值) –
- load(**kwargs: Any) List[Document] [source]¶
将数据加载到Document对象中。
- 参数
kwargs (Any) –
- 返回类型
List[Document]
- load_and_split(text_splitter: Optional[TextSplitter]) List[Document] ¶
加载数据并与相应的部分分割。分割后的片段作为文档返回。
不要重写此方法。此方法有可能被弃用!
- 参数
text_splitter (Optional[TextSplitter]) – 用于文档分割的 TextSplitter 实例。默认使用 RecursiveCharacterTextSplitter。
- 返回
文档列表。
- 返回类型
Document 列表
- paginate_request(retrieval_method: Callable, **kwargs: Any) List [source]¶
分页检索页面组的各种方法。
遗憾的是,由于页面大小的限制,有时 Confluence API 的结果显示不完全符合 limit 值的限制。如果 limit >100,Confluence 将限制返回结果为100。此外,由于 Atlassian Python 包的问题,我们从 "_links" 键中没有获取到 "next" 值,因为它们只从结果键中返回值。因此,在这里,分页从0开始,到 max_pages,每次请求获取limit数量的页面。我们必须手动根据返回的页面列表长度检查是否有更多文档,而不是像本页所述那样只检查响应中是否存在 "next" 键:https://developer.atlassian.com/server/confluence/pagination-in-the-rest-api/
- 参数
retrieval_method (callable) – 用于获取文档的函数
kwargs (Any) –
- 返回
文档列表
- 返回类型
列表
- process_attachment(page_id: str, ocr_languages: Optional[str] = None) List[str] [source]¶
- 参数
page_id (str) –
ocr_languages (可选[字符串]) –
- 返回类型
字符串列表
- process_image(link: str, ocr_languages: Optional[str] = None) str [source]¶
- 参数
link (str) –
ocr_languages (可选[字符串]) –
- 返回类型
字符串
- process_page(page: dict, include_attachments: bool, include_comments: bool, content_format: ContentFormat, ocr_languages: Optional[str] = None, keep_markdown_format: Optional[bool] = False, keep_newlines: bool = False) Document [source]¶
- 参数
page (dict) –
include_attachments (布尔值) –
include_comments (布尔值) –
content_format (ContentFormat) –
ocr_languages (可选[字符串]) –
保留Markdown格式 (可选[布尔值]) –
keep_newlines (布尔值) –
- 返回类型
- process_pages(pages: List[dict], include_restricted_content: bool, include_attachments: bool, include_comments: bool, content_format: ContentFormat, ocr_languages: Optional[str] = None, keep_markdown_format: Optional[bool] = False, keep_newlines: bool = False) Iterator[Document] [source]¶
将一组页面处理为文档列表。
- 参数
pages (列表[字典]) –
include_restricted_content (布尔值) –
include_attachments (布尔值) –
include_comments (布尔值) –
content_format (ContentFormat) –
ocr_languages (可选[字符串]) –
保留Markdown格式 (可选[布尔值]) –
keep_newlines (布尔值) –
- 返回类型
Iterator[Document]
- process_pdf(link: str, ocr_languages: Optional[str] = None) str [source]¶
- 参数
link (str) –
ocr_languages (可选[字符串]) –
- 返回类型
字符串
- process_svg(link: str, ocr_languages: Optional[str] = None) str [source]¶
- 参数
link (str) –
ocr_languages (可选[字符串]) –
- 返回类型
字符串
- 静态 validate_init_args(url: Optional[str] = None, api_key: Optional[str] = None, username: Optional[str] = None, session: Optional[Session] = None, oauth2: Optional[dict] = None, token: Optional[str] = None) Optional[List] [source]¶
验证初始化参数的正确组合
- 参数
url (可选[str]) –
api_key (Optional[str]) –
username (Optional[str]) –
session (Optional[Session]) –
oauth2 (Optional[dict]) –
token (Optional[str]) –
- 返回类型
可选[List]