camel.loaders 包#
子模块#
camel.loaders.base_io 模块#
- class camel.loaders.base_io.DocxFile(name: str, file_id: str, metadata: Dict[str, Any] | None = None, docs: List[Dict[str, Any]] | None = None, raw_bytes: bytes = b'')[来源]#
基础类:
File
- class camel.loaders.base_io.File(name: str, file_id: str, metadata: Dict[str, Any] | None = None, docs: List[Dict[str, Any]] | None = None, raw_bytes: bytes = b'')[来源]#
基类:
ABC表示由多个文档组成的已上传文件。
- Parameters:
name (str) – 文件名。
file_id (str) - 文件的唯一标识符。
metadata (Dict[str, Any], optional) – 与文件关联的额外元数据。默认为None。
docs (List[Dict[str, Any]], optional) – 文件中包含的文档列表。默认为None。
raw_bytes (bytes, optional) – 文件的原始字节内容。 默认为 b""。
- class camel.loaders.base_io.HtmlFile(name: str, file_id: str, metadata: Dict[str, Any] | None = None, docs: List[Dict[str, Any]] | None = None, raw_bytes: bytes = b'')[来源]#
基础类:
File
- class camel.loaders.base_io.JsonFile(name: str, file_id: str, metadata: Dict[str, Any] | None = None, docs: List[Dict[str, Any]] | None = None, raw_bytes: bytes = b'')[来源]#
基础类:
File
- class camel.loaders.base_io.PdfFile(name: str, file_id: str, metadata: Dict[str, Any] | None = None, docs: List[Dict[str, Any]] | None = None, raw_bytes: bytes = b'')[来源]#
基础类:
File
- class camel.loaders.base_io.TxtFile(name: str, file_id: str, metadata: Dict[str, Any] | None = None, docs: List[Dict[str, Any]] | None = None, raw_bytes: bytes = b'')[来源]#
基础类:
File
- camel.loaders.base_io.create_file(file: BytesIO, filename: str) 文件[来源]#
读取上传的文件并返回一个File对象。
- Parameters:
file (BytesIO) – 表示文件内容的BytesIO对象。
filename (str) – 文件名。
- Returns:
一个文件对象。
- Return type:
camel.loaders.firecrawl_reader 模块#
- class camel.loaders.firecrawl_reader.Firecrawl(api_key: str | None = None, api_url: str | None = None)[来源]#
基类:
objectFirecrawl 能够将整个网站转换为适合LLM处理的markdown格式。
- Parameters:
api_key (可选[str]) - 用于Firecrawl API身份验证的API密钥。
api_url (可选[str]) - Firecrawl API的基础URL。
参考文献
https://docs.firecrawl.dev/introduction
- check_crawl_job(job_id: str) Dict[来源]#
检查爬取作业的状态。
- Parameters:
job_id (str) – 爬取任务的ID。
- Returns:
包含爬取任务状态的响应。
- Return type:
字典
- Raises:
RuntimeError - 如果检查过程失败。
- crawl(url: str, params: Dict[str, Any] | None = None, **kwargs: Any) Any[来源]#
爬取一个URL及其所有可访问的子页面。通过设置不同的参数来自定义爬取过程,并根据指定的选项接收完整响应或作业ID。
- Parameters:
url (str) - 要爬取的URL。
params (Optional[Dict[str, Any]]) – 爬取请求的额外参数。默认为 None。
**kwargs (Any) – 额外的关键字参数,例如 poll_interval, idempotency_key。
- Returns:
- 爬取任务ID或如果等待直到完成时的爬取结果
完成。
- Return type:
任何
- Raises:
RuntimeError – 如果爬取过程失败。
- map_site(url: str, params: Dict[str, Any] | None = None) list[来源]#
映射一个网站以检索所有可访问的URL。
- Parameters:
url (str) – 要映射的站点URL。
params (Optional[Dict[str, Any]]) - 用于地图请求的附加参数。默认为None。
- Returns:
包含在网站上找到的URL列表。
- Return type:
列表
- Raises:
RuntimeError - 如果映射过程失败。
- scrape(url: str, params: Dict[str, Any] | None = None) Dict[来源]#
用于抓取单个URL。该函数通过设置不同参数支持高级抓取功能,并以字典形式返回完整的抓取数据。
参考文档:https://docs.firecrawl.dev/advanced-scraping-guide
- Parameters:
url (str) – 要读取的URL。
params (Optional[Dict[str, Any]]) – 用于抓取请求的额外参数。
- Returns:
抓取的数据。
- Return type:
字典
- Raises:
RuntimeError – 如果抓取过程失败。
camel.loaders.jina_url_reader 模块#
- class camel.loaders.jina_url_reader.JinaURLReader(api_key: str | None = None, return_format: JinaReturnFormat = JinaReturnFormat.DEFAULT, json_response: bool = False, timeout: int = 30, **kwargs: Any)[来源]#
基类:
object由Jina AI提供的URL阅读器。与UnstructuredIO的URL阅读器相比,其输出更简洁且对LLM更友好。可以配置为在流水线中替换UnstructuredIO的URL阅读器。
- Parameters:
api_key (Optional[str], optional) – Jina AI的API密钥。如果未提供,读取器将会有较低的速率限制。默认为None。
return_format (ReturnFormat, optional) – 返回内容的详细程度,该参数针对LLMs进行了优化。目前不支持截图。默认为ReturnFormat.DEFAULT。
json_response (bool, optional) – 是否以JSON格式返回响应。默认为False。
timeout (int, optional) - 等待页面渲染的最大时间(以秒为单位)。默认为30秒。
**kwargs (Any) – 额外的关键字参数,包括代理、 cookies等。它应该与参考中列出的HTTP头字段和 值对保持一致。
参考文献
camel.loaders.unstructured_io 模块#
- class camel.loaders.unstructured_io.UnstructuredIO[来源]#
基类:
object一个用于处理Unstructured库提供的各种功能的类,包括版本检查、解析、清理、提取、暂存、数据分块,以及与S3和Azure等云服务集成以实现数据连接。
参考文献
- static chunk_elements(elements: List[Element], chunk_type: str, **kwargs) List[Element][来源]#
按标题分块元素。
- Parameters:
elements (List[Element]) - 需要分块的Element对象列表。
chunk_type (str) – 要应用的块类型。支持的类型: 'chunk_by_title'。
**kwargs - 用于分块的额外关键字参数。
- Returns:
分块部分的列表。
- Return type:
列表[字典]
参考文献
- static clean_text_data(text: str, clean_options: List[Tuple[str, Dict[str, Any]]] | None = None) str[来源]#
使用unstructured库提供的多种清理函数来清理文本数据。
该函数通过调用unstructured库的清理模块来应用多种文本清理工具,执行诸如替换Unicode引号、删除多余空格、破折号、非ASCII字符等操作。
如果没有提供清理选项,将应用一组默认的清理操作。这些默认操作包括"replace_unicode_quotes"、"clean_non_ascii_chars"、"group_broken_paragraphs"和"clean_extra_whitespace"。
- Parameters:
text (str) – 需要清理的文本。
clean_options (dict) - 一个指定应用哪些清洗选项的字典。键应匹配清洗函数的名称,值应包含每个函数参数的字典。支持的类型:'clean_extra_whitespace', 'clean_bullets', 'clean_ordered_bullets', 'clean_postfix', 'clean_prefix', 'clean_dashes', 'clean_trailing_punctuation', 'clean_non_ascii_chars', 'group_broken_paragraphs', 'remove_punctuation', 'replace_unicode_quotes', 'bytes_string_to_string', 'translate_text'。
- Returns:
清理后的文本。
- Return type:
字符串
- Raises:
AttributeError - 如果清理选项与unstructured中的有效清理函数不匹配。
注意事项
'options'字典的键必须对应于unstructured库中的有效清洗模块名称。 每个模块的参数必须作为键值以嵌套字典的形式提供。
参考文献
- static create_element_from_text(text: str, element_id: str | None = None, embeddings: List[float] | None = None, filename: str | None = None, file_directory: str | None = None, last_modified: str | None = None, filetype: str | None = None, parent_id: str | None = None) Element[来源]#
从给定的文本输入创建一个Text元素,可选择包含元数据和嵌入向量。
- Parameters:
text (str) - 元素的文本内容。
element_id (可选[str], 可选) – 元素的唯一标识符。(默认:
None)embeddings (List[float], optional) – 一个表示文本嵌入的浮点数列表。 (default:
None)filename (可选[str], 可选) – 与该元素关联的文件名。(默认:
None)file_directory (Optional[str], optional) – 文件所在的目录路径。(默认:
None)last_modified (Optional[str], optional) – 文件的最后修改日期。(默认:
None)filetype (可选[str], optional) – 文件类型。 (默认:
None)parent_id (可选[str], 可选) – 父元素的标识符。(默认:
None)
- Returns:
- 一个包含提供内容和
元数据的Text实例。
- Return type:
元素
- static extract_data_from_text(text: str, extract_type: Literal['extract_datetimetz', 'extract_email_address', 'extract_ip_address', 'extract_ip_address_name', 'extract_mapi_id', 'extract_ordered_bullets', 'extract_text_after', 'extract_text_before', 'extract_us_phone_number'], **kwargs) Any[来源]#
使用unstructured.cleaners.extract中的函数从文本中提取各种类型的数据。
- Parameters:
text (str) – 用于提取数据的文本。
(Literal['extract_datetimetz' (extract_type) – 'extract_email_address', 'extract_ip_address', 'extract_ip_address_name', 'extract_mapi_id', 'extract_ordered_bullets', 'extract_text_after', 'extract_text_before', 'extract_us_phone_number']): 要提取的数据类型。
- :param‘extract_email_address’, ‘extract_ip_address’,
‘extract_ip_address_name’, ‘extract_mapi_id’, ‘extract_ordered_bullets’, ‘extract_text_after’, ‘extract_text_before’, ‘extract_us_phone_number’]): 要提取的数据类型。
- Parameters:
**kwargs – 用于特定提取函数的额外关键字参数。
- Returns:
提取的数据类型取决于extract_type。
- Return type:
任何
参考文献
- static parse_bytes(file: IO[bytes], **kwargs: Any) List[Element] | None[来源]#
解析字节流并将其内容转换为元素。
- Parameters:
file (IO[bytes]) – 要解析的字节格式文件。
**kwargs – 传递给分区函数的额外参数。
- Returns:
- 解析文件后的元素列表
如果成功,否则为None。
- Return type:
Union[List[Element], None]
注意事项
- Supported file types:
“csv”, “doc”, “docx”, “epub”, “图片”, “md”, “msg”, “odt”, “org”, “pdf”, “ppt”, “pptx”, “rtf”, “rst”, “tsv”, “xlsx”.
参考文献
https://docs.unstructured.io/open-source/core-functionality/partitioning
- static parse_file_or_url(input_path: str, **kwargs: Any) List[Element] | None[来源]#
加载文件或URL并将其内容解析为元素。
- Parameters:
input_path (str) - 要解析的文件路径或URL。
**kwargs – 传递给分区函数的额外参数。
- Returns:
- 解析文件后的元素列表
如果成功则为URL。
- Return type:
联合[列表[元素],无]
- Raises:
FileNotFoundError - 如果指定路径下不存在该文件。
注意事项
- Supported file types:
“csv”, “doc”, “docx”, “epub”, “image”, “md”, “msg”, “odt”, “org”, “pdf”, “ppt”, “pptx”, “rtf”, “rst”, “tsv”, “xlsx”.
参考文献
- static stage_elements(elements: List[Any], stage_type: Literal['convert_to_csv', 'convert_to_dataframe', 'convert_to_dict', 'dict_to_elements', 'stage_csv_for_prodigy', 'stage_for_prodigy', 'stage_for_baseplate', 'stage_for_datasaur', 'stage_for_label_box', 'stage_for_label_studio', 'stage_for_weaviate'], **kwargs) str | List[Dict] | Any[来源]#
根据指定的暂存类型,为不同平台暂存元素。
该函数应用多种数据暂存工具来格式化数据,以适应不同的NLP标注和机器学习工具。它使用'unstructured.staging'模块中的函数执行操作,如转换为CSV、DataFrame、字典,或为特定平台(如Prodigy等)格式化数据。
- Parameters:
elements (List[Any]) – 需要暂存的元素对象列表。
(Literal['convert_to_csv' (stage_type) – 'convert_to_dict', 'dict_to_elements', 'stage_csv_for_prodigy', 'stage_for_prodigy', 'stage_for_baseplate', 'stage_for_datasaur', 'stage_for_label_box', 'stage_for_label_studio', 'stage_for_weaviate']): 要执行的暂存类型。
'convert_to_dataframe' – ‘convert_to_dict’, ‘dict_to_elements’, ‘stage_csv_for_prodigy’, ‘stage_for_prodigy’, ‘stage_for_baseplate’, ‘stage_for_datasaur’, ‘stage_for_label_box’, ‘stage_for_label_studio’, ‘stage_for_weaviate’]): 要执行的暂存类型。
- :param‘convert_to_dict’, ‘dict_to_elements’,
‘stage_csv_for_prodigy’, ‘stage_for_prodigy’, ‘stage_for_baseplate’, ‘stage_for_datasaur’, ‘stage_for_label_box’, ‘stage_for_label_studio’, ‘stage_for_weaviate’]): 要执行的暂存类型。
- Parameters:
**kwargs – 特定于该暂存类型的额外关键字参数。
- Returns:
- 暂存区中的数据
格式适合指定的暂存类型。
- Return type:
Union[str, List[Dict], Any]
- Raises:
ValueError - 如果暂存类型不受支持或缺少必需的参数。
参考文献
模块内容#
- class camel.loaders.Apify(api_key: str | None = None)[来源]#
基类:
objectApify是一个可以自动化任何网络工作流程的平台。
- Parameters:
api_key (可选[str]) – 用于Apify API身份验证的API密钥。
- get_dataset(dataset_id: str) dict | None[来源]#
从Apify平台获取数据集。
- Parameters:
dataset_id (str) – 要获取的数据集的ID。
- Returns:
数据集。
- Return type:
字典
- Raises:
RuntimeError - 如果数据集获取失败。
- get_dataset_client(dataset_id: str) DatasetClient[来源]#
从Apify平台获取数据集客户端。
- Parameters:
dataset_id (str) – 要获取客户端的数据集ID。
- Returns:
数据集客户端。
- Return type:
DatasetClient
- Raises:
RuntimeError - 如果无法获取数据集客户端。
- get_dataset_items(dataset_id: str) List[来源]#
从Apify平台的数据集中获取项目。
- Parameters:
dataset_id (str) – 要从中获取数据项的dataset ID。
- Returns:
数据集中的项目。
- Return type:
列表
- Raises:
RuntimeError - 如果项目检索失败。
- get_datasets(unnamed: bool | None = None, limit: int | None = None, offset: int | None = None, desc: bool | None = None) List[dict][来源]#
从Apify平台获取所有命名数据集。
- Parameters:
unnamed (bool, optional) – 是否在列表中包含未命名的键值存储
limit (int, optional) – 要检索多少个键值存储
offset (int, optional) - 在检索列表时,将哪个键值存储作为第一个包含
desc (bool, optional) – 是否根据修改日期对键值存储进行降序排序
- Returns:
数据集。
- Return type:
列表[字典]
- Raises:
RuntimeError - 如果数据集获取失败。
- run_actor(actor_id: str, run_input: dict | None = None, content_type: str | None = None, build: str | None = None, max_items: int | None = None, memory_mbytes: int | None = None, timeout_secs: int | None = None, webhooks: list | None = None, wait_secs: int | None = None) dict | None[来源]#
在Apify平台上运行一个actor。
- Parameters:
actor_id (str) - 要运行的actor的ID。
run_input (可选[dict]) – 执行者的输入数据。默认为None。
content_type (str, optional) – 输入的内容类型。
build (str, optional) - 指定要运行的Actor构建版本。可以是构建标签或构建编号。默认情况下,运行会使用Actor默认运行配置中指定的构建版本(通常是最新的)。
max_items (int, optional) - 本次运行将返回的最大结果数量。如果Actor按结果计费,您不会被收取超过给定限制的结果费用。
memory_mbytes (int, optional) – 运行的内存限制,单位为兆字节。默认情况下,运行使用Actor的默认运行配置中指定的内存限制。
timeout_secs (int, optional) - 运行的可选超时时间,单位为秒。默认情况下,运行使用Actor默认运行配置中指定的超时时间。
webhooks (list, optional) – 可选的webhooks (https://docs.apify.com/webhooks) 与Actor运行相关联,可用于接收通知,例如当Actor完成或失败时。如果您已经为Actor设置了webhook,则无需在此处再次添加。
wait_secs (int, optional) - 服务器等待完成的最大秒数。如果未提供,则无限期等待。
- Returns:
如果成功,来自actor的输出数据。 # 请使用 'defaultDatasetId' 获取数据集
- Return type:
可选[字典]
- Raises:
RuntimeError – 如果actor运行失败。
- class camel.loaders.ChunkrReader(api_key: str | None = None, url: str | None = 'https://api.chunkr.ai/api/v1/task', timeout: int = 30, **kwargs: Any)[来源]#
基类:
objectChunkr Reader 用于处理文档并以多种格式返回内容。
- Parameters:
api_key (Optional[str], optional) – Chunkr API的API密钥。如果未提供,将从环境变量CHUNKR_API_KEY中获取。(默认值:
None)url (可选[str], optional) – Chunkr服务的URL地址。 (默认值:
https://api.chunkr.ai/api/v1/task)timeout (int, optional) – 等待API响应的最长时间,单位为秒。(默认值:
30)**kwargs (Any) – 用于请求头的额外关键字参数。
- get_task_output(task_id: str, max_retries: int = 5) str[来源]#
轮询Chunkr API以检查任务状态并返回任务结果。
- Parameters:
task_id (str) – 用于检查状态的task ID。
max_retries (int, optional) – 最大重试次数。 (默认:
5)
- Returns:
格式化后的任务结果以JSON格式呈现。
- Return type:
字符串
- Raises:
ValueError - 如果无法获取任务状态。
RuntimeError – 如果达到最大重试次数仍未成功完成任务。
- submit_task(file_path: str, model: str = 'Fast', ocr_strategy: str = 'Auto', target_chunk_length: str = '512') str[来源]#
将文件提交到Chunkr API并返回任务ID。
- Parameters:
file_path (str) - 要上传的文件路径。
model (str, optional) – 用于任务的模型。 (默认:
Fast)ocr_strategy (str, optional) – OCR策略。默认为'Auto'。
target_chunk_length (str, optional) – 目标块长度。 (默认值:
512)
- Returns:
任务ID。
- Return type:
字符串
- class camel.loaders.Crawl4AI[来源]#
基类:
object用于将网站转换为LLM就绪数据的类。
该类使用带有CSS选择器或基于LLM的异步爬取技术,将整个网站转换为结构化数据。
参考文献
- async crawl(start_url: str, max_depth: int = 1, extraction_strategy=None, **kwargs) List[Dict[str, Any]][来源]#
使用广度优先搜索爬取一个URL及其子页面。
- Parameters:
start_url (str) - 开始爬取的URL。
max_depth (int, optional) – 要跟踪链接的最大深度 (默认值:
1)extraction_strategy (ExtractionStrategy, optional) – 数据提取策略。(默认:
None)**kwargs - 用于爬虫配置的附加参数。
- Returns:
已爬取页面结果列表。
- Return type:
List[Dict[str, Any]]
- Raises:
RuntimeError – 如果在爬取过程中发生错误。
- async map_site(start_url: str, **kwargs) List[str][来源]#
通过提取所有可访问的URL来映射网站。
- Parameters:
start_url (str) - 要映射的起始URL。
**kwargs – 额外的配置参数。
- Returns:
在网站上发现的URL列表。
- Return type:
List[str]
- Raises:
运行时错误 – 如果映射失败。
- async scrape(url: str, extraction_strategy=None, **kwargs) Dict[str, Any][来源]#
使用CSS或基于LLM的提取方法抓取单个URL。
- Parameters:
url (str) – 要抓取的URL。
extraction_strategy (ExtractionStrategy, optional) – 要使用的提取策略。(默认:
None)**kwargs - 用于爬虫配置的附加参数。
- Returns:
- Dictionary containing scraped data such as markdown
and HTML content.
- Return type:
字典[字符串, 任意类型]
- Raises:
RuntimeError – 如果抓取失败。
- async structured_scrape(url: str, response_format: BaseModel, api_key: str | None = None, llm_provider: str = 'ollama/llama3', **kwargs) Any[来源]#
使用LLM从URL中提取结构化数据。
- Parameters:
url (str) – 要抓取的URL。
response_format (BaseModel) – 定义预期输出模式的模型。
api_key (str, optional) – 用于LLM提供商的API密钥 (默认:
None).llm_provider (str, optional) – LLM提供商的标识符 (默认:
'ollama/llama3').**kwargs - 用于爬虫配置的附加参数。
- Returns:
- 包含提取数据的爬取结果
按照模式结构化。
- Return type:
任何
- Raises:
ValidationError - 如果提取的数据与模式不匹配。
RuntimeError – 如果提取失败。
- class camel.loaders.File(name: str, file_id: str, metadata: Dict[str, Any] | None = None, docs: List[Dict[str, Any]] | None = None, raw_bytes: bytes = b'')[来源]#
基类:
ABC表示由多个文档组成的已上传文件。
- Parameters:
name (str) – 文件名。
file_id (str) - 文件的唯一标识符。
metadata (Dict[str, Any], optional) – 与文件关联的额外元数据。默认为None。
docs (List[Dict[str, Any]], optional) – 文件中包含的文档列表。默认为None。
raw_bytes (bytes, optional) – 文件的原始字节内容。 默认为 b""。
- class camel.loaders.Firecrawl(api_key: str | None = None, api_url: str | None = None)[来源]#
基类:
objectFirecrawl 能够将整个网站转换为适合LLM处理的markdown格式。
- Parameters:
api_key (可选[str]) - 用于Firecrawl API身份验证的API密钥。
api_url (可选[str]) - Firecrawl API的基础URL。
参考文献
https://docs.firecrawl.dev/introduction
- check_crawl_job(job_id: str) Dict[来源]#
检查爬取作业的状态。
- Parameters:
job_id (str) – 爬取任务的ID。
- Returns:
包含爬取任务状态的响应。
- Return type:
字典
- Raises:
RuntimeError - 如果检查过程失败。
- crawl(url: str, params: Dict[str, Any] | None = None, **kwargs: Any) Any[来源]#
爬取一个URL及其所有可访问的子页面。通过设置不同的参数来自定义爬取过程,并根据指定的选项接收完整响应或作业ID。
- Parameters:
url (str) - 要爬取的URL。
params (Optional[Dict[str, Any]]) – 爬取请求的额外参数。默认为 None。
**kwargs (Any) – 额外的关键字参数,例如 poll_interval, idempotency_key。
- Returns:
- 爬取任务ID或如果等待直到完成时的爬取结果
完成。
- Return type:
任何
- Raises:
RuntimeError – 如果爬取过程失败。
- map_site(url: str, params: Dict[str, Any] | None = None) list[来源]#
映射一个网站以检索所有可访问的URL。
- Parameters:
url (str) – 要映射的站点URL。
params (Optional[Dict[str, Any]]) - 用于地图请求的附加参数。默认为None。
- Returns:
包含在网站上找到的URL列表。
- Return type:
列表
- Raises:
RuntimeError - 如果映射过程失败。
- scrape(url: str, params: Dict[str, Any] | None = None) Dict[来源]#
用于抓取单个URL。该函数通过设置不同参数支持高级抓取功能,并以字典形式返回完整的抓取数据。
参考文档:https://docs.firecrawl.dev/advanced-scraping-guide
- Parameters:
url (str) – 要读取的URL。
params (Optional[Dict[str, Any]]) – 用于抓取请求的额外参数。
- Returns:
抓取的数据。
- Return type:
字典
- Raises:
RuntimeError – 如果抓取过程失败。
- class camel.loaders.JinaURLReader(api_key: str | None = None, return_format: JinaReturnFormat = JinaReturnFormat.DEFAULT, json_response: bool = False, timeout: int = 30, **kwargs: Any)[来源]#
基类:
object由Jina AI提供的URL阅读器。与UnstructuredIO的URL阅读器相比,其输出更简洁且对LLM更友好。可以配置为在流水线中替换UnstructuredIO的URL阅读器。
- Parameters:
api_key (Optional[str], optional) – Jina AI的API密钥。如果未提供,读取器将会有较低的速率限制。默认为None。
return_format (ReturnFormat, optional) – 返回内容的详细程度,该参数针对LLMs进行了优化。目前不支持截图。默认为ReturnFormat.DEFAULT。
json_response (bool, optional) – 是否以JSON格式返回响应。默认为False。
timeout (int, optional) - 等待页面渲染的最大时间(以秒为单位)。默认为30秒。
**kwargs (Any) – 额外的关键字参数,包括代理、 cookies等。它应该与参考中列出的HTTP头字段和 值对保持一致。
参考文献
- class camel.loaders.MinerU(api_key: str | None = None, api_url: str | None = 'https://mineru.net/api/v4', is_ocr: bool = False, enable_formula: bool = False, enable_table: bool = True, layout_model: str = 'doclayout_yolo', language: str = 'en')[来源]#
基类:
object- Document extraction service supporting OCR, formula recognition
和表格。
- Parameters:
api_key (str, optional) – MinerU API服务的认证密钥。 如果未提供,将使用MINERU_API_KEY环境变量。 (默认值:
None)api_url (str, optional) – MinerU API服务的基础URL端点。 (默认值:
"https://mineru.net/api/v4")
注意
单个文件大小限制:200MB
每个文件页数限制:600页
每日高优先级解析配额:2000页
某些URL(GitHub、AWS)可能会因网络限制而超时
- batch_extract_urls(files: List[Dict[str, str | bool]]) str[来源]#
从多个文档URL批量提取内容。
- Parameters:
files (List[Dict[str, Union[str, bool]]]) - 文档配置列表。每个文档需要'url'参数,并可选择性地包含'is_ocr'和'data_id'参数。
- Returns:
用于跟踪提取进度的批次标识符。
- Return type:
字符串
- extract_url(url: str) Dict[来源]#
从URL文档中提取内容。
- Parameters:
url (str) – 用于提取内容的文档URL。
- Returns:
用于跟踪提取进度的任务标识符。
- Return type:
字典
- get_batch_status(batch_id: str) Dict[来源]#
获取批量提取任务的状态。
- Parameters:
batch_id (str) – 批次提取任务的唯一标识符。
- Returns:
当前批次中所有文档的状态和结果。
- Return type:
字典
- get_task_status(task_id: str) Dict[来源]#
获取单个提取任务的状态。
- Parameters:
task_id (str) – 提取任务的唯一标识符。
- Returns:
当前任务状态及完成后的结果。
- Return type:
字典
- wait_for_completion(task_id: str, is_batch: bool = False, timeout: float = 100, check_interval: float = 5) Dict[来源]#
监控任务直到完成或超时。
- Parameters:
task_id (str) - 任务或批次的唯一标识符。
is_batch (bool, optional) – 表示任务是否为批量操作。 (默认:
False)timeout (float, optional) – 最大等待时间,单位为秒。 (默认值:
100)check_interval (float, optional) – 状态检查之间的时间间隔,单位为秒。(默认值:
5)
- Returns:
最终任务状态和提取结果。
- Return type:
字典
- Raises:
TimeoutError – 如果任务超过指定的超时时间。
RuntimeError - 如果任务失败或遇到处理错误。
- class camel.loaders.PandasReader(config: Dict[str, Any] | None = None)[来源]#
基类:
object- load(data: DataFrame | str, *args: Any, **kwargs: Dict[str, Any]) DataFrame | SmartDataframe[来源]#
加载文件或DataFrame并返回DataFrame或SmartDataframe对象。
如果在配置字典中配置了LLM,将返回一个SmartDataframe,否则将返回一个常规的pandas DataFrame。
- Parameters:
data (Union[DataFrame, str]) – 要加载的数据。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
- DataFrame 或 SmartDataframe
对象。
- Return type:
Union[DataFrame, SmartDataframe]
- read_clipboard(*args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取剪贴板内容并返回一个DataFrame。
- Parameters:
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_csv(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取CSV文件并返回一个DataFrame。
- Parameters:
file_path (str) - CSV文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame对象。
- Return type:
数据框
- read_excel(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取Excel文件并返回一个DataFrame。
- Parameters:
file_path (str) - Excel文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_feather(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取Feather文件并返回一个DataFrame。
- Parameters:
file_path (str) – Feather文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_hdf(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取HDF文件并返回一个DataFrame。
- Parameters:
file_path (str) - HDF文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_html(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
Reads an HTML file and returns a DataFrame.
- Parameters:
file_path (str) – The path to the HTML file.
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_json(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取JSON文件并返回一个DataFrame。
- Parameters:
file_path (str) – JSON文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_orc(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取ORC文件并返回一个DataFrame。
- Parameters:
file_path (str) - ORC文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_parquet(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取Parquet文件并返回一个DataFrame。
- Parameters:
file_path (str) – Parquet文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_pickle(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取一个Pickle文件并返回一个DataFrame。
- Parameters:
file_path (str) - Pickle文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_sas(file_path: str, *args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取SAS文件并返回一个DataFrame。
- Parameters:
file_path (str) - SAS文件的路径。
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- read_sql(*args: Any, **kwargs: Dict[str, Any]) DataFrame[来源]#
读取SQL文件并返回一个DataFrame。
- Parameters:
*args (任意类型) - 额外的位置参数。
**kwargs (Dict[str, Any]) - 额外的关键字参数。
- Returns:
DataFrame 对象。
- Return type:
数据框
- class camel.loaders.UnstructuredIO[来源]#
基类:
object一个用于处理Unstructured库提供的各种功能的类,包括版本检查、解析、清理、提取、暂存、数据分块,以及与S3和Azure等云服务集成以实现数据连接。
参考文献
- static chunk_elements(elements: List[Element], chunk_type: str, **kwargs) List[Element][来源]#
按标题分块元素。
- Parameters:
elements (List[Element]) - 需要分块的Element对象列表。
chunk_type (str) – 要应用的块类型。支持的类型: 'chunk_by_title'。
**kwargs - 用于分块的额外关键字参数。
- Returns:
分块部分的列表。
- Return type:
列表[字典]
参考文献
- static clean_text_data(text: str, clean_options: List[Tuple[str, Dict[str, Any]]] | None = None) str[来源]#
使用unstructured库提供的多种清理函数来清理文本数据。
该函数通过调用unstructured库的清理模块来应用多种文本清理工具,执行诸如替换Unicode引号、删除多余空格、破折号、非ASCII字符等操作。
如果没有提供清理选项,将应用一组默认的清理操作。这些默认操作包括"replace_unicode_quotes"、"clean_non_ascii_chars"、"group_broken_paragraphs"和"clean_extra_whitespace"。
- Parameters:
text (str) – 需要清理的文本。
clean_options (dict) - 一个指定应用哪些清洗选项的字典。键应匹配清洗函数的名称,值应包含每个函数参数的字典。支持的类型:'clean_extra_whitespace', 'clean_bullets', 'clean_ordered_bullets', 'clean_postfix', 'clean_prefix', 'clean_dashes', 'clean_trailing_punctuation', 'clean_non_ascii_chars', 'group_broken_paragraphs', 'remove_punctuation', 'replace_unicode_quotes', 'bytes_string_to_string', 'translate_text'。
- Returns:
清理后的文本。
- Return type:
字符串
- Raises:
AttributeError - 如果清理选项与unstructured中的有效清理函数不匹配。
注意事项
'options'字典的键必须对应于unstructured库中的有效清洗模块名称。 每个模块的参数必须作为键值以嵌套字典的形式提供。
参考文献
- static create_element_from_text(text: str, element_id: str | None = None, embeddings: List[float] | None = None, filename: str | None = None, file_directory: str | None = None, last_modified: str | None = None, filetype: str | None = None, parent_id: str | None = None) Element[来源]#
从给定的文本输入创建一个Text元素,可选择包含元数据和嵌入向量。
- Parameters:
text (str) - 元素的文本内容。
element_id (可选[str], 可选) – 元素的唯一标识符。(默认:
None)embeddings (List[float], optional) – 一个表示文本嵌入的浮点数列表。 (default:
None)filename (可选[str], 可选) – 与该元素关联的文件名。(默认:
None)file_directory (Optional[str], optional) – 文件所在的目录路径。(默认:
None)last_modified (Optional[str], optional) – 文件的最后修改日期。(默认:
None)filetype (可选[str], optional) – 文件类型。 (默认:
None)parent_id (可选[str], 可选) – 父元素的标识符。(默认:
None)
- Returns:
- 一个包含提供内容和
元数据的Text实例。
- Return type:
元素
- static extract_data_from_text(text: str, extract_type: Literal['extract_datetimetz', 'extract_email_address', 'extract_ip_address', 'extract_ip_address_name', 'extract_mapi_id', 'extract_ordered_bullets', 'extract_text_after', 'extract_text_before', 'extract_us_phone_number'], **kwargs) Any[来源]#
使用unstructured.cleaners.extract中的函数从文本中提取各种类型的数据。
- Parameters:
text (str) – 用于提取数据的文本。
(Literal['extract_datetimetz' (extract_type) – 'extract_email_address', 'extract_ip_address', 'extract_ip_address_name', 'extract_mapi_id', 'extract_ordered_bullets', 'extract_text_after', 'extract_text_before', 'extract_us_phone_number']): 要提取的数据类型。
- :param‘extract_email_address’, ‘extract_ip_address’,
‘extract_ip_address_name’, ‘extract_mapi_id’, ‘extract_ordered_bullets’, ‘extract_text_after’, ‘extract_text_before’, ‘extract_us_phone_number’]): 要提取的数据类型。
- Parameters:
**kwargs – 用于特定提取函数的额外关键字参数。
- Returns:
提取的数据类型取决于extract_type。
- Return type:
任何
参考文献
- static parse_bytes(file: IO[bytes], **kwargs: Any) List[Element] | None[来源]#
解析字节流并将其内容转换为元素。
- Parameters:
file (IO[bytes]) – 要解析的字节格式文件。
**kwargs – 传递给分区函数的额外参数。
- Returns:
- 解析文件后的元素列表
如果成功,否则为None。
- Return type:
Union[List[Element], None]
注意事项
- Supported file types:
“csv”, “doc”, “docx”, “epub”, “image”, “md”, “msg”, “odt”, “org”, “pdf”, “ppt”, “pptx”, “rtf”, “rst”, “tsv”, “xlsx”.
参考文献
https://docs.unstructured.io/open-source/core-functionality/partitioning
- static parse_file_or_url(input_path: str, **kwargs: Any) List[Element] | None[来源]#
加载文件或URL并将其内容解析为元素。
- Parameters:
input_path (str) - 要解析的文件路径或URL。
**kwargs – 传递给分区函数的额外参数。
- Returns:
- 解析文件后的元素列表
如果成功则为URL。
- Return type:
联合[列表[元素],无]
- Raises:
FileNotFoundError - 如果指定路径下不存在该文件。
注意事项
- Supported file types:
“csv”, “doc”, “docx”, “epub”, “image”, “md”, “msg”, “odt”, “org”, “pdf”, “ppt”, “pptx”, “rtf”, “rst”, “tsv”, “xlsx”.
参考文献
- static stage_elements(elements: List[Any], stage_type: Literal['convert_to_csv', 'convert_to_dataframe', 'convert_to_dict', 'dict_to_elements', 'stage_csv_for_prodigy', 'stage_for_prodigy', 'stage_for_baseplate', 'stage_for_datasaur', 'stage_for_label_box', 'stage_for_label_studio', 'stage_for_weaviate'], **kwargs) str | List[Dict] | Any[来源]#
根据指定的暂存类型,为不同平台暂存元素。
该函数应用多种数据暂存工具来格式化数据,以适应不同的NLP标注和机器学习工具。它使用'unstructured.staging'模块中的函数执行操作,如转换为CSV、DataFrame、字典,或为特定平台(如Prodigy等)格式化数据。
- Parameters:
elements (List[Any]) – 需要暂存的元素对象列表。
(Literal['convert_to_csv' (stage_type) – 'convert_to_dict', 'dict_to_elements', 'stage_csv_for_prodigy', 'stage_for_prodigy', 'stage_for_baseplate', 'stage_for_datasaur', 'stage_for_label_box', 'stage_for_label_studio', 'stage_for_weaviate']): 要执行的暂存类型。
'convert_to_dataframe' – ‘convert_to_dict’, ‘dict_to_elements’, ‘stage_csv_for_prodigy’, ‘stage_for_prodigy’, ‘stage_for_baseplate’, ‘stage_for_datasaur’, ‘stage_for_label_box’, ‘stage_for_label_studio’, ‘stage_for_weaviate’]): 要执行的暂存类型。
- :param‘convert_to_dict’, ‘dict_to_elements’,
‘stage_csv_for_prodigy’, ‘stage_for_prodigy’, ‘stage_for_baseplate’, ‘stage_for_datasaur’, ‘stage_for_label_box’, ‘stage_for_label_studio’, ‘stage_for_weaviate’]): 要执行的暂存类型。
- Parameters:
**kwargs – 特定于该暂存类型的额外关键字参数。
- Returns:
- 暂存区中的数据
格式适合指定的暂存类型。
- Return type:
Union[str, List[Dict], Any]
- Raises:
ValueError - 如果暂存类型不受支持或缺少必需的参数。
参考文献