Skip to main content
Glama

chunktuner

PyPI version Python versions License: MIT CI Docs

Автоматический настройщик разбиения на чанки и MCP-сервер для RAG-конвейеров.

Предоставьте ему свои документы. Он опробует несколько стратегий разбиения, оценит, какая из них позволяет ИИ отвечать на вопросы наиболее точно, и укажет победителя.

chunktuner project flow: documents through strategies, evaluation, to a recommended configuration


Что он делает

При создании RAG-конвейера то, как вы разбиваете документы на чанки, напрямую влияет на качество поиска. chunktuner автоматизирует процесс поиска оптимальной стратегии разбиения для вашего конкретного корпуса, модели эмбеддингов и варианта использования.

Он тестирует такие стратегии, как окна с фиксированным количеством токенов, рекурсивное разбиение по символам, семантическое разбиение, структурное разбиение PDF и разбиение кода на основе AST, а затем оценивает каждую из них по реальным метрикам поиска (отзыв токенов, MRR, NDCG) и дополнительным метрикам генерации (достоверность RAGAS, релевантность ответа).


Related MCP server: golden-dataset-mcp

Интерфейсы

  • Библиотека Python — программная интеграция в ваш конвейер

  • CLI (chunk-tune) — ручная настройка из терминала

  • MCP-сервер — использование напрямую из Claude Desktop или любого хоста MCP


Быстрый старт

# Install
uv tool install chunktuner

# Initialize workspace
chunk-tune init --provider openai

# See cost estimate before running anything
chunk-tune estimate ./my_docs --use-case rag_qa

# Get a recommendation
chunk-tune recommend ./my_docs --use-case rag_qa

Python API:

from pathlib import Path
from chunktuner import FileIngestor, LiteLLMEmbeddingFunction, AutoTuner
from chunktuner import default_registry, Evaluator, ScoreCalculator

docs = FileIngestor().ingest_dir(Path("./my_docs"))
embedding_fn = LiteLLMEmbeddingFunction("text-embedding-3-small")
tuner = AutoTuner(
    strategies=default_registry,
    evaluator=Evaluator(embedding_fn),
    scorer=ScoreCalculator(use_case="rag_qa"),
)
result = tuner.recommend(docs, use_case="rag_qa")
print(result.best.config)

Поддерживаемые стратегии

Стратегия

Лучше всего подходит для

fixed_tokens

Базовый уровень; равномерные окна токенов

recursive_character

Общая проза и документация

semantic

Статьи с выраженной тематикой

markdown_semantic

Структурированные Markdown-документы

pdf_structural

PDF-файлы с областями макета и таблицами

structural_semantic

PDF/DOCX со смешанным макетом и текстом

late_chunking

Длинные документы с плотными перекрестными ссылками

agentic

Важные повествовательные документы

code_ast

Репозитории кода (Python, JavaScript)

code_window

Базовый уровень для кода (скользящее окно)


MCP-сервер (Claude Desktop)

Python FastMCP (chunk-tune-mcp, stdio). Без сборки Node.js. См. docs/mcp_setup.md.

Добавьте в ваш .mcp.json:

{
  "mcpServers": {
    "chunktuner": {
      "command": "uvx",
      "args": ["--from", "chunktuner[mcp]", "chunk-tune-mcp"],
      "env": {
        "CHUNK_TUNER_BASE_DIR": "/path/to/your/corpus"
      }
    }
  }
}

Доступные инструменты: list_strategies, preview_chunks, evaluate_chunking, recommend_config.


Справочник CLI

chunk-tune init       Bootstrap workspace config
chunk-tune analyze    Quick structural scan (no API cost)
chunk-tune estimate   Dry-run cost/token estimate
chunk-tune evaluate   Full evaluation across strategies
chunk-tune recommend  Evaluation + best config recommendation
chunk-tune compare    Side-by-side comparison of specific strategies
chunk-tune preview    Inspect how a strategy splits a document
chunk-tune cache      Manage embedding and chunk cache

Варианты установки

uv add chunktuner                    # library
uv tool install chunktuner           # global CLI
uvx chunktuner                       # ephemeral, no install

# With optional extras
uv add "chunktuner[docling]"         # PDF/DOCX support
uv add "chunktuner[ragas]"           # generation metrics
uv add "chunktuner[semantic]"        # semantic chunking
uv add "chunktuner[code]"            # AST code chunking
uv add "chunktuner[all]"             # everything

Участие в разработке

См. CONTRIBUTING.md.


👨🏻💻 Автор

Шантану Дешмук

Full-stack разработчик с опытом создания E2E AI-приложений.

Linkedin / Twitter / AngelList

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes queryable GPU inference benchmark data (quantization, throughput, VRAM, concurrent users) as tools for LLM clients.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables version-controlled golden dataset management and semantic evaluation for RAG/LLM pipelines using TF-IDF cosine similarity, without requiring an LLM API key.
    9
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Evaluates RAG outputs on faithfulness, answer relevancy, and context precision using an LLM-as-a-Judge backend. Exposes tools for running evaluations, scoring individual samples, and checking thresholds, enabling CI gating and on-demand assessment via MCP.
    MIT

View all related MCP servers

Related MCP Connectors

  • Multi-LLM entity enrichment: schemas, single/batch enrichment, fusion, model benchmarks.

  • Bounded tools for rendering, extraction, RAG, enrichment, local discovery and review analysis.

  • Machine-readable utilities and datasets for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shantanu-deshmukh/chunktuner'

If you have feedback or need assistance with the MCP directory API, please join our Discord server