❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. Chonkie 是一个轻量级、快速且功能丰富的 RAG 分块库。
  2. 支持基于 Token、单词、句子和语义的多种分块方法。
  3. 易于安装和使用,提供高效的分块处理能力。

正文(附运行示例)

Chonkie 是什么

在这里插入图片描述

Chonkie 是一个轻量级、快速且功能丰富的 RAG(Retrieval-Augmented Generation)分块库,专为文本处理设计。Chonkie 支持基于 Token、单词、句子和语义的多种分块方法,易于安装和使用,无冗余,适合各种自然语言处理任务。Chonkie 以其高效性能和广泛的 tokenizer 支持,成为开发者在构建 RAG 应用时的首选库。

Chonkie 的主要功能

  • 多种分块方法:支持基于 Token、单词、句子和语义相似性的文本分块。
  • 易于使用:安装、导入和运行分块过程简单快捷。
  • 高性能:提供快速的分块处理能力,优化了分块速度。
  • 广泛的支持:支持多种 tokenizer,易于集成到不同的 NLP 项目中。
  • 轻量级:没有不必要的依赖和冗余,保持库的轻量化。
  • 灵活性:根据需要选择安装特定的分块器或全部安装。

Chonkie 的技术原理

  • 分块(Chunking):分块是将长文本分割成更小的、易于管理和处理的块的过程。
  • Tokenization:Chonkie 用 tokenizer 将文本分割成 Token,这是 NLP 中常见的预处理步骤,有助于后续的分块操作。
  • 固定大小分块:例如,TokenChunker 将文本分割成固定数量 Token 的块,对保持模型输入的一致性非常有用。
  • 基于内容的分块
    • WordChunker:基于单词的分块,将文本分割成单词序列。
    • SentenceChunker:基于句子的分块,使用句子边界来分割文本。
    • SemanticChunker:基于语义相似性的分块,用句子嵌入和相似性度量确定分块的边界。
  • 双遍语义合并(SDPM)SDPMChunker 用双遍语义合并方法来分割文本,首先合并句子,然后根据合并后的句子的语义相似性进行分块。
  • 优化和效率:Chonkie 在设计时考虑性能和效率,减少不必要的计算和优化算法提高分块速度。

如何运行 Chonkie

安装

要安装 Chonkie,只需运行以下命令:

pip install chonkie

如果您需要安装所有分块器,可以使用以下命令(不推荐,除非您确实需要所有功能):

pip install chonkie[all]

使用示例

以下是一个基本的使用示例:

# 首先导入所需的分块器
from chonkie import TokenChunker

# 导入您喜欢的 tokenizer 库
# 也支持 AutoTokenizers, TikToken 和 AutoTikTokenizer
from tokenizers import Tokenizer
tokenizer = Tokenizer.from_pretrained("gpt2")

# 初始化分块器
chunker = TokenChunker(tokenizer)

# 对文本进行分块
chunks = chunker("哇!Chonkie,这个分块库真是太酷了!我喜欢这只小小的河马。")

# 访问分块结果
for chunk in chunks:
    print(f"分块: {chunk.text}")
    print(f"Token 数量: {chunk.token_count}")

资源

  1. 项目官网:https://pypi.org/project/chonkie/
  2. GitHub 仓库:https://github.com/bhavnicksm/chonkie
  3. 官方文档:https://github.com/bhavnicksm/chonkie/blob/main/DOCS.md
  4. 基准测试:https://github.com/bhavnicksm/chonkie/tree/main/benchmarks/README.md

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐