Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-rag/src/lexigram/ai/rag/chunking/base.py: 100%
7 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 07:19 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 07:19 +0800
1"""Base classes for document chunking."""
3from __future__ import annotations
5from abc import ABC, abstractmethod
6from typing import Any
8from lexigram.ai.rag.chunking.types import Chunk
11class AbstractChunker(ABC):
12 """Base class for document chunkers."""
14 @abstractmethod
15 def chunk(self, text: str, metadata: dict[str, Any] | None = None) -> list[Chunk]:
16 """Split text into chunks.
18 Args:
19 text: Text to chunk
20 metadata: Optional metadata to attach to chunks
22 Returns:
23 List of chunks
24 """