0.4.0 版发布摘要(2024 年 12 月 1 日)

概述

0.4.0 版本对内容过滤、多线程环境处理、用户代理生成和测试覆盖率进行了重大改进。主要亮点包括引入了 PruningContentFilter,旨在自动识别并提取 HTML 文档中最有价值的部分,以及对 BM25ContentFilter 的增强,以扩展其多功能性和有效性。

主要功能和增强功能

1. PruningContentFilter

  • 引入了一种新的无监督内容过滤策略,该策略根据文本和链接密度等指标对 HTML 文档中不太相关的节点进行评分和修剪。
  • 专注于保留内容中最有价值的部分,从而能够从复杂的网页中高效提取相关信息。
  • 完整记录了更新的自述文件和扩展的用户指南。

2. 用户代理生成器

  • 添加了用户代理生成器实用程序,可解决兼容性问题并支持可定制的用户代理字符串。
  • 默认情况下,生成器会针对每个请求随机化用户代理,以增加多样性,但用户可以根据具体情况进行自定义。

3.增强线程安全性

  • 通过添加更好的线程锁来进行并行处理,改进了多线程环境的处理,确保了运行多线程时的一致性和稳定性。

4.扩展内容过滤策略

  • 用户现在可以访问用于无监督提取的 PruningContentFilter 和用于基于用户查询的监督过滤的 BM25ContentFilter。
  • 增强了 BM25ContentFilter,提高了处理页面标题、元标记和描述的能力,从而可以更有效地对文本块进行分类和聚类。

5.文档更新

  • 更新了示例和教程,以促进 PruningContentFilter 和 BM25ContentFilter 的使用,为每种用例选择合适的过滤器提供了清晰的说明。

6. 单元测试增强

  • 添加了 PruningContentFilter 的单元测试以确保准确性和可靠性。
  • 增强的 BM25ContentFilter 测试以涵盖额外的边缘情况和性能指标,特别是针对格式错误的 HTML 输入。

版本 0.4.0 的修订变更日志

PruningContentFilter(2024 年 12 月 1 日)

  • 引入了 PruningContentFilter,通过修剪不太相关的 HTML 节点来优化内容提取。
  • 受影响的文件:crawl4ai/content_filter_strategy.py:添加了基于评分的剪枝算法。README.md:已更新,包含 PruningContentFilter 的用法。docs/md_v2/basic/content_filtering.md:扩展了用户文档,详细介绍了 PruningContentFilter 的使用方法和优势。

PruningContentFilter 的单元测试(2024 年 12 月 1 日)

  • 为 PruningContentFilter 添加了全面的单元测试,以确保正确性和效率。
  • 受影响的文件:tests/async/test_content_filter_prune.py:创建涵盖不同修剪场景的测试以确保稳定性和正确性。

增强 BM25ContentFilter 测试(2024 年 12 月 1 日)

  • 扩展测试以涵盖额外的提取场景和性能指标,提高稳健性。
  • 受影响的文件:tests/async/test_content_filter_bm25.py:添加了针对边缘情况的测试,包括格式错误的 HTML 输入。

文档和示例更新(2024 年 12 月 1 日)

  • 修改示例来说明 PruningContentFilter 与现有内容过滤方法的使用。
  • 受影响的文件:docs/examples/quickstart_async.py:增强了示例的清晰度和新用户的可用性。

实验性功能

  • PruningContentFilter 仍处于实验开发阶段,我们将继续收集反馈以进行进一步改进。

结论

此版本显著增强了 Crawl4ai 的内容提取功能,引入了 PruningContentFilter、改进了 BM25ContentFilter 的监督过滤功能,并增强了强大的多线程处理能力。此外,用户代理生成器提供了急需的多功能性,解决了许多用户面临的兼容性问题。

鼓励用户尝试新的内容过滤方法,以确定哪种方法最适合他们的需求。


> Feedback