camel.extractors 包#

子模块#

camel.extractors.base 模块#

class camel.extractors.base.BaseExtractor(pipeline: List[List[BaseExtractorStrategy]], cache_templates: bool = True, max_cache_size: int = 1000, extraction_timeout: float = 30.0, batch_size: int = 10, monitoring_interval: float = 5.0, cpu_threshold: float = 80.0, memory_threshold: float = 85.0, **kwargs)[来源]#

基类:object

带有固定策略管道的响应提取器基类。

该提取器: - 采用固定的多阶段管道提取策略。 - 在每个阶段内按顺序尝试每种策略直到成功。 - 将前一阶段的输出作为下一阶段的输入进行处理。 - 支持异步执行以提高处理效率。 - 提供批量处理和资源监控选项。

async cleanup() None[来源]#

清理提取器资源。

该方法负责清理资源并重置提取器状态。 它确保: 1. 所有资源都被正确释放 2. 模板缓存被清除 3. 并行处理资源被关闭 4. 状态被重置为初始状态 5. 即使发生错误也会执行清理

Raises:

RuntimeError - 如果清理失败(在重置初始化状态后)。

async extract(response: str) str | None[来源]#

使用固定的多阶段策略流水线提取LLM响应中标准化、可比较的部分。

Parameters:

response (str) – 原始响应文本。

Returns:

如果成功则提取数据,否则返回None。

Return type:

可选[str]

Raises:
  • ValueError - 如果响应为空或无效。

  • RuntimeError - 如果提取器未初始化。

async setup() None[来源]#

设置提取器所需的必要资源。

该方法: 1. 如果启用则初始化模板缓存 2. 设置任何并行处理资源 3. 验证提取模式

Raises:

RuntimeError – 如果初始化失败

class camel.extractors.base.BaseExtractorStrategy[来源]#

基类: ABC

用于提取策略的抽象基类。

abstract async extract(text: str) str | None[来源]#

异步从文本中提取相关部分。

Parameters:

text (str) – 需要处理的输入文本。

Returns:

如果成功则提取字符串,否则返回None。

Return type:

可选[str]

模块内容#

class camel.extractors.BaseExtractor(pipeline: List[List[BaseExtractorStrategy]], cache_templates: bool = True, max_cache_size: int = 1000, extraction_timeout: float = 30.0, batch_size: int = 10, monitoring_interval: float = 5.0, cpu_threshold: float = 80.0, memory_threshold: float = 85.0, **kwargs)[来源]#

基类:object

带有固定策略管道的响应提取器基类。

该提取器: - 采用固定的多阶段管道提取策略 - 在每阶段中按顺序尝试各个策略直至成功 - 将前一阶段的输出作为下一阶段的输入进行处理 - 支持异步执行以提高处理效率 - 提供批量处理和资源监控选项

async cleanup() None[来源]#

清理提取器资源。

该方法负责清理资源并重置提取器状态。 它确保: 1. 所有资源都被正确释放 2. 模板缓存被清除 3. 并行处理资源被关闭 4. 状态被重置为初始状态 5. 即使发生错误也会执行清理

Raises:

RuntimeError - 如果清理失败(在重置初始化状态后)。

async extract(response: str) str | None[来源]#

使用固定的多阶段策略流水线提取LLM响应中标准化、可比较的部分。

Parameters:

response (str) – 原始响应文本。

Returns:

如果成功则提取数据,否则返回None。

Return type:

可选[str]

Raises:
  • ValueError - 如果响应为空或无效。

  • RuntimeError - 如果提取器未初始化。

async setup() None[来源]#

设置提取器所需的必要资源。

该方法: 1. 如果启用则初始化模板缓存 2. 设置任何并行处理资源 3. 验证提取模式

Raises:

RuntimeError – 如果初始化失败

class camel.extractors.BaseExtractorStrategy[来源]#

基类: ABC

用于提取策略的抽象基类。

abstract async extract(text: str) str | None[来源]#

异步从文本中提取相关部分。

Parameters:

text (str) – 需要处理的输入文本。

Returns:

如果成功则提取字符串,否则返回None。

Return type:

可选[str]

class camel.extractors.BoxedStrategy[来源]#

基类:BaseExtractorStrategy

从\boxed{}和boxed{}环境中提取内容。

async extract(text: str) str | None[来源]#

从 \boxed{} 和 boxed{} 环境中提取内容。

Parameters:

text (str) – 需要处理的输入文本。

Returns:

如果找到\boxed{}或boxed{}中的内容,否则

无。

Return type:

可选[str]

class camel.extractors.PythonDictStrategy[来源]#

基类:BaseExtractorStrategy

提取并规范化Python字典。

async extract(text: str) str | None[来源]#

提取并规范化一个Python字典。

Parameters:

text (str) – 需要处理的输入文本。

Returns:

规范化字典作为字符串返回,否则返回None。

Return type:

可选[str]

class camel.extractors.PythonListStrategy[来源]#

基类:BaseExtractorStrategy

提取并规范化Python列表。

async extract(text: str) str | None[来源]#

提取并规范化一个Python列表。

Parameters:

text (str) – 需要处理的输入文本。

Returns:

如果找到则返回规范化列表的字符串形式,否则返回 None。

Return type:

可选[str]

class camel.extractors.PythonSetStrategy[来源]#

基类:BaseExtractorStrategy

提取并规范化Python集合。

async extract(text: str) str | None[来源]#

提取并规范化一个Python集合。

Parameters:

text (str) – 需要处理的输入文本。

Returns:

如果找到则返回规范化集合的字符串形式,否则返回None。

Return type:

可选[str]

class camel.extractors.PythonTupleStrategy[来源]#

基类:BaseExtractorStrategy

提取并规范化Python元组。

async extract(text: str) str | None[来源]#

提取并规范化一个Python元组。

Parameters:

text (str) – 需要处理的输入文本。

Returns:

如果找到则返回规范化元组的字符串形式,否则返回None。

Return type:

可选[str]