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 的监督过滤功能,并增强了强大的多线程处理能力。此外,用户代理生成器提供了急需的多功能性,解决了许多用户面临的兼容性问题。
鼓励用户尝试新的内容过滤方法,以确定哪种方法最适合他们的需求。