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登录或个人访问令牌身份验证。
指定要加载的页面的列表page_ids和/或space_key到相应的Document对象中,如果两者都指定,则将返回两个集合的并集。
您还可以指定一个布尔值`include_attachments`来包括附件,默认设置为False,如果设置为True,则会下载所有附件,并且ConfluenceReader将从附件中提取文本并将其添加到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()
- Parameters
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检索到的Space key,默认为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]) –
- Raises
ValueError – 验证输入时出错
ImportError – 未安装所需的依赖项。
Methods
__init__
(url[, api_key, username, session, ...])一个用于文档的惰性加载器。
aload
()将数据加载到文档对象中。
is_public_page
(page)检查页面是否可以公开访问。
一个用于文档的惰性加载器。
load
(**kwargs)将数据加载到文档对象中。
load_and_split
([text_splitter])加载文档并分割成块。块作为文档返回。
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参数的正确组合
- __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]¶
- Parameters
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 (Optional[int]) –
confluence_kwargs (Optional[dict]) –
space_key (Optional[str]) –
page_ids (Optional[List[str]]) –
label (Optional[str]) –
cql (Optional[str]) –
include_restricted_content (bool) –
include_archived_content (bool) –
include_attachments (bool) –
include_comments (bool) –
content_format (ContentFormat) –
limit (Optional[int]) –
max_pages (Optional[int]) –
ocr_languages (Optional[str]) –
keep_markdown_format (bool) –
keep_newlines (bool) –
- load(**kwargs: Any) List[Document] [source]¶
将数据加载到文档对象中。
- Parameters
kwargs (Any) –
- Return type
List[Document]
- load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document] ¶
加载文档并分割成块。块作为文档返回。
不要覆盖此方法。应该被视为已弃用!
- 参数:
- text_splitter: 用于分割文档的TextSplitter实例。
默认为RecursiveCharacterTextSplitter。
- 返回:
文档列表。
- Parameters
text_splitter (Optional[TextSplitter]) –
- Return type
List[Document]
- paginate_request(retrieval_method: Callable, **kwargs: Any) List [source]¶
对各种检索页面的方法进行分页。
不幸的是,由于页面大小的限制,有时Confluence API的限制值不匹配。如果`limit`大于100,Confluence似乎会将响应限制为100。此外,由于Atlassian Python包的原因,我们无法从“_links”键中获取“next”值,因为它们只从结果键返回值。因此,在这里,分页从0开始,直到max_pages,每次请求获取`limit`数量的页面。我们必须手动检查返回的页面列表的长度是否有更多文档,而不仅仅是检查响应中是否存在`next`键,就像这个页面所建议的那样: https://developer.atlassian.com/server/confluence/pagination-in-the-rest-api/
- Parameters
retrieval_method (callable) – 用于检索文档的函数
kwargs (Any) –
- Returns
文档列表
- Return type
List
- process_attachment(page_id: str, ocr_languages: Optional[str] = None) List[str] [source]¶
- Parameters
page_id (str) –
ocr_languages (Optional[str]) –
- Return type
List[str]
- process_image(link: str, ocr_languages: Optional[str] = None) str [source]¶
- Parameters
link (str) –
ocr_languages (Optional[str]) –
- Return type
str
- 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]¶
- Parameters
page (dict) –
include_attachments (bool) –
include_comments (bool) –
content_format (ContentFormat) –
ocr_languages (Optional[str]) –
keep_markdown_format (Optional[bool]) –
keep_newlines (bool) –
- Return type
- 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]¶
将页面列表处理成文档列表。
- Parameters
pages (List[dict]) –
include_restricted_content (bool) –
include_attachments (bool) –
include_comments (bool) –
content_format (ContentFormat) –
ocr_languages (Optional[str]) –
keep_markdown_format (Optional[bool]) –
keep_newlines (bool) –
- Return type
Iterator[Document]
- process_pdf(link: str, ocr_languages: Optional[str] = None) str [source]¶
- Parameters
link (str) –
ocr_languages (Optional[str]) –
- Return type
str
- process_svg(link: str, ocr_languages: Optional[str] = None) str [source]¶
- Parameters
link (str) –
ocr_languages (Optional[str]) –
- Return type
str
- static 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]¶
验证init参数的正确组合
- Parameters
url (Optional[str]) –
api_key (Optional[str]) –
username (Optional[str]) –
session (Optional[Session]) –
oauth2 (Optional[dict]) –
token (Optional[str]) –
- Return type
Optional[List]