From b6113bf8abdd086691edb6835ceb1a6b60180448 Mon Sep 17 00:00:00 2001 From: Yiorgis Gozadinos Date: Wed, 15 Apr 2026 12:39:41 +0300 Subject: [PATCH] replace fixed-radius expansion with section-bounded algorithm Context expansion is now automatic and structure-aware. For structured documents, expands within the section containing the match. For sections that exceed the budget or are too small, expands item-by-item outward skipping noise labels. Unstructured documents use budget-based outward expansion. Results sorted by relevance score. --- CHANGELOG.md | 7 + app/README.md | 1 - app/haiku.rag.yaml.example | 1 - docs/apps.md | 4 +- docs/configuration/index.md | 3 +- docs/configuration/qa-research.md | 8 +- docs/configuration/storage.md | 2 +- docs/python.md | 16 +- docs/tuning.md | 2 +- evaluations/evaluations/benchmark.py | 1 - evaluations/tests/test_benchmark.py | 1 - haiku_rag_slim/haiku/rag/client.py | 374 +----------------- haiku_rag_slim/haiku/rag/config/models.py | 3 +- haiku_rag_slim/haiku/rag/context.py | 249 ++++++++++++ .../haiku/rag/store/models/document.py | 42 +- .../haiku/rag/store/repositories/document.py | 7 - haiku_rag_slim/pyproject.toml | 1 - ...ontext_keeps_separate_non_overlapping.yaml | 62 --- ...and_context_merges_overlapping_chunks.yaml | 58 --- ...est_expand_context_multiple_documents.yaml | 94 ----- .../test_expand_context_radius_zero.yaml | 42 -- ..._text_expansion_includes_surrounding.yaml} | 0 tests/test_context.py | 238 +++++++++++ tests/test_context_enhancement.py | 238 ++--------- tests/test_document.py | 87 ---- uv.lock | 2 - 26 files changed, 575 insertions(+), 968 deletions(-) create mode 100644 haiku_rag_slim/haiku/rag/context.py delete mode 100644 tests/cassettes/test_context_enhancement/test_expand_context_keeps_separate_non_overlapping.yaml delete mode 100644 tests/cassettes/test_context_enhancement/test_expand_context_merges_overlapping_chunks.yaml delete mode 100644 tests/cassettes/test_context_enhancement/test_expand_context_multiple_documents.yaml delete mode 100644 tests/cassettes/test_context_enhancement/test_expand_context_radius_zero.yaml rename tests/cassettes/test_context_enhancement/{test_text_expansion_uses_radius.yaml => test_text_expansion_includes_surrounding.yaml} (100%) create mode 100644 tests/test_context.py diff --git a/CHANGELOG.md b/CHANGELOG.md index dae483a4..537be5ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,19 @@ ### Added - **Document items table**: Pre-extracted document items stored as individual rows with scalar indexes, enabling context expansion via indexed range queries (~2.5ms) instead of full DoclingDocument deserialization (~8.7s for large documents) +- **Section-bounded context expansion**: Expansion is now automatic and structure-aware — stays within section boundaries for structured documents, grows outward for unstructured ones. Noise labels (footnotes, page headers/footers) are filtered. Results without `doc_item_refs` pass through unexpanded. ### Changed - **Database migration required**: Run `haiku-rag migrate` to populate `document_items` table for existing documents - **Pin docling-core**: Upper bound added (`<2.72`) to prevent uncontrolled schema changes +### Removed + +- **`context_radius` config**: Replaced by automatic section-bounded expansion. Context expansion no longer requires configuration. +- **DoclingDocument LRU cache**: No longer needed — the document_items table replaces in-memory caching for context expansion +- **`cachetools` dependency**: No longer used + ## [0.39.0] - 2026-04-09 ### Added diff --git a/app/README.md b/app/README.md index efbf30fe..0744588c 100644 --- a/app/README.md +++ b/app/README.md @@ -61,7 +61,6 @@ embeddings: search: limit: 10 - context_radius: 1 ``` See `haiku.rag.yaml.example` for all options. diff --git a/app/haiku.rag.yaml.example b/app/haiku.rag.yaml.example index a60ea0d0..40b508b3 100644 --- a/app/haiku.rag.yaml.example +++ b/app/haiku.rag.yaml.example @@ -33,7 +33,6 @@ embeddings: # Search settings search: limit: 5 - context_radius: 0 # Provider settings providers: diff --git a/docs/apps.md b/docs/apps.md index 2f0ac690..570c78bb 100644 --- a/docs/apps.md +++ b/docs/apps.md @@ -182,8 +182,8 @@ Search uses hybrid (vector + full-text) search across all chunks. Press `c` while viewing a chunk to see the expanded context that would be provided to the QA agent: -- Type-aware expansion: tables, code blocks, and lists expand to their complete structures -- Text content expands based on `search.context_radius` setting +- Section-aware expansion: expands to fill the current document section +- Noise filtering: footnotes, page headers/footers excluded from structured documents - Includes metadata like source document, content type, and relevance score ### Visual Grounding diff --git a/docs/configuration/index.md b/docs/configuration/index.md index bdece61d..4b046224 100644 --- a/docs/configuration/index.md +++ b/docs/configuration/index.md @@ -99,9 +99,8 @@ research: search: limit: 10 # Default number of results to return - context_radius: 0 # DocItems before/after to include for text content max_context_items: 10 # Maximum items in expanded context - max_context_chars: 10000 # Maximum characters in expanded context + max_context_chars: 5000 # Maximum characters in expanded context vector_index_metric: cosine # cosine, l2, or dot vector_refine_factor: 30 diff --git a/docs/configuration/qa-research.md b/docs/configuration/qa-research.md index 5e522082..7812fc0f 100644 --- a/docs/configuration/qa-research.md +++ b/docs/configuration/qa-research.md @@ -7,17 +7,15 @@ Configure search behavior and context expansion: ```yaml search: limit: 10 # Default number of results to return - context_radius: 0 # DocItems before/after to include for text content max_context_items: 10 # Maximum items in expanded context - max_context_chars: 10000 # Maximum characters in expanded context + max_context_chars: 5000 # Maximum characters in expanded context ``` - **limit**: Default number of search results to return when no limit is specified. Used by CLI, MCP server, QA, and research workflows. Default: 10 -- **context_radius**: For text content (paragraphs), includes N DocItems before and after. Set to 0 to disable expansion (default). - **max_context_items**: Limits how many document items (paragraphs, list items, etc.) can be included in expanded context. Default: 10. -- **max_context_chars**: Hard limit on total characters in expanded content. Default: 10000. +- **max_context_chars**: Hard limit on total characters in expanded content. Default: 5000. -Structural content (tables, code blocks, lists) uses type-aware expansion that automatically includes the complete structure regardless of how it was chunked. +Context expansion is automatic and section-aware. For structured documents (with section headers), expansion includes the entire section containing the match. For sections that exceed the budget or are too small (e.g., a title+authors area), expansion grows outward item-by-item from the match center, skipping noise labels (footnotes, page headers) — this naturally crosses into adjacent sections until the budget is filled. For unstructured documents, expansion grows outward item-by-item. Results without `doc_item_refs` (e.g., custom chunks passed to `import_document`) pass through unexpanded. !!! note "Reranking behavior" When a reranker is configured, search automatically retrieves 10x the requested limit, then reranks to return the final count. This improves result quality without requiring you to adjust `limit`. diff --git a/docs/configuration/storage.md b/docs/configuration/storage.md index 7b954766..b57227b5 100644 --- a/docs/configuration/storage.md +++ b/docs/configuration/storage.md @@ -112,7 +112,7 @@ search: vector_refine_factor: 30 # Re-ranking factor for accuracy ``` -For search behavior settings (`limit`, `context_radius`, `max_context_items`, `max_context_chars`), see [QA and Research](qa-research.md#search-settings). +For search behavior settings (`limit`, `max_context_items`, `max_context_chars`), see [QA and Research](qa-research.md#search-settings). - **vector_index_metric**: Distance metric for vector similarity: - `cosine`: Cosine similarity (default, best for most embeddings) diff --git a/docs/python.md b/docs/python.md index 43d98740..ae296694 100644 --- a/docs/python.md +++ b/docs/python.md @@ -359,29 +359,27 @@ results = await client.search( ### Expanding Search Context -Expand search results with adjacent chunks for more complete context: +Expand search results with surrounding content from the document: ```python # Get initial search results search_results = await client.search("machine learning", limit=3) -# Expand search results with adjacent content from the source document +# Expand with section-bounded context expanded_results = await client.expand_context(search_results) -# The expanded results contain chunks with combined content for result in expanded_results: print(f"Expanded content: {result.content}") ``` -Context expansion uses your configuration settings: +Context expansion is automatic and section-aware. For structured documents (with section headers), expansion includes the entire section containing the match. For sections that exceed the budget or are too small (e.g., a title+authors area), expansion grows outward item-by-item from the match center, skipping noise labels (footnotes, page headers) — this naturally crosses into adjacent sections until the budget is filled. For unstructured documents, expansion grows outward item-by-item. Results without `doc_item_refs` (e.g., custom chunks passed to `import_document`) pass through unexpanded. -- **search.context_radius**: For text content (paragraphs), includes N DocItems before and after -- **search.max_context_items**: Limits how many document items can be included -- **search.max_context_chars**: Hard limit on total characters +Configuration: -**Type-aware expansion**: Structural content (tables, code blocks, lists) automatically expands to include the complete structure, regardless of how it was split during chunking. +- **search.max_context_items**: Maximum items in expanded context. Default: 10. +- **search.max_context_chars**: Maximum characters in expanded context. Default: 5000. -**Smart Merging**: When expanded chunks overlap or are adjacent within the same document, they are automatically merged into single chunks with continuous content. This eliminates duplication and provides coherent text blocks. The merged chunk uses the highest relevance score from the original chunks. +**Smart Merging**: When expanded results overlap within the same document, they are automatically merged into a single result with continuous content and the highest relevance score. ## Question Answering diff --git a/docs/tuning.md b/docs/tuning.md index efcd0c7f..d1a8d40f 100644 --- a/docs/tuning.md +++ b/docs/tuning.md @@ -26,7 +26,7 @@ When configured, a cross-encoder reranker re-scores 10x the requested candidates `limit` controls how many results reach the LLM. More candidates improve recall but increase token usage. See [Search Settings](configuration/qa-research.md#search-settings). -`context_radius` expands text chunks with neighboring document items. Structural content (tables, code blocks, lists) expands automatically to include the complete structure. This setting matters most with small `chunk_size` values, where individual chunks may lack sufficient context. `max_context_items` and `max_context_chars` cap expansion to prevent context bloat. +Context expansion is automatic and section-aware — search results are expanded to include surrounding content from the same document section. For structured documents, expansion stays within section boundaries and filters noise (footnotes, page headers). For unstructured documents, expansion grows outward until the character budget is filled. `max_context_items` and `max_context_chars` cap expansion to prevent context bloat. ## Tuning Generation diff --git a/evaluations/evaluations/benchmark.py b/evaluations/evaluations/benchmark.py index 1d664b18..baffa30a 100644 --- a/evaluations/evaluations/benchmark.py +++ b/evaluations/evaluations/benchmark.py @@ -49,7 +49,6 @@ def build_experiment_metadata( "embedder_dim": config.embeddings.model.vector_dim, "chunk_size": config.processing.chunk_size, "search_limit": config.search.limit, - "context_radius": config.search.context_radius, "max_context_items": config.search.max_context_items, "max_context_chars": config.search.max_context_chars, "rerank_provider": config.reranking.model.provider diff --git a/evaluations/tests/test_benchmark.py b/evaluations/tests/test_benchmark.py index c27d0fde..a13ba514 100644 --- a/evaluations/tests/test_benchmark.py +++ b/evaluations/tests/test_benchmark.py @@ -31,7 +31,6 @@ class TestBuildExperimentMetadata: assert result["embedder_dim"] == config.embeddings.model.vector_dim assert result["chunk_size"] == config.processing.chunk_size assert result["search_limit"] == config.search.limit - assert result["context_radius"] == config.search.context_radius assert result["qa_provider"] == config.qa.model.provider assert result["qa_model"] == config.qa.model.name assert "judge_provider" not in result diff --git a/haiku_rag_slim/haiku/rag/client.py b/haiku_rag_slim/haiku/rag/client.py index 20a471f0..d06a7856 100644 --- a/haiku_rag_slim/haiku/rag/client.py +++ b/haiku_rag_slim/haiku/rag/client.py @@ -1090,24 +1090,23 @@ class HaikuRAG: self, search_results: list[SearchResult], ) -> list[SearchResult]: - """Expand search results with adjacent content from the source document. + """Expand search results with surrounding content from the document. - When DoclingDocument is available and results have doc_item_refs, expands - by finding adjacent DocItems with accurate bounding boxes and metadata. - Otherwise, falls back to chunk-based expansion using adjacent chunks. + Uses the document_items table for section-bounded expansion. + See haiku.rag.context for the algorithm description. - Expansion is type-aware based on content: - - Tables, code blocks, and lists expand to include complete structures - - Text content uses the configured radius (search.context_radius) - - Expansion is limited by search.max_context_items and search.max_context_chars + Results without doc_item_refs pass through unexpanded. This happens + when chunks were created without docling metadata (e.g., custom chunks + passed to import_document). Args: search_results: List of SearchResult objects from search. Returns: - List of SearchResult objects with expanded content and resolved provenance. + List of SearchResult objects with expanded content. """ - radius = self._config.search.context_radius + from haiku.rag.context import expand_with_items + max_items = self._config.search.max_context_items max_chars = self._config.search.max_context_chars @@ -1127,347 +1126,22 @@ class HaikuRAG: continue has_refs = any(r.doc_item_refs for r in doc_results) - docling_doc = None + if not has_refs: + expanded_results.extend(doc_results) + continue - if has_refs: - # Only load docling data when refs exist (skips content blob) - doc = await self.document_repository.get_docling_data(doc_id) - if doc is not None: - docling_doc = doc.get_docling_document() - - if docling_doc is not None and has_refs: - # Use DoclingDocument-based expansion - expanded = await self._expand_with_docling( - doc_results, - docling_doc, - radius, - max_items, - max_chars, - ) - expanded_results.extend(expanded) - else: - # Fall back to chunk-based expansion (always uses fixed radius) - if radius > 0: - expanded = await self._expand_with_chunks( - doc_id, doc_results, radius - ) - expanded_results.extend(expanded) - else: - expanded_results.extend(doc_results) + expanded = await expand_with_items( + self.document_item_repository, + doc_id, + doc_results, + max_items, + max_chars, + ) + expanded_results.extend(expanded) + expanded_results.sort(key=lambda r: r.score, reverse=True) return expanded_results - def _merge_ranges( - self, ranges: list[tuple[int, int, SearchResult]] - ) -> list[tuple[int, int, list[SearchResult]]]: - """Merge overlapping or adjacent ranges.""" - if not ranges: - return [] - - sorted_ranges = sorted(ranges, key=lambda x: x[0]) - merged: list[tuple[int, int, list[SearchResult]]] = [] - cur_min, cur_max, cur_results = ( - sorted_ranges[0][0], - sorted_ranges[0][1], - [sorted_ranges[0][2]], - ) - - for min_idx, max_idx, result in sorted_ranges[1:]: - if cur_max >= min_idx - 1: # Overlapping or adjacent - cur_max = max(cur_max, max_idx) - cur_results.append(result) - else: - merged.append((cur_min, cur_max, cur_results)) - cur_min, cur_max, cur_results = min_idx, max_idx, [result] - - merged.append((cur_min, cur_max, cur_results)) - return merged - - # Label groups for type-aware expansion - _STRUCTURAL_LABELS = { - "table", - "code", - "list_item", - "form", - "key_value_region", - "field_region", - } - - def _extract_item_text(self, item, docling_doc) -> str | None: - """Extract text content from a DocItem. - - Handles different item types: - - TextItem, SectionHeaderItem, etc.: Use .text attribute - - TableItem: Use export_to_markdown() for table content - - PictureItem: Use export_to_markdown() with PLACEHOLDER mode to avoid base64 - """ - from docling_core.types.doc.base import ImageRefMode - from docling_core.types.doc.document import PictureItem - - # Try simple text attribute first (works for most items) - if text := getattr(item, "text", None): - return text - - # For pictures: use PLACEHOLDER mode to avoid base64 images in content. - # This still includes VLM descriptions (annotations) and captions. - if isinstance(item, PictureItem): - return item.export_to_markdown( - docling_doc, - image_mode=ImageRefMode.PLACEHOLDER, - image_placeholder="", - ) - - # For tables and other items with export_to_markdown - if hasattr(item, "export_to_markdown"): - try: - return item.export_to_markdown(docling_doc) - except Exception: - pass - - # Fallback for items with captions - if caption := getattr(item, "caption", None): - if hasattr(caption, "text"): - return caption.text - - return None - - def _get_item_label(self, item) -> str | None: - """Extract label string from a DocItem.""" - label = getattr(item, "label", None) - if label is None: - return None - return str(label.value) if hasattr(label, "value") else str(label) - - def _compute_type_aware_range( - self, - all_items: list, - indices: list[int], - radius: int, - max_items: int, - max_chars: int, - ) -> tuple[int, int]: - """Compute expansion range based on content type with limits. - - For structural content (tables, code, lists), expands to include complete - structures. For text, uses the configured radius. Applies hybrid limits. - """ - if not indices: - return (0, 0) - - min_idx = min(indices) - max_idx = max(indices) - - # Determine the primary label type from matched items - labels_in_chunk = set() - for idx in indices: - item, _ = all_items[idx] - if label := self._get_item_label(item): - labels_in_chunk.add(label) - - # Check if we have structural content - is_structural = bool(labels_in_chunk & self._STRUCTURAL_LABELS) - - if is_structural: - # Expand to complete structure boundaries - # Expand backwards to find structure start - while min_idx > 0: - prev_item, _ = all_items[min_idx - 1] - prev_label = self._get_item_label(prev_item) - if prev_label in labels_in_chunk & self._STRUCTURAL_LABELS: - min_idx -= 1 - else: - break - - # Expand forwards to find structure end - while max_idx < len(all_items) - 1: - next_item, _ = all_items[max_idx + 1] - next_label = self._get_item_label(next_item) - if next_label in labels_in_chunk & self._STRUCTURAL_LABELS: - max_idx += 1 - else: - break - else: - # Text content: use radius-based expansion - min_idx = max(0, min_idx - radius) - max_idx = min(len(all_items) - 1, max_idx + radius) - - # Apply hybrid limits - # First check item count hard limit - if max_idx - min_idx + 1 > max_items: - # Center the window around original indices - original_center = (min(indices) + max(indices)) // 2 - half_items = max_items // 2 - min_idx = max(0, original_center - half_items) - max_idx = min(len(all_items) - 1, min_idx + max_items - 1) - - # Then check character soft limit (but keep at least original items) - char_count = 0 - effective_max = min_idx - for i in range(min_idx, max_idx + 1): - item, _ = all_items[i] - text = getattr(item, "text", "") or "" - char_count += len(text) - effective_max = i - # Once we've included original items, check char limit - if i >= max(indices) and char_count > max_chars: - break - - max_idx = effective_max - - return (min_idx, max_idx) - - async def _expand_with_docling( - self, - results: list[SearchResult], - docling_doc, - radius: int, - max_items: int, - max_chars: int, - ) -> list[SearchResult]: - """Expand results using DoclingDocument structure. - - Structural content (tables, code, lists) expands to complete structures. - Text content uses radius-based expansion. - """ - all_items = list(docling_doc.iterate_items()) - ref_to_index = { - getattr(item, "self_ref", None): i - for i, (item, _) in enumerate(all_items) - if getattr(item, "self_ref", None) - } - - # Compute expanded ranges - ranges: list[tuple[int, int, SearchResult]] = [] - passthrough: list[SearchResult] = [] - - for result in results: - indices = [ - ref_to_index[r] for r in result.doc_item_refs if r in ref_to_index - ] - if not indices: - passthrough.append(result) - continue - - min_idx, max_idx = self._compute_type_aware_range( - all_items, indices, radius, max_items, max_chars - ) - - ranges.append((min_idx, max_idx, result)) - - # Merge overlapping ranges - merged = self._merge_ranges(ranges) - - final_results: list[SearchResult] = [] - for min_idx, max_idx, original_results in merged: - content_parts: list[str] = [] - refs: list[str] = [] - pages: set[int] = set() - labels: set[str] = set() - - for i in range(min_idx, max_idx + 1): - item, _ = all_items[i] - # Extract text content - handle different item types - text = self._extract_item_text(item, docling_doc) - if text: - content_parts.append(text) - if self_ref := getattr(item, "self_ref", None): - refs.append(self_ref) - if label := getattr(item, "label", None): - labels.add( - str(label.value) if hasattr(label, "value") else str(label) - ) - if prov := getattr(item, "prov", None): - for p in prov: - if (page_no := getattr(p, "page_no", None)) is not None: - pages.add(page_no) - - # Merge headings preserving order - all_headings: list[str] = [] - for r in original_results: - if r.headings: - all_headings.extend(h for h in r.headings if h not in all_headings) - - first = original_results[0] - final_results.append( - SearchResult( - content="\n\n".join(content_parts), - score=max(r.score for r in original_results), - chunk_id=first.chunk_id, - document_id=first.document_id, - document_uri=first.document_uri, - document_title=first.document_title, - doc_item_refs=refs, - page_numbers=sorted(pages), - headings=all_headings or None, - labels=sorted(labels), - ) - ) - - return final_results + passthrough - - async def _expand_with_chunks( - self, - doc_id: str, - results: list[SearchResult], - radius: int, - ) -> list[SearchResult]: - """Expand results using chunk-based adjacency.""" - # Build ranges from result orders - ranges: list[tuple[int, int, SearchResult]] = [] - passthrough: list[SearchResult] = [] - - for result in results: - if result.chunk_id is None: - passthrough.append(result) - continue - start = result.order - radius - end = result.order + radius - ranges.append((start, end, result)) - - if not ranges: - return results - - # Compute the full order range needed and fetch only those chunks - all_starts = [s for s, _, _ in ranges] - all_ends = [e for _, e, _ in ranges] - range_min = min(all_starts) - range_max = max(all_ends) - - chunks_in_range = await self.chunk_repository.get_chunks_in_range( - doc_id, range_min, range_max - ) - if not chunks_in_range: - return results - - chunk_by_order = {c.order: c for c in chunks_in_range} - - # Merge and build results - final_results: list[SearchResult] = [] - for min_idx, max_idx, original_results in self._merge_ranges(ranges): - # Collect chunks in order - merged_chunks = [ - chunk_by_order[o] - for o in range(min_idx, max_idx + 1) - if o in chunk_by_order - ] - first = original_results[0] - final_results.append( - SearchResult( - content="".join(c.content for c in merged_chunks), - score=max(r.score for r in original_results), - chunk_id=first.chunk_id, - document_id=first.document_id, - document_uri=first.document_uri, - document_title=first.document_title, - doc_item_refs=first.doc_item_refs, - page_numbers=first.page_numbers, - headings=first.headings, - labels=first.labels, - ) - ) - - return final_results + passthrough - async def ask( self, question: str, @@ -1794,18 +1468,12 @@ class HaikuRAG: Used by RECHUNK and FULL modes after the chunks table has been cleared. """ from haiku.rag.store.engine import DocumentRecord - from haiku.rag.store.models.document import invalidate_docling_document_cache if not documents: return now = datetime.now().isoformat() - # Invalidate cache for all documents being updated - for doc in documents: - if doc.id: - invalidate_docling_document_cache(doc.id) - # Batch update documents using merge_insert (single LanceDB version) doc_records = [] for doc in documents: diff --git a/haiku_rag_slim/haiku/rag/config/models.py b/haiku_rag_slim/haiku/rag/config/models.py index d4727f8f..682928e3 100644 --- a/haiku_rag_slim/haiku/rag/config/models.py +++ b/haiku_rag_slim/haiku/rag/config/models.py @@ -174,9 +174,8 @@ class ProcessingConfig(BaseModel): class SearchConfig(BaseModel): limit: int = 10 - context_radius: int = 0 max_context_items: int = 10 - max_context_chars: int = 10000 + max_context_chars: int = 5000 vector_index_metric: Literal["cosine", "l2", "dot"] = "cosine" vector_refine_factor: int = 30 diff --git a/haiku_rag_slim/haiku/rag/context.py b/haiku_rag_slim/haiku/rag/context.py new file mode 100644 index 00000000..3defb47f --- /dev/null +++ b/haiku_rag_slim/haiku/rag/context.py @@ -0,0 +1,249 @@ +"""Section-bounded context expansion for search results. + +Expands search results with surrounding content from the document using +the document_items table. The algorithm adapts to document structure: + +For STRUCTURED documents (containing section_header or title labels): + 1. Resolve matched doc_item_refs to positions in the items table + 2. Find section boundaries around each match (section_header/title labels) + 3. If the section fits within the budget, include it entirely + 4. If the section exceeds the budget, OR the section is too small (under + 20% of max_context_chars), expand item-by-item from the match center + outward, skipping noise labels. This lets small sections (e.g., a + title+authors area) grow into the next section's content. + 5. Merge overlapping ranges from multiple results in the same document + +For UNSTRUCTURED documents (no section headers): + Expand outward item-by-item from the match center until the character + budget is filled. No noise filtering (unstructured docs typically only + have text items). + +In both cases: + - max_context_chars caps total characters per expanded result + - max_context_items caps total items per expanded result + - Noise labels (footnote, page_header, page_footer, document_index) are + excluded from content AND budget counting in structured documents + - Results without doc_item_refs pass through unexpanded +""" + +from haiku.rag.store.models.chunk import SearchResult +from haiku.rag.store.models.document_item import DocumentItem +from haiku.rag.store.repositories.document_item import DocumentItemRepository + +_NOISE_LABELS = {"footnote", "page_header", "page_footer", "document_index"} +_SECTION_BOUNDARY_LABELS = {"section_header", "title"} + +# Sections with fewer chars than this fraction of max_context_chars are +# considered too small — expansion falls through to item-by-item outward +# growth, which naturally crosses into adjacent sections. +_MIN_SECTION_BUDGET_RATIO = 0.2 + + +def _merge_ranges( + ranges: list[tuple[int, int, SearchResult]], +) -> list[tuple[int, int, list[SearchResult]]]: + """Merge overlapping or adjacent ranges.""" + if not ranges: + return [] + + sorted_ranges = sorted(ranges, key=lambda x: x[0]) + merged: list[tuple[int, int, list[SearchResult]]] = [] + cur_min, cur_max, cur_results = ( + sorted_ranges[0][0], + sorted_ranges[0][1], + [sorted_ranges[0][2]], + ) + + for min_idx, max_idx, result in sorted_ranges[1:]: + if cur_max >= min_idx - 1: # Overlapping or adjacent + cur_max = max(cur_max, max_idx) + cur_results.append(result) + else: + merged.append((cur_min, cur_max, cur_results)) + cur_min, cur_max, cur_results = min_idx, max_idx, [result] + + merged.append((cur_min, cur_max, cur_results)) + return merged + + +def _expand_outward( + items: list[DocumentItem], + center_idx: int, + max_items: int, + max_chars: int, + skip_noise: bool = False, +) -> tuple[int, int]: + """Expand item-by-item outward from center until budget is filled. + + When skip_noise is True, noise labels are excluded from char counting + (used in structured documents so footnotes don't consume budget). + """ + lo = hi = center_idx + center_is_noise = skip_noise and items[center_idx].label in _NOISE_LABELS + char_count = 0 if center_is_noise else len(items[center_idx].text) + + while char_count < max_chars and hi - lo + 1 < max_items: + grew = False + if lo > 0: + lo -= 1 + if not (skip_noise and items[lo].label in _NOISE_LABELS): + char_count += len(items[lo].text) + grew = True + if hi < len(items) - 1 and char_count < max_chars: + hi += 1 + if not (skip_noise and items[hi].label in _NOISE_LABELS): + char_count += len(items[hi].text) + grew = True + if not grew: + break + + return (items[lo].position, items[hi].position) + + +def _find_expansion_range( + items: list[DocumentItem], + matched_positions: set[int], + has_sections: bool, + max_items: int, + max_chars: int, +) -> tuple[int, int]: + """Find the expansion range for matched positions within a window of items.""" + pos_to_idx = {item.position: i for i, item in enumerate(items)} + matched_indices = sorted(pos_to_idx[p] for p in matched_positions) + center_idx = matched_indices[len(matched_indices) // 2] + + if not has_sections: + return _expand_outward(items, center_idx, max_items, max_chars) + + # Build section spans: [(start_idx, end_idx), ...] + headers = [ + i for i, item in enumerate(items) if item.label in _SECTION_BOUNDARY_LABELS + ] + sections: list[tuple[int, int]] = [] + if headers[0] > 0: + sections.append((0, headers[0] - 1)) + for j, h in enumerate(headers): + end = headers[j + 1] - 1 if j + 1 < len(headers) else len(items) - 1 + sections.append((h, end)) + + # Find which section contains the center match + current = 0 + for j, (start, end) in enumerate(sections): + if start <= center_idx <= end: + current = j + break + + sec_start, sec_end = sections[current] + sec_chars = sum( + len(items[i].text) + for i in range(sec_start, sec_end + 1) + if items[i].label not in _NOISE_LABELS + ) + + # Section fits nicely in the budget — return it as-is + min_useful = int(max_chars * _MIN_SECTION_BUDGET_RATIO) + if min_useful <= sec_chars <= max_chars and sec_end - sec_start + 1 <= max_items: + return (items[sec_start].position, items[sec_end].position) + + # Section is too large or too small — expand item-by-item from center. + # For too-large sections this stays within budget. + # For too-small sections (e.g., title+authors) this naturally grows + # into adjacent sections until the budget is filled. + return _expand_outward(items, center_idx, max_items, max_chars, skip_noise=True) + + +async def expand_with_items( + document_item_repository: DocumentItemRepository, + document_id: str, + results: list[SearchResult], + max_items: int, + max_chars: int, +) -> list[SearchResult]: + """Expand results using the document_items table.""" + all_refs = [] + for result in results: + all_refs.extend(result.doc_item_refs) + + ref_positions = await document_item_repository.resolve_refs(document_id, all_refs) + if not ref_positions: + return results + + # Fetch all items for the document to ensure we always detect section + # structure correctly, regardless of where the match falls. + item_count = await document_item_repository.get_item_count(document_id) + window_items = await document_item_repository.get_items_in_range( + document_id, 0, item_count + ) + + if not window_items: + return results + + has_sections = any(item.label in _SECTION_BOUNDARY_LABELS for item in window_items) + + # Compute expansion ranges per result + ranges: list[tuple[int, int, SearchResult]] = [] + passthrough: list[SearchResult] = [] + + for result in results: + matched = {ref_positions[r] for r in result.doc_item_refs if r in ref_positions} + if not matched: + passthrough.append(result) + continue + + lo, hi = _find_expansion_range( + window_items, matched, has_sections, max_items, max_chars + ) + ranges.append((lo, hi, result)) + + merged = _merge_ranges(ranges) + + # Build results from the window items + pos_to_item = {item.position: item for item in window_items} + final_results: list[SearchResult] = [] + for range_start, range_end, original_results in merged: + content_parts: list[str] = [] + refs: list[str] = [] + pages: set[int] = set() + labels: set[str] = set() + + for pos in range(range_start, range_end + 1): + item = pos_to_item.get(pos) + if item is None: + continue + if has_sections and item.label in _NOISE_LABELS: + continue + if item.text: + content_parts.append(item.text) + refs.append(item.self_ref) + if item.label: + labels.add(item.label) + pages.update(item.page_numbers) + + all_headings: list[str] = [] + for r in original_results: + if r.headings: + all_headings.extend(h for h in r.headings if h not in all_headings) + + first = original_results[0] + + # If noise filtering removed all content, preserve the original + expanded_content = "\n\n".join(content_parts) + if not expanded_content: + expanded_content = first.content + + final_results.append( + SearchResult( + content=expanded_content, + score=max(r.score for r in original_results), + chunk_id=first.chunk_id, + document_id=first.document_id, + document_uri=first.document_uri, + document_title=first.document_title, + doc_item_refs=refs or first.doc_item_refs, + page_numbers=sorted(pages) or first.page_numbers, + headings=all_headings or None, + labels=sorted(labels) or first.labels, + ) + ) + + return final_results + passthrough diff --git a/haiku_rag_slim/haiku/rag/store/models/document.py b/haiku_rag_slim/haiku/rag/store/models/document.py index a7e406f5..1f38d197 100644 --- a/haiku_rag_slim/haiku/rag/store/models/document.py +++ b/haiku_rag_slim/haiku/rag/store/models/document.py @@ -2,7 +2,6 @@ import json from datetime import datetime from typing import TYPE_CHECKING -from cachetools import LRUCache from pydantic import BaseModel, Field from haiku.rag.store.compression import compress_docling_split, decompress_json @@ -11,38 +10,6 @@ if TYPE_CHECKING: from docling_core.types.doc.document import DoclingDocument, PageItem -_docling_document_cache: LRUCache[str, "DoclingDocument"] = LRUCache(maxsize=100) - - -def _validate_without_pages(compressed_data: bytes) -> "DoclingDocument": - """Decompress and validate DoclingDocument.""" - from docling_core.types.doc.document import DoclingDocument - - json_str = decompress_json(compressed_data) - return DoclingDocument.model_validate_json(json_str) - - -def _get_cached_docling_document( - document_id: str, compressed_data: bytes -) -> "DoclingDocument": - """Get or parse DoclingDocument with LRU caching by document ID. - - Strips page images before validation for performance — cached documents - do not contain page data. - """ - if document_id in _docling_document_cache: - return _docling_document_cache[document_id] - - doc = _validate_without_pages(compressed_data) - _docling_document_cache[document_id] = doc - return doc - - -def invalidate_docling_document_cache(document_id: str) -> None: - """Remove a document from the DoclingDocument cache.""" - _docling_document_cache.pop(document_id, None) - - class Document(BaseModel): """ Represents a document with an ID, content, and metadata. @@ -73,19 +40,16 @@ class Document(BaseModel): def get_docling_document(self) -> "DoclingDocument | None": """Parse and return the stored DoclingDocument (without page images). - Uses LRU cache (keyed by document ID) to avoid repeated parsing. - Returns: The parsed DoclingDocument, or None if not stored. """ if self.docling_document is None: return None - # No caching for documents without ID - if self.id is None: - return _validate_without_pages(self.docling_document) + from docling_core.types.doc.document import DoclingDocument - return _get_cached_docling_document(self.id, self.docling_document) + json_str = decompress_json(self.docling_document) + return DoclingDocument.model_validate_json(json_str) def get_page_images(self, page_numbers: list[int]) -> "dict[int, PageItem]": """Decompress and return page images for the requested page numbers. diff --git a/haiku_rag_slim/haiku/rag/store/repositories/document.py b/haiku_rag_slim/haiku/rag/store/repositories/document.py index 627a34e0..42a24c2e 100644 --- a/haiku_rag_slim/haiku/rag/store/repositories/document.py +++ b/haiku_rag_slim/haiku/rag/store/repositories/document.py @@ -152,13 +152,9 @@ class DocumentRepository: async def update(self, entity: Document) -> Document: """Update an existing document.""" self.store._assert_writable() - from haiku.rag.store.models.document import invalidate_docling_document_cache assert entity.id, "Document ID is required for update" - # Invalidate cache before update - invalidate_docling_document_cache(entity.id) - # Update timestamp now = datetime.now().isoformat() entity.updated_at = datetime.fromisoformat(now) @@ -184,15 +180,12 @@ class DocumentRepository: async def delete(self, entity_id: str) -> bool: """Delete a document by its ID.""" self.store._assert_writable() - from haiku.rag.store.models.document import invalidate_docling_document_cache # Check if document exists doc = await self.get_by_id(entity_id) if doc is None: return False - invalidate_docling_document_cache(entity_id) - # Delete associated chunks and items first await self.chunk_repository.delete_by_document_id(entity_id) await self.document_item_repository.delete_by_document_id(entity_id) diff --git a/haiku_rag_slim/pyproject.toml b/haiku_rag_slim/pyproject.toml index 4cc6425b..2c3a1a03 100644 --- a/haiku_rag_slim/pyproject.toml +++ b/haiku_rag_slim/pyproject.toml @@ -22,7 +22,6 @@ classifiers = [ ] dependencies = [ - "cachetools>=7.0.5", "docling-core>=2.71.0,<2.72", "haiku.skills>=0.14.0", "httpx>=0.28.1", diff --git a/tests/cassettes/test_context_enhancement/test_expand_context_keeps_separate_non_overlapping.yaml b/tests/cassettes/test_context_enhancement/test_expand_context_keeps_separate_non_overlapping.yaml deleted file mode 100644 index 66ba95c0..00000000 --- a/tests/cassettes/test_context_enhancement/test_expand_context_keeps_separate_non_overlapping.yaml +++ /dev/null @@ -1,62 +0,0 @@ -interactions: -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '127' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - Chunk 0 - - Chunk 1 - - Chunk 2 - - Chunk 5 - - Chunk 6 - - Chunk 7 - model: qwen3-embedding:4b - uri: http://localhost:11434/v1/embeddings - response: - headers: - content-type: - - application/json - transfer-encoding: - - chunked - parsed_body: - data: - - embedding: Ii6EuLQuyryNGxY8CI81u04w5bgcIkU9UtBkPWCNI70vjNM8NxwYPGUSkLz08se8v89LO6X9M72dZDU9uyAcvf08vjqXCZG8Ut0kPL9HSrspkKi8W2SmPME2uDtmxta7QGMhvWJFZTwSGfm8dQBHvZYklzyyRBI7By4avfT+db2gS4g9+wIXu/Ke+jqDDLO8G8yuO5waCrxtmvu71MWYvNFI2zxmAI68L+sLvIIzUTsEj/I8UpSbuj03RTwtU8S8RHljvIIe4rwYtgk8eaCEPKXGRjvx3I285EFTvT9xEb2cciQ9JnOwu5Ln17xVvOK8BUMWPL5LDrw0ua289JefvEUHr7rhX7S89/WVO8rjCruVRLk8ZXLqOz1Abjx/E1e8o0PZvD+Mmzzwx3S8sIwCvbU2YDkHyxo9tL4UvGCF0jy0S4o8aswUOgLszzq7aeI82OsoPCFEGrzDnlY8QkrCO1FwnbxLxQm8Ma+cPAv4Xby6q866yy5QPRBFsDvWXEs6uu20u0i2k7ysVsm8tLCKPPfXNrxiG9O7GgQSvLFjNLxOI2482c/LvNTqobzvnws89HVAvHzYeroz2va7fW4lvIXXgLx3W4y9BddMvBw/0bwfoUg8/Z0cPbkiebrGvdQ8rcCZvOSptDyEJAU7Qph3PGSHRzx9SRq8E/EYvEx5ILsHTqo7Rd4WPb3qVjzxsfO7ZyBpvB8kgrzc2M28svhkO/U18ruAt4674/+huxgBwjpW25i7e/4pPJuFgzw9QBQ7Rq2OvKOt9bvkVM28fEoDveP8RjztBue6dR0BPTMGVDzc3Gu7m3mAPMHSi7wqoA89vWPcOyVSAz0vRR08RoCuPL4fqbw++Wg8oQx7u/fGAD3BPWU8Q1cjPHtmxLx1fCm80F2VvMB2O72UmxE7sDIdvE72ADx3k6U79ezMvLwsQLxSa/e8RzTpvKBgBbw8u/s8y3qauzQzmjq04JU8QZWYOw9zMTqm1Zk7WZQwvHqBFjzgOZM8zBIJO77wwruExWy8G90FvDgrubtAdBO8sZ6yuxb57rzLeQk9CPZQOgpaSDwuihA8HrrpO6cMmbyBE5A5uS4Puz2D57pBGrm7VuamvLc5jTyNUeq8ybw2PFSxBrwk84e80jwlvZI44bmd8zE6EOLJvN4bMbxbGNM8cY3KPM/tcTs8MEU8vSkTvCPWDDxJoAy9wsjrO8r5Vbt4L4s7uBxqu+0DqztkPbQ8anbEPNM9Q7wkRZU7YHBEurs/LDxXYtg887MsvCcIjTw0PC281NWQO+Ci3bvsGQ88ch8vPP9ABDyLDbm8a1qpO8Yxkbx3ZKm43OOgvFBUwbx9HEs8VZS1PGCDCb0aDu47e9oyO9M5GLyIuhQ8kOzXuyBT+TvKugw7ahAIPSG6X7yziUG65TayPLNMnrxmkeG7OmGZOYz6gDrliQW8Mxo8PYK7h7y9H2m7vH+pu16QlTwy/5a8lZOrOra0NTymAXY8/0InPbmVl7xWeKU8rvYWPPtrV7tp8FI8P90uPLfFarrYBhA8GtwPvK31DDsIbNc8AgE1vOoRAzx0c5O8fZkyvV5uv7zHoLw7GhtpvImhUbqOpYW8edcqu+I9AjvaXfC72jcMvV+HazwazTm6dUJvOxkKDDyeXPQ69/rEu+GLU7uJPxq8NpO2O1A1A7uFCtu8CzzMvIwV7bs5/O47Tn/tvIovhrxrIHs6dFApvLJzKb2UXMS8pYpFvCdcx7qpbuo8G151PCf8E709kzw8ErEKvSBpGz0WyAa90AaMvJZCqrsckii8VTtrPKCPKT0Wpqo8k3RqPAAX97tPfNi7rI7FOyBZJT1xBxK9siigOkywErtKB947mDkhvQk0OL17CRS9U2y7vIGotLwN9ZG8k14JPY3P0jtIF6667IlHPH2AXTzNgnw8O3eVvEX76rtPmuQ7r4GjPOiyE72Cb6O7AwU6vLAhYD0l87c6frkGvUSVhTyla/k7/cLlPOGSALs2AkS68GgZvAxi3bor0wa8V8ezujQlaTyBrqc8A5QXPGUXHbxxvyo9RTvCvBATUTwJKnS8tcaEu7hhjTyPJHg7YZCIvGcdlTvEhiA6cPDevC3rfrzZmio7jh8CPB80Czxgdr480KeMvNCLxzzPqry8ImyjvAoAGjxI6MW7Gxqnu03UCry6aOA82ZK0Oz2jirk0xMO6d4zLPPxr8TtIJnS8VYKQuwfJGz3vN8k8gy0VvVphwzu2uxM7GNGQPOY6Cb3RmBq8wu4EPFYUUzhgfQw7+0TZO/m49jwhA7m7lnXfPPbq+zq+1qA84sMFPb6tFj2L22E8pTvOPHqA0bkvQU87Ima8vM4usrxsO9w7S02auxUuZTychgQ99AUavfqszbxcd2Y7cmvSPMnYCL0jKeS8obHtvPmESry/wqa7RQaUvF8woTyZzjg8vWr2OgUR07w4H6q8e7y8O0iA1b3gAJQ8v2A7PJc9z7x08MC896XQu0IBKLyHD3k8LOOaPJWGtzxvEjO9HOK7vEANprzbgqM89d91vLPZszzl+eo66650OjL10LxwHxM9i7WUPf/jIbyaddS7qtIZPU2vnbsVotY8tobNPOmpHjzn2jS8hPlavJLyAjy2nkm8nSJ6uzCrOrx13My6pnQGPBVUBzvW79a8UFrCO1qYHThaZOC7Lz4EPDzmDbz0+9+7rUAHvOOHzbzEEYQ7sTlevSptaby4/V482Q5yPDqxC7ryKJK7u7QyvUUw+jxdLUI8RZRnvMOmSzvtWTo7pUf4Owt3gr3cky68YajHPKsFt7zPEjO8SHuxPFELAz3P2SO8PzP6OldVRj2+jA08AzYJPS8y4buy4kk8s8UrvU2JbrzLmAs81XB5PGdTLzzNvvW7kFkMvN9SBzyqB+M84Im3vMuUq7s+VB067pngvE853jthPWe9XMGFu/FYdjwGws87NyNfPCSB1bkWub+81xYlPRwUzjyZhNE8DmZrvFMfKbyqXus5AoWBvIwVjDxbHR49ff0BO69T67oMZ4G7+b21u2M1sTtJA828AyZ2O2NZU7tVXtQ8nxvKPAf4oLwrE1u9hyaIvAfcFLwUN2O8kdAZvZ2o7DsAmFi6IX1xvJV0mDyT67w7Ku6JvNTzPTwMHLa8bHaPPCgpgTwjjYu8Ebk8O8ouVzw5bII7QPJvvI2jSbz73886s3wqvZMgp7yDAh07XiojPM0Hqbv6DLW8POl6OnfhbLzTipI8P2YuPEd29Dzy5NK8GwesPAnuCb2bDAw8y/EkvAfIhTwwBS48y82Wu6EksLuPZwm905sEvef0ELtr5c+8Z3HNvPFl9TtKK2y81QDqN5JLGr1/xd68qhsQvDctnTz6gt28jkc+vbQPNTxsXXE8+F7ovPZetDsvuYa8kIxKvR52Gj3oYgk8wcIcvBtBDT0ckYw8EWjOPDlVpjtzCvM8jfU0vGI8gr0lSYK8yq6OvGpZDT1ztfy8hNGoPAlbB7wj4E88BvqMvL71Dr2XNqA8eOzfu2YsID1oiNu7okYIvL8JQrxZLn07BlZ0PE8WuLxWrIM7GykqvS41JTyQHB49kgbzO3N3BrwKLCY9LLOXO1IWS7xcdjs9KUc/vWtHqrsfA4+8Kv0iPb/47TsJWQU7/xSCPAdu2jyFGT08sMPzO557rTyB7lQ7jtexO7FRt7sQoS09AgDHPHrp7zxZYOo7oHszPbcwmTs7dA479gOFu/7ONDqTsSW8HE2IOrb6MjvzNEA8ywpbPKTxqTyQRW87RfiFO0mRujsWxYU70g9sOL4N/Tzzwju8DtQGvHveLb2p3wO9aS8AOh2+tjwhB0C9BIY1vEyBOTvNS5q8Rgiou5tVpLz0VQS9boUevAlt4bu8MpI83AKlO6CXYLtcZeC8TXEvu26PHDzbEwM8Xv8Ku/PUCj0dml28P2RfO8XtpLw+sQG9pmtAO7b3IbyLNtk79BSQO1cR3zyIqRu7KlyFvGBP0TzEaYi8qnKSvP8ZijymxA+8mTsKPJgH1jzALSA8JQY6OhocA7xFho48fQWFPH3+XTxj5NI8VwZtuyM5o7yJlHS8dlLzPEJ6DbsKH7a8lUFqPKeQHjynkYG8tKV+PFZsPz1Hy3e8n5uoPNuuWrvfs3q7RfFcPK0pCbzqrcu8XOwyvAmMPjzuEUQ8BtA2PSsiF7zsJQC8VhgKOvWGx7zc8uW7ZUTxu+RwDb31Taa7sdYYvec26Tzjk5o8h5MAvXexJLlnWjE85OUyvIwjJbsNvMk80rvTvGpRDTyF0Nu8AiAsvFdInbs3zhA9tnLsPMKOCjx4HxQ8nOdlPBJN2DrfhBM8sayYPLdo0rzc+Ji8iVJGO5p/SbzYTeW6yejFPIJoxDuqTZM8gFBlPAP68Tp7ZGY8iqPZOaMRgLzjoUW7nVo2OfQtWzuvAKu80T2FPDNVhjybiJW7C7ENPGR1rznGPcA7bSIJPBouSLw4jbc8jdf+vP/vxbzJw8+76aYTPcyIwbu8KqE8iXtMvEbOxLzM+JW6sMAwOmNnUDutZam8sa1vPG4osDxGQkY9t/OdO15PbzysEBm8XmobPepmHj05QKi8YrBlPG8joLxXUSc8bHyvO/BI2LwwN8i8dyNMPM+W/jnaEui7Fe8EvB9c5rx45zS91o3zuvd96jzGvho9gQgtvHmPVDvj/Dm6jqG2O9CBE72Lt4a88pTRvC4YFD2BVWU6PcdFPbvYnzzMIl689z3Cu/WcqzudLKU8wKTFO6PvmzsY3vm7d5d4PAbhwDxLYRM9DQDnPK6S5zpQ7o68/j72vHcIvDxPQSK9bP3pOzEonTzP/AG88acCO0thND2mM2S89PNQu0gVu7z83nE8uwbvvJ6Tq7wnCJe7zlzROkMJmDss5EW9mKyMPJ6Rh7winZ48+kEWvfPtA71CURQ8W9cYPX9PVb2urLW8PhglPI/dUrugKA88aS+ovPsS87wR5s67RB7zvN0o/zshu5u7+o/GO0WmkrzKjjk8DsmHPNVNDDy+g3Q8+MCvOySDRbrt9IG8WQ1qvF5hmD13yam7xm8Fu+WcFT2jrRA8a23JPLiIBz03F6m80isEOZUmyLvNUvc8wFAcO9Jx3brr7Do8YKJdO1bGmzyP6eW8reJIvDTvn7txhei8HinUOyLRWzyxVDs6IOelvMI17Trk+LE75rvtuyrkgbvkp+k88RldPObPXrue1s684QIlPJPC2TppDvE8daVFPdTwoDocxze8JfAXPPinjbykBlC8a0coPJZe1Lw/Qpc88y2JvKGm47p27Zq6CmOXO+MNDjyVAos8l/dsPFTPjTxWG8k8sv7kvGRdrbsmNEw8zV22PADm57t2J4o85J7WPO7uwruqVQu8IGxSvFgSnTxearA8zfb8PJJvo7yOZ8a6DUcJvNx/OzxY0wu8DgE4vTRvoTqnslI8i/mxPMDEQ7swNIg8Qn0uPMzzNLzPVPy7kqjnvC670jweN8a8Qd9NPaPHljxx9Q27DyQzPM68Qjw+y+k8dN8GvL6ykDyWaHw8oMVzu1/RxTuE3B497l3yu5oBKDwzsF28Ra/OO70wA733BUo5y+GIuzLn0DzwC6o8laQOvJBzIrz7BP86hURnPPBaijyMPCg5BmP8uyLfi7w91E08OrKRu88Atjv9NBG8cn2FO+ROnzyR//46PcBSO8Trxrz+NS28rkwKPBhrkTvcPvS7MEmRvIX+0jwqDea8QietPE1gpTusrEM8obEJPOF8pbwmbsO7eBrourbeibyuwem8xLg1vaZAlTz7llO8oUC0vN2vijyrM/m87TcDPX2oFzyPT9q7JQkiPCeG2DssjaK86QnYvIVNI7x/yAk9SaeYO810ULsK9wE8fwhUvGJxJDwo60a8uO/aO2wYNbwQS+w6giFCvP7ofLwfLYM8aQriPO5Tpbt3vYE8DJ69vMVqojzzyaY8hWMuPRSPPTs83SK8mzEcvR/UvLzEN5a8B2uwvBTurrvvLpk8FBkcvM/HFjtjyMg7j8mcPAkrBj1wXgi8fxceO7v/qLygrgC9pzm+O3GZ0Dx4ysS8qc4NPfWGxDzL3hi9fs1APJ5VjDy8LcA8go6PvLzrPLzWbUI8+MUZO3cQJT0jNiw91OQDvQ2lAT28xpy8nVWHvJpdjLyssOI8aUkAvYLpzrvMjIQ8zKQNPLXXCzwCfKg8II6tvI219jy5XsW5QHc2uxt4iDv16qs8EJPou4ZNVjvHqY67MdW+PJU/tLwrRhW93WTUu9pRxrxcHoa79FkXPfziqrux0A089TkmPVVGGrw6DuE78FPTvIUAnDwWemu8d+16PGJdHrtfLVi8DgqivOtumTw2ZCC7f/nEO8L1kzxafrw8OZ7kvLpONDybweq8D3XDO6Pu97vmdT86WriKvFhF3rw3Ysy8wZ9wvP2O8LyuTNg8FxMLvc5B0juUGNI7ALDHOqSbsTnCwX48sV1qPR1CVrxMzwe6wKlgvEk/lzw6RvE4SwIGPFmWpTzYKA08A99xOdh8qzs9Vbi8qfeDvFf6BTwduzu8eMfPvD4gWbywMiQ8JEIYPEzVmro2JIO79rySO0a35TzOPqw85DLJPFTTxLyXQIE8wxuEvKtlmLycWSQ81UcLPWBVX7sSW5C7F/5su9bNETxLoTo9NGLSO6hpibw64cY7Z20kPGc8M73g0Wa8kcTkugZhB70Z5cK8B61RPMOnOLvjmiE9xH8zvKKJ2zvh+DA9gIwUvXAUbjxPNEK83BoXvfWGMTwFchU7gC2Nu/r5VTybZ8+7CUZkPPEmwDy+Ryg90CCmvKx+Mz0wudG8awr3uvdnhrz6QB69NAESO8kGqLxdnHe7a0UEPaaQoTyy4ae8FeUHvKxoQr19SRO99KrSPG5xo7zRk+y8x4xWPU1riTqU2M+7CZwJPEO8HDw8qEC8F6dQPLsE+TsqSKC8Kb1iu6pIKzxaZWu8M1B3PAKsl7yDfy+8yf1YvX59gD30LQ67wjW2vEFLrjvnphw9ugo/vGVzF7tnLIQ8M5xUPCurmbus2v67ARDkvDEKl7ohyay7/cgKPHZqg7z3GNO8C+KOPMZltzweHTy7GaTauvxNgLxUWTY8fFuGPITmvrtOTXu6kneNvDFWcjx/ALY6Z5PFvFW/1TzzsK08qWksPdmvurz0ZQm9xMM6vPzahbzlRBE8tIYMPX++8Lo6whe9OtrYPL3frzy1ZjG7BQ+9u3WFQjs+fZw7NhXKPBW6lzwAHD+8DbdlPJ+OtbtfZGM6ycs/PBm+LjwizD69LmskPCxttbokVV47U9UsPAxfpzy33BA8toyEvFPnRjx1HjI8gCjvPDDBoLybL/g6yLLlPNvinTyhLZK87ecVvFnIy7ypiV28M1EMPJRbM7x0WHo8g26dvNzrHT01n2U7fBcHvFQlFTyE6e06L9L4O0MiQLyUlBW7T0RRvGwKxDxuJRE8vOSXvGrV3DwWqnq8Um7xvG8XyDwUqCQ84eR4O8SiUL2aq4K8OJa7vOBbl7yLjqM8x831uN36a7ysv/u89ahNvDNm/DzxzrS8dKmgu5LASbyhOzW8vP1pPG+8Gb2o1gy8pZkvPMZjMz01oj+8rVJQvC0yAzxf5bs8FmEuvIlLBT0WDAm86QlXvP4a27xqE6K83HwtvKs2q7xiFQK83vQAOycwqDzZUoQ8TdqSPLPlrjyCIjc8ShzQvH/jg7zNd246UMasvJpKFLuvO+W8GOJvOgy9KTvGoYu7Hh9APDWuiLxuzTg8NCVIPKVKCbwA7JA84yIivGJORDviUau5rbi4PM/zYjvMvo08Y/9cPHhH4bzKAdM8xGGKPXoCEb3UpC+84GY1vKkFM7zjFxi9XPG/vAYB8DsCh+e7JTH7PHATnztPUtE8rylKPG7Y17zhhbE7WfXWvDkvpju3ink8SeTWPATYNDx08Tu9J49IvAD1mbs657e8rJfwOy46ujxpdlQ8UeLhu23AoTxQFNy7ugcWPdcADb0ZUVK83bnuvEw1T7y8oY67Nw9PvGiSpzuPXYs8rneBO23ew7s6twK9tqITPV2UEL3mnKY87LKYvOySJbtXYsO6bkoqPa+jBD0iY/C8f8GAvM8drjzWTO47FYMyvHsWazw5mI+8tK2au0RuoTvS42A7mnwmPRWoyrwrJ5o8C1K/PK7oSLsGBEY8mN3WuiOgkTskcQA9SUTJO7cSgLwshcE8UA6xuxOFQrxIBz07j948PenDVjy1P6Y8PjolPK70Dj2Sq0G7DMmLvJHK7DwRIfi7m7O7O7a2Cjx5nmI7hQzOvN6WeTyGP366X3ptu5cikzyuQQs9OE7xO7DjXjyj8Zm8ELrPuybCJz09rdS8DBGhu6mYQryc16C60sqWOnfdJTxGvBu9NpbjO7uP27xhvP482IaDPNoc2DwhbGS8p9LBO+xd6zrcN4E8v9OQPCT7PTtng+Y4noKMvEIevLz9r2y6+hnAOjkhFj36a2c8Axa8ud6BvLyfiJK8JLt+vOofAzuEF3g8bvyMPD73KzsJocw7U03oOtH9gbtTEAE9ZFpqPH6XdLphAY+8C3qCOd9ONzzgFzK9yF/+OunhOzxCNOe8GYv0vNUyrTwp35s8xjnAPHZJtjq/QLk8HhWgPFqMNry1OVS8WUxwPICxoDy+moA8y3GfPG9ZYjzGMaE7OotYvSrcC7yOieE8YrVvvN3WCLo75AE7SRB/vNm4Bj2myi68eZ+su40GfLx07ru8nRSevK2s0Lw3wSo9eO7RvJk3NjvDD9m7k3i7vNhnnDz0Uke95qvBvFVeCr33FVI76W92u8pUpTtKPmO6bPbcPPqbObvHeiy7BP4ROxs/xLzYE0E8ce7iO0iiLLzPj4i8xRdCOx5WNLxKagu9sYK6PBLg1jqLUR69PSIvO0+FJTp0E3M7lvrnO+O1Gjy9ucU7rSkuvPWn0TxtOxs9rpiCvNdqVbxSDuu8E+UFPQb7Eb2ThAC9rYFouqBLhbyzvO87jKgIPV3R2zsedeS88K2XOCr8oTtDGIi6r0okvAJ5hzyL+068y2AjPPM66Tuz78k75yoKPGdb0Dw4BwG9pnMou5+DoLuJhsO8K9sTPKxQNTzMNXy8yOGhuykesDmweEG9bPd8u2ScI707w/G7fut+u5/XADxfAci8Y2MHvCMUSDp8Trg8gt2pu3nqiLvV69G6wMjXPFkqijwzSOs8tQo+u+PGyToSwPg8mZUhOipM+TuCJJE8vyC2PASRAz1fdUo8GFc2OmhfGj1JxLG8v7lBvPffiLxaEVK8MVkZu4Q8xbzbWX27zsvCPHtA7jycn4i865FWO40WeDtHsYU7g05BulR8HTyh7f47Ugy3u7VPobrInrw8cvajvCsgB73i25W8mnxMPLIffDx3Lcw8ChoCPPlbHzujias8OroyvIytSr1G22Y8dd1vvFmmg7xypAO9SsrdPPnXizsg4ai8igdcvIx6YrwSEFs7bLIVPfWujzxaH6s73xotPHS1Ez0tRae7KuIUvNndcztmXfu8y9IEPNLldLq9pem77cmKPB3LBDwNPo08m0hiPAMuLLxNioq8R5ziu+j5+7p9ch69szIxPJr8AT3Hroa8uM5DPEXiGjoNCUg7UjN4vM5msrwOXp87ixUkPIeKwjz+eDw9vEREusIFijsdqNK7bfuUurGLoTzFIZU8NLhLu/+rjTwJCAG8QBQEuwd/RLu9arU8HQJ+uwDjhLwbnx+8yoLwvOEbVb21Vkq8YDoPPAuJML2w5sY8SJNOPGCBLbzgzUi8LZKRvPgRfzxiKHa8FiugvC+ZnDvWY5C7d4UrPaFWAb3hsLM8PC+FvORhqzxNxUs8Cswjvejv0jyRYyS8paVOu6V4mTwWfIk7atRJveyoPjw+pbo7S6wLvXxE2Lr00Ms8XQdKvPWBrzrpQiC8Cr4KPYyn1DySh828e/VWvGJHtLx7tA48KDxvPLQ9QT0BaqA73Qzru0Ga6rctybS8yScGu8NwvrpxGC2855UGugDAszqMoSU8Ux4ZuhyUujw6Ddm8K67SPK7cXLwQk9k7ya+vPIONYzwMFIs8GhAtPUF8GbzcBBw8JkmyPFGh0DyTXP68rKznu1sLjTyqUfI7lwMEPGSdZbvz9h28ymjUPAbJvjxPHZW7y8dePEvXwjtwzK+8xnNvvFh4ijzVDis8xc0BvApxCbxoqqu8Mu2AvEFUqztZ7BS8ZiQwPMo9YTzH80e8tW6EOwUZMjyqwBU70KEyPVFaTrxCcXW87u5juzVSqjrBHB09PFy0PB59LDzqs9U8HcPMu8r5M7pFv6M8ORCGPDj+GTttF+i8Rq1jPE19gry4wuS5HKECPbLl7zxjoey5ZY0SO9onLjy1oLI7eKEMPE5rBrzjFGs8r1AVOXIFdrybZtE7hZyyvEyagzzKNZ67X8+ePMQjF70XkIO8k5SlO1nI2bx4ri+75TY7PAcBMbv/sZS7jpzuO89DDDsd9JO8RuMKvVr1Kr3BvI288leBunx3yztWZtG8dk+cPIEhDb3ygMu7nHJsPABXIbxuPSG8ekYXPVhsBz0ZgAu96S40PKRXJ73H+cy8zRq7PDXAr7oFO3a8+VsVPeAVqLtfID48bbUmO0qzhLyTrEe8GFC5PHMUi7ynO4S61gkZvWNzSjxPBYo9mNepvD8RlTxanjk9uveuvEjDL7sllHG8gAMOPfmHGT3GRaM7CGGZvDBR+rzoU5q86WF0O+nylLz1oUS8PxCROlGNEr2TK808aS17vA0mVL1eIaW8QV9fPAILCDx0Hmu8EWPMvDLIUTxckcC8KX2nux0Hf7tcH+a6TcT+vPFiDzxHJba8BMTsvK/8xbzcMBM8CkopuqrhkLwdIXA8IYIOvGSkgbvwZBi9hlpKO9XuXTznkFu8pN3eu1gRhztGryo8eIcKPT9S0bzRafW832ZROikzv7wthJu88JGmPIZbo7qnPts7YUDrPNZSWLrDFxK9Ag8bvJM05DybsxO7YiygPCinCj3jtqW88kOGPELTyjs0ee68LM0zPJn9+rpXYTe8EwkKvD7b2jtM9so8cP20vPrINrxjf7y8eoqJPIr3NbwCcaK72TaIO9pq17uAhEW8sxLnOx3JpbpB/5u8dpaAuzmJOTz4o+G8BPC5vKXLGDz/bSg8qnZZu4uhTr2pmdi7PdxvPAPJxzxGyfs7gl+yPKK4Mj305Ic8ZqRcO8Is6LuvU6m8MRNQO6ilBj3c0w68lUIOvPYgGbzMyQi9J5khPe4hkDqIBZ68M5SDvEEkiLxZAh68Ekfgu+oOujxlSek7wDUSu3rttzuJpum8slWRPJ5EyTtvEaQ8y4JAvEt0y7xTxOQ8n06cvNezALtmuNK7xZaKPD0rgLxoO1m7vivJvISnrbwcDL67nOGYvO0cbruTmA29G+yQu+5voDyXJmW8xHpBO1c4fDwE7268A33FO6mhaDyAoDw78gDoPFoEDT2P5qE6A7q9PF/j5zxh0Zc7/okuPUZ+CL3JgOG70C2COxaK7ryd2508D3MIPcoXD7wZ2JK7MEc+PHwp6rvJmjW8aLQKvEInn7sqjuW8W43/vBRXQbyLtC08+uTEvPVW7rt8VCm7RWMbuwISs7vD1UO7fTDNvFS8wryx7gK818Ytu6uqRbsKP3s8FQc2O+MAqLx6dBc8zEGDPBS7IjwApFy83oVjvA3xEz0Gf/Q84WNWPIlCortFS5w8lJGavPX7oLx1i/M7B4LNPFPME7vE17i8CKdXPChWE70RouI85LgnO2aRFT0WHJk7Yz+5u7DNAD2ffce8oLvHO7IEJbwQACI6XiISPE+N07yx44o8y/Dluw9cSjy/R5M8rZTQO+XStbzi1EG8M0uHPBYSvrmhPRM97LLnOlTYO7yD5hy8VJ3PPN/u8zxGW+I7/ZqQPDis7Lt7P3g6a6YXPYnBK7wlhN06cwDpPIm6crx/kLe8zFnnO6V+tzwXppe8E52du4Fe9ryyF0S8cm7zvKzSmLuFK7Y80Lu6vAB3ZryKLuS7HJP5vDYtCbyuCs65ASLQvArznzxJ9Iq6wwe1vKoM5jr0F8w7aG3qOzl9irytEcQ7GelnPOYt/zylW1I7fhVivI9cBDwYii+9hQrtu3rs4LyUnN683e4WO723Crz9M2G7hnapPNzhkjw7LKi8rTTyuxXZCDwBwhA7/h+gPD39OzvK0Lo5CpSHvNceMrwIqhC9tb2ZvPK17Dw+TkK8cU9bPIEx4LqjhTM8Q5+CPPEkwzpsTMY7f5KCvLqPYDty0KU759EqPFl6/jvHrWA7uNXLu1j1+zwMPEK80gIiPF+xnzwfXay8gC4JvZzmdLwbh8A8Tr5tvMl8vTuMpoG8qytWu/Shurzeltq86q7KvP1XFT1XnWQ8vBHQvOqozbydB+07IyPYO+QLijxl8ai8Dk0NO8GVnzz1Pq48JikAOoFRDjzbp0C8GRzvvJbG57u03qM8+E+CvG6TmjxxmGc8+v4FOl3YIDuGgZO7DlppuYwNBLwqsv66nh/EPKhRMDtWPfq7gR/pvB0NcTwsCFK8ukUJuyN4f7zMLAS9Dl4xPGO6VrxMfyC9iKADu2DWrTtDI4q8op+OO6FGfzzX4rC8P+AwOh5ieLzpfA+7mWZrPJAMmzpBdtq7RctLPLWShzt5/K+806TIuy5YITul3Aq79tnKPNJiz7xWJDm8DhBKPFbs67yYHcs7NE8VPCeVazyUd7k8dLk+vLqVLbyfGPW8V5H1vE+ww7yIRdU7sT7fvB8sSbzM+Sk9i02tPHOAeTsRtAY9LZ0YPQbGjTyEJ8k8I9QHvW1am7xjGvS5AE8qPeVD5zvtLd67JGWvvJDMZrwc9Sw8MoaovBJWP7xBxJy7iT42vICKRbyuUzO7YwBGvNh0ybv9iRA8lvPYO+KqxzsaDgs9r8CnvABRkbsgzZM7IfESPGVT/jsoOao8vj2lvPtJNr3gBLW7w9SLuwPqWbnpCDi8hzeouecjczzjQB89t+c1vS7bBD0B8iq81g5qPKLdtLxmISy8wfvqO9VzMDxRsSa8iQODPJpA7jwTyYY8U40cPaAkdbz5RQc9Law8PBNX9Dx6fFQ7nilDPC5jRjxP/WM83xSJPD7Vpbzq2Qk8pUHwOzBJiDzjCCU8MyGHPJkiQDyb2iE8i9MyPT6og7uikZ88sGQtPG/AzTxITOs7H89tvCHI1DufvAE6t6RKO5o7BrvD7u67R5O3uwi8kDz3vte8D9nsO+z6XbtPBJS8qK45vNc2MbokKo87P+koO1jLQryk4lY8kkrvvCUwJz1UtRa8XFgoPBwBCDwqmxQ9DwKdPH3iazvmy4+8rsuOu3NyarydVKU5ZY2VvDOR17u7WK08XDYXvHYotjvvDIK8s9SxvD4h0rtCIxe8DQOBu56pjjwX76e6cI/FO147CDx/bFo8ZnxiPHlWg7t5Mis6o52UvD1m/rqsgnE8AarBPJ3hJDzorhS7s+cRPODrbzwlXcE8e+OpO8X4cbzvxiU8osM4uj414juTILm7X/GiPC3RTzzykSa99QiCvNWPPbwXsuW73Xd7u0qC9DvARyk8LLiePMXxlLt5OGo83f/XOi5PHzzPU5C8spO3vAMeAjykrfC78kLlu2DlUTxNHxO8VxSYOy6GVzvAiOQ7zyIpPEJWuLvUZT476fs2vA== - index: 0 - object: embedding - - embedding: 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 - index: 1 - object: embedding - - embedding: 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 - index: 2 - object: embedding - - embedding: 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 - index: 3 - object: embedding - - embedding: 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 - index: 4 - object: embedding - - embedding: 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 - index: 5 - object: embedding - model: qwen3-embedding:4b - object: list - usage: - prompt_tokens: 24 - total_tokens: 24 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_context_enhancement/test_expand_context_merges_overlapping_chunks.yaml b/tests/cassettes/test_context_enhancement/test_expand_context_merges_overlapping_chunks.yaml deleted file mode 100644 index 62a846c9..00000000 --- a/tests/cassettes/test_context_enhancement/test_expand_context_merges_overlapping_chunks.yaml +++ /dev/null @@ -1,58 +0,0 @@ -interactions: -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '117' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - Chunk 0 - - Chunk 1 - - Chunk 2 - - Chunk 3 - - Chunk 4 - model: qwen3-embedding:4b - uri: http://localhost:11434/v1/embeddings - response: - headers: - content-type: - - application/json - transfer-encoding: - - chunked - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - - embedding: 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 - index: 1 - object: embedding - - embedding: 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 - index: 2 - object: embedding - - embedding: 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 - index: 3 - object: embedding - - embedding: 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 - index: 4 - object: embedding - model: qwen3-embedding:4b - object: list - usage: - prompt_tokens: 20 - total_tokens: 20 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_context_enhancement/test_expand_context_multiple_documents.yaml b/tests/cassettes/test_context_enhancement/test_expand_context_multiple_documents.yaml deleted file mode 100644 index 55803e7c..00000000 --- a/tests/cassettes/test_context_enhancement/test_expand_context_multiple_documents.yaml +++ /dev/null @@ -1,94 +0,0 @@ -interactions: -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '109' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - Doc1 Part A - - Doc1 Part B - - Doc1 Part C - model: qwen3-embedding:4b - uri: http://localhost:11434/v1/embeddings - response: - headers: - content-type: - - application/json - transfer-encoding: - - chunked - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - - embedding: 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 - index: 1 - object: embedding - - embedding: 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 - index: 2 - object: embedding - model: qwen3-embedding:4b - object: list - usage: - prompt_tokens: 15 - total_tokens: 15 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '101' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - Doc2 Section X - - Doc2 Section Y - model: qwen3-embedding:4b - uri: http://localhost:11434/v1/embeddings - response: - headers: - content-type: - - application/json - transfer-encoding: - - chunked - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - - embedding: 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 - index: 1 - object: embedding - model: qwen3-embedding:4b - object: list - usage: - prompt_tokens: 10 - total_tokens: 10 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_context_enhancement/test_expand_context_radius_zero.yaml b/tests/cassettes/test_context_enhancement/test_expand_context_radius_zero.yaml deleted file mode 100644 index 396e53ca..00000000 --- a/tests/cassettes/test_context_enhancement/test_expand_context_radius_zero.yaml +++ /dev/null @@ -1,42 +0,0 @@ -interactions: -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '89' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - Simple test content - model: qwen3-embedding:4b - uri: http://localhost:11434/v1/embeddings - response: - headers: - content-type: - - application/json - transfer-encoding: - - chunked - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - model: qwen3-embedding:4b - object: list - usage: - prompt_tokens: 4 - total_tokens: 4 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_context_enhancement/test_text_expansion_uses_radius.yaml b/tests/cassettes/test_context_enhancement/test_text_expansion_includes_surrounding.yaml similarity index 100% rename from tests/cassettes/test_context_enhancement/test_text_expansion_uses_radius.yaml rename to tests/cassettes/test_context_enhancement/test_text_expansion_includes_surrounding.yaml diff --git a/tests/test_context.py b/tests/test_context.py new file mode 100644 index 00000000..9cae7317 --- /dev/null +++ b/tests/test_context.py @@ -0,0 +1,238 @@ +from haiku.rag.context import ( + _expand_outward, + _find_expansion_range, + _merge_ranges, +) +from haiku.rag.store.models.chunk import SearchResult +from haiku.rag.store.models.document_item import DocumentItem + + +def _item( + position: int, label: str = "text", text: str = "", pages: list[int] | None = None +) -> DocumentItem: + return DocumentItem( + document_id="doc-1", + position=position, + self_ref=f"#/texts/{position}", + label=label, + text=text or f"Text for item {position}.", + page_numbers=pages or [1], + ) + + +def _result(score: float = 0.5, refs: list[str] | None = None) -> SearchResult: + return SearchResult( + content="original", + score=score, + document_id="doc-1", + doc_item_refs=refs or [], + ) + + +class TestMergeRanges: + def test_empty(self): + assert _merge_ranges([]) == [] + + def test_no_overlap(self): + r1, r2 = _result(), _result() + merged = _merge_ranges([(0, 5, r1), (10, 15, r2)]) + assert len(merged) == 2 + assert merged[0] == (0, 5, [r1]) + assert merged[1] == (10, 15, [r2]) + + def test_overlapping(self): + r1, r2 = _result(0.9), _result(0.8) + merged = _merge_ranges([(0, 10, r1), (5, 15, r2)]) + assert len(merged) == 1 + assert merged[0] == (0, 15, [r1, r2]) + + def test_adjacent(self): + r1, r2 = _result(), _result() + merged = _merge_ranges([(0, 5, r1), (6, 10, r2)]) + assert len(merged) == 1 + assert merged[0] == (0, 10, [r1, r2]) + + def test_sorts_by_position(self): + r1, r2 = _result(), _result() + merged = _merge_ranges([(10, 15, r1), (0, 5, r2)]) + assert merged[0][0] == 0 + assert merged[1][0] == 10 + + +class TestExpandOutward: + def test_basic_expansion(self): + items = [_item(i, text=f"{'x' * 100}") for i in range(10)] + lo, hi = _expand_outward(items, 5, max_items=10, max_chars=500) + assert lo <= 5 + assert hi >= 5 + total = sum( + len(items[i].text) + for i in range(lo, hi + 1) + if items[i].position >= lo and items[i].position <= hi + ) + # Should be around 500 chars (may overshoot by one item) + assert total >= 400 + + def test_respects_max_items(self): + items = [_item(i, text="x") for i in range(100)] + lo, hi = _expand_outward(items, 50, max_items=5, max_chars=999999) + count = hi - lo + 1 + # May overshoot by 1-2 items due to alternating expansion + assert count <= 7 + + def test_respects_max_chars(self): + items = [_item(i, text=f"{'x' * 200}") for i in range(20)] + lo, hi = _expand_outward(items, 10, max_items=999, max_chars=500) + total = sum( + len(items[i].text) + for i in range(lo, hi + 1) + if items[i].position >= lo and items[i].position <= hi + ) + # Should be near 500, may overshoot by one item (~200 chars) + assert total <= 900 + + def test_center_at_start(self): + items = [_item(i) for i in range(10)] + lo, hi = _expand_outward(items, 0, max_items=5, max_chars=999999) + assert lo == 0 + + def test_center_at_end(self): + items = [_item(i) for i in range(10)] + lo, hi = _expand_outward(items, 9, max_items=5, max_chars=999999) + assert hi == 9 + + def test_skip_noise_excludes_from_char_count(self): + items = [ + _item(0, text="a" * 100), + _item(1, label="footnote", text="f" * 5000), + _item(2, text="b" * 100), + _item(3, text="c" * 100), + _item(4, label="footnote", text="f" * 5000), + _item(5, text="d" * 100), + ] + lo, hi = _expand_outward(items, 2, max_items=10, max_chars=500, skip_noise=True) + # Footnotes (5000 chars each) should NOT count toward budget + # So we should expand past them + assert lo <= 0 + assert hi >= 5 + + def test_noise_center_gets_zero_chars(self): + items = [ + _item(0, text="a" * 200), + _item(1, label="document_index", text="x" * 10000), + _item(2, text="b" * 200), + ] + lo, hi = _expand_outward(items, 1, max_items=10, max_chars=500, skip_noise=True) + # Center is noise, should start at 0 chars and expand outward + assert lo == 0 + assert hi == 2 + + +class TestFindExpansionRange: + def _structured_items(self): + """Document with two sections, each over min_useful (1000 chars).""" + return [ + _item(0, label="section_header", text="Introduction"), + _item(1, text="First paragraph. " * 40), # ~680 chars + _item(2, text="Second paragraph. " * 40), # ~720 chars + _item(3, label="footnote", text="Some footnote."), + _item(4, label="section_header", text="Methods"), + _item(5, text="Methods paragraph one. " * 40), # ~920 chars + _item(6, text="Methods paragraph two. " * 40), # ~920 chars + ] + + def test_structured_returns_section(self): + items = self._structured_items() + lo, hi = _find_expansion_range( + items, {1}, has_sections=True, max_items=20, max_chars=5000 + ) + # Should return the Introduction section (items 0-3) + assert lo == 0 + assert hi == 3 + + def test_structured_different_section(self): + items = self._structured_items() + lo, hi = _find_expansion_range( + items, {5}, has_sections=True, max_items=20, max_chars=5000 + ) + # Should return the Methods section (items 4-6) + assert lo == 4 + assert hi == 6 + + def test_structured_large_section_falls_back_to_outward(self): + items = [ + _item(0, label="section_header", text="Big Section"), + ] + [_item(i, text="x" * 1000) for i in range(1, 20)] + # Section has 19 * 1000 = 19000 chars, way over 5000 budget + lo, hi = _find_expansion_range( + items, {10}, has_sections=True, max_items=50, max_chars=5000 + ) + # Should NOT return the full section + total = sum( + len(items[i].text) for i in range(lo, hi + 1) if items[i].position >= lo + ) + assert total < 10000 + + def test_structured_small_section_expands_outward(self): + items = [ + _item(0, label="title", text="Paper Title"), + _item(1, text="Author names"), + _item(2, label="section_header", text="Abstract"), + _item(3, text="Abstract content. " * 50), + _item(4, label="section_header", text="Introduction"), + _item(5, text="Intro content. " * 50), + ] + # Title section (items 0-1) is tiny (~25 chars) < 20% of 5000 + lo, hi = _find_expansion_range( + items, {0}, has_sections=True, max_items=20, max_chars=5000 + ) + # Should expand past the title section into the abstract + assert hi >= 3 + + def test_unstructured_expands_outward(self): + items = [_item(i, text=f"Paragraph {i}. " * 10) for i in range(10)] + lo, hi = _find_expansion_range( + items, {5}, has_sections=False, max_items=20, max_chars=5000 + ) + assert lo < 5 + assert hi > 5 + + def test_multiple_matched_positions_uses_center(self): + items = [_item(i, text="x" * 100) for i in range(20)] + # Match at positions 3 and 7, center should be index for position 5 (median) + lo, hi = _find_expansion_range( + items, {3, 7}, has_sections=False, max_items=5, max_chars=999999 + ) + center = (lo + hi) // 2 + # Center should be around position 5 + assert 3 <= center <= 7 + + def test_noise_excluded_from_section_char_count(self): + items = [ + _item(0, label="section_header", text="Section"), + _item(1, text="Real content." * 10), + _item(2, label="footnote", text="x" * 10000), + _item(3, text="More content." * 10), + ] + # Section non-noise chars: ~260 chars (items 0,1,3). Under 5000 budget. + # The footnote's 10000 chars should NOT count. + lo, hi = _find_expansion_range( + items, {1}, has_sections=True, max_items=20, max_chars=5000 + ) + # Should return full section (it fits in budget excluding noise) + assert lo == 0 + assert hi == 3 + + def test_items_before_first_header_form_section(self): + items = [ + _item(0, text="Preamble text."), + _item(1, text="More preamble."), + _item(2, label="section_header", text="First Section"), + _item(3, text="Section content."), + ] + lo, hi = _find_expansion_range( + items, {0}, has_sections=True, max_items=20, max_chars=5000 + ) + # Match is in preamble section (items 0-1), which is small + # Should expand outward into the first section + assert hi >= 2 diff --git a/tests/test_context_enhancement.py b/tests/test_context_enhancement.py index f1a03792..021c8b50 100644 --- a/tests/test_context_enhancement.py +++ b/tests/test_context_enhancement.py @@ -5,7 +5,6 @@ from docling_core.types.doc.labels import DocItemLabel from haiku.rag.client import HaikuRAG from haiku.rag.config.models import AppConfig from haiku.rag.store.models import SearchResult -from haiku.rag.store.models.chunk import Chunk async def create_document_with_docling( @@ -224,11 +223,10 @@ async def test_code_expansion_includes_adjacent_blocks( @pytest.mark.vcr() -async def test_text_expansion_uses_radius(temp_db_path): - """Text content expansion should use radius, not structural boundaries.""" +async def test_text_expansion_includes_surrounding(temp_db_path): + """Text content expansion should include surrounding paragraphs.""" config = AppConfig() config.processing.chunk_size = 32 - config.search.context_radius = 1 # Small radius # Create a document with longer paragraphs that will split doc = DoclingDocument(name="text_test") @@ -260,8 +258,7 @@ async def test_text_expansion_uses_radius(temp_db_path): original = results[0] expanded = await client.expand_context(results) - # With radius=1, expansion should include adjacent paragraphs - # Content length should be >= original (may add adjacent content) + # Expansion should include adjacent paragraphs assert len(expanded[0].content) >= len(original.content) @@ -335,210 +332,61 @@ async def test_max_items_limit_caps_expansion(temp_db_path): assert item_count <= 2, f"Expected at most 2 items, got {item_count}" -@pytest.mark.vcr() -async def test_expand_context_radius_zero(temp_db_path): - """Test expand_context with radius 0 returns original results.""" - # Default config has context_radius=0 +async def test_expand_context_single_item_document(temp_db_path): + """Test expand_context with a single-item document.""" + from haiku.rag.store.models.document import Document + + docling_doc = DoclingDocument(name="simple") + docling_doc.add_text(label=DocItemLabel.PARAGRAPH, text="Simple test content") + async with HaikuRAG(temp_db_path, create=True) as client: - doc = await client.create_document(content="Simple test content") + document = Document(content="Simple test content") + document.set_docling(docling_doc) + doc = await client._store_document_with_chunks(document, [], docling_doc) assert doc.id is not None - chunks = await client.chunk_repository.get_by_document_id(doc.id) - search_results = [SearchResult.from_chunk(chunks[0], 0.9)] + # Create a search result with a doc_item_ref pointing to the item + items = await client.document_item_repository.get_items_in_range(doc.id, 0, 10) + assert len(items) > 0 + + search_results = [ + SearchResult( + content="Simple test content", + score=0.9, + document_id=doc.id, + doc_item_refs=[items[0].self_ref], + ) + ] expanded_results = await client.expand_context(search_results) - # Should return exactly the same results assert len(expanded_results) == 1 - assert expanded_results[0].content == search_results[0].content - assert expanded_results[0].score == search_results[0].score + assert expanded_results[0].score == 0.9 + assert "Simple test content" in expanded_results[0].content -@pytest.mark.vcr() -async def test_expand_context_multiple_documents(temp_db_path): - """Test expand_context with results from multiple documents.""" - config = AppConfig() - config.search.context_radius = 1 - - async with HaikuRAG(temp_db_path, config=config, create=True) as client: - # Create first document with manual chunks - docling_doc1 = DoclingDocument(name="doc1") - docling_doc1.add_text(label=DocItemLabel.TEXT, text="Doc1 content") - doc1_chunks = [ - Chunk(content="Doc1 Part A", order=0), - Chunk(content="Doc1 Part B", order=1), - Chunk(content="Doc1 Part C", order=2), - ] - doc1 = await client.import_document( - docling_document=docling_doc1, chunks=doc1_chunks, uri="doc1.txt" - ) - - # Create second document with manual chunks - docling_doc2 = DoclingDocument(name="doc2") - docling_doc2.add_text(label=DocItemLabel.TEXT, text="Doc2 content") - doc2_chunks = [ - Chunk(content="Doc2 Section X", order=0), - Chunk(content="Doc2 Section Y", order=1), - ] - doc2 = await client.import_document( - docling_document=docling_doc2, chunks=doc2_chunks, uri="doc2.txt" - ) - - assert doc1.id is not None - assert doc2.id is not None - chunks1 = await client.chunk_repository.get_by_document_id(doc1.id) - chunks2 = await client.chunk_repository.get_by_document_id(doc2.id) - - # Get middle chunk from doc1 (order=1) and first chunk from doc2 (order=0) - chunk1 = next(c for c in chunks1 if c.order == 1) - chunk2 = next(c for c in chunks2 if c.order == 0) - +async def test_expand_context_no_refs_passes_through(temp_db_path): + """Results without doc_item_refs pass through unexpanded.""" + async with HaikuRAG(temp_db_path, create=True) as client: + # A search result with no doc_item_refs should pass through as-is search_results = [ - SearchResult.from_chunk(chunk1, 0.8), - SearchResult.from_chunk(chunk2, 0.7), + SearchResult( + content="Some chunk content", + score=0.8, + document_id="some-doc", + doc_item_refs=[], + ) ] - expanded_results = await client.expand_context(search_results) + expanded = await client.expand_context(search_results) - assert len(expanded_results) == 2 - - # Check first expanded result (should include chunks 0,1,2 from doc1) - expanded1 = expanded_results[0] - assert expanded1.score == 0.8 - assert "Doc1 Part A" in expanded1.content - assert "Doc1 Part B" in expanded1.content - assert "Doc1 Part C" in expanded1.content - - # Check second expanded result (should include chunks 0,1 from doc2) - expanded2 = expanded_results[1] - assert expanded2.score == 0.7 - assert "Doc2 Section X" in expanded2.content - assert "Doc2 Section Y" in expanded2.content - - -@pytest.mark.vcr() -async def test_expand_context_merges_overlapping_chunks(temp_db_path): - """Test that overlapping expanded chunks are merged into one.""" - config = AppConfig() - config.search.context_radius = 1 - - async with HaikuRAG(temp_db_path, config=config, create=True) as client: - # Create document with 5 chunks - docling_doc = DoclingDocument(name="test") - docling_doc.add_text(label=DocItemLabel.TEXT, text="Full document content") - manual_chunks = [ - Chunk(content="Chunk 0", order=0), - Chunk(content="Chunk 1", order=1), - Chunk(content="Chunk 2", order=2), - Chunk(content="Chunk 3", order=3), - Chunk(content="Chunk 4", order=4), - ] - - doc = await client.import_document( - docling_document=docling_doc, chunks=manual_chunks - ) - - assert doc.id is not None - chunks = await client.chunk_repository.get_by_document_id(doc.id) - - # Get adjacent chunks (orders 1 and 2) - these will overlap when expanded - chunk1 = next(c for c in chunks if c.order == 1) - chunk2 = next(c for c in chunks if c.order == 2) - - # With radius=1: - # chunk1 expanded would be [0,1,2] - # chunk2 expanded would be [1,2,3] - # These should merge into one chunk containing [0,1,2,3] - search_results = [ - SearchResult.from_chunk(chunk1, 0.8), - SearchResult.from_chunk(chunk2, 0.7), - ] - expanded_results = await client.expand_context(search_results) - - # Should have only 1 merged result instead of 2 overlapping ones - assert len(expanded_results) == 1 - - merged = expanded_results[0] - - # Should contain all chunks from 0 to 3 - assert "Chunk 0" in merged.content - assert "Chunk 1" in merged.content - assert "Chunk 2" in merged.content - assert "Chunk 3" in merged.content - assert "Chunk 4" not in merged.content # Should not include chunk 4 - - # Should use the higher score (0.8) - assert merged.score == 0.8 - - -@pytest.mark.vcr() -async def test_expand_context_keeps_separate_non_overlapping(temp_db_path): - """Test that non-overlapping expanded chunks remain separate.""" - config = AppConfig() - config.search.context_radius = 1 - - async with HaikuRAG(temp_db_path, config=config, create=True) as client: - # Create document with chunks far apart - docling_doc = DoclingDocument(name="test") - docling_doc.add_text(label=DocItemLabel.TEXT, text="Full document content") - manual_chunks = [ - Chunk(content="Chunk 0", order=0), - Chunk(content="Chunk 1", order=1), - Chunk(content="Chunk 2", order=2), - Chunk(content="Chunk 5", order=5), # Gap here - Chunk(content="Chunk 6", order=6), - Chunk(content="Chunk 7", order=7), - ] - - doc = await client.import_document( - docling_document=docling_doc, chunks=manual_chunks - ) - - assert doc.id is not None - chunks = await client.chunk_repository.get_by_document_id(doc.id) - - # Get chunks by index - they will have sequential orders 0,1,2,3,4,5 - # So get chunk with order=0 and chunk with order=5 (far enough apart) - chunk0 = next(c for c in chunks if c.order == 0) # Content: "Chunk 0" - chunk5 = next( - c for c in chunks if c.order == 5 - ) # Content: "Chunk 7" but now at order 5 - - # chunk0 expanded: [0,1] with radius=1 (orders 0,1) - # chunk5 expanded: [4,5] with radius=1 (orders 4,5) - search_results = [ - SearchResult.from_chunk(chunk0, 0.8), - SearchResult.from_chunk(chunk5, 0.7), - ] - expanded_results = await client.expand_context(search_results) - - # Should have 2 separate results - assert len(expanded_results) == 2 - - # Sort by score to ensure predictable order - expanded_results.sort(key=lambda x: x.score, reverse=True) - - chunk0_expanded = expanded_results[0] - chunk5_expanded = expanded_results[1] - - # First chunk (order=0) expanded should contain orders [0,1] - # Content should be "Chunk 0" + "Chunk 1" - assert "Chunk 0" in chunk0_expanded.content - assert "Chunk 1" in chunk0_expanded.content - assert "Chunk 5" not in chunk0_expanded.content - assert chunk0_expanded.score == 0.8 - - # Second chunk (order=5) expanded should contain orders [4,5] - # Content should be "Chunk 6" (order 4) + "Chunk 7" (order 5) - assert "Chunk 6" in chunk5_expanded.content - assert "Chunk 7" in chunk5_expanded.content - assert "Chunk 0" not in chunk5_expanded.content - assert chunk5_expanded.score == 0.7 + assert len(expanded) == 1 + assert expanded[0].content == "Some chunk content" + assert expanded[0].score == 0.8 @pytest.mark.vcr() async def test_expand_context_with_docling_merges_overlapping(temp_db_path): """Test that expand_context with DoclingDocument merges overlapping results.""" config = AppConfig() - config.search.context_radius = 3 markdown_content = """# Chapter 1 @@ -593,7 +441,6 @@ This is paragraph four about topic C. async def test_expand_context_docling_merges_metadata(temp_db_path): """Test that expand_context properly merges metadata from multiple results.""" config = AppConfig() - config.search.context_radius = 10 markdown_content = """# Introduction @@ -676,7 +523,6 @@ async def test_expand_context_no_base64_images(temp_db_path): base64 image data from leaking into the expanded content. """ config = AppConfig() - config.search.context_radius = 5 # Expand enough to include pictures docling_doc = create_picture_document() @@ -713,7 +559,6 @@ async def test_expand_context_no_base64_images_docling_local(temp_db_path): config.processing.converter = "docling-local" config.processing.chunker = "docling-local" config.processing.conversion_options.do_ocr = False - config.search.context_radius = 5 async with HaikuRAG(temp_db_path, config=config, create=True) as client: pdf_path = Path(__file__).parent / "data" / "doclaynet.pdf" @@ -747,7 +592,6 @@ async def test_expand_context_no_base64_images_docling_serve(temp_db_path): config = AppConfig() config.processing.converter = "docling-serve" config.processing.chunker = "docling-serve" - config.search.context_radius = 5 async with HaikuRAG(temp_db_path, config=config, create=True) as client: pdf_path = Path(__file__).parent / "data" / "doclaynet.pdf" diff --git a/tests/test_document.py b/tests/test_document.py index 635c31d8..a19ce115 100644 --- a/tests/test_document.py +++ b/tests/test_document.py @@ -142,93 +142,6 @@ def test_document_get_docling_document_none(): assert document.get_docling_document() is None -def test_document_get_docling_document_caching(): - """Test that get_docling_document uses LRU cache keyed by document ID.""" - from haiku.rag.store.models.document import ( - _docling_document_cache, - invalidate_docling_document_cache, - ) - - doc_json = { - "name": "test_doc", - "texts": [ - { - "self_ref": "#/texts/0", - "text": "Test text", - "orig": "Test text", - "label": "paragraph", - }, - ], - "tables": [], - "pictures": [], - "groups": [], - "body": {"self_ref": "#/body", "children": []}, - "furniture": {"self_ref": "#/furniture", "children": []}, - } - - import json - - from haiku.rag.store.compression import compress_json - - compressed = compress_json(json.dumps(doc_json)) - - # Clear cache to get clean state - _docling_document_cache.clear() - - document = Document( - id="test-doc-id", content="Test content", docling_document=compressed - ) - - # First call - not in cache - assert "test-doc-id" not in _docling_document_cache - doc1 = document.get_docling_document() - assert "test-doc-id" in _docling_document_cache - - # Second call - cache hit, same object - doc2 = document.get_docling_document() - assert doc1 is doc2 - - # Invalidation removes from cache - invalidate_docling_document_cache("test-doc-id") - assert "test-doc-id" not in _docling_document_cache - - -def test_document_get_docling_document_no_id_no_cache(): - """Test that documents without ID don't use cache.""" - from haiku.rag.store.models.document import _docling_document_cache - - doc_json = { - "name": "test_doc", - "texts": [], - "tables": [], - "pictures": [], - "groups": [], - "body": {"self_ref": "#/body", "children": []}, - "furniture": {"self_ref": "#/furniture", "children": []}, - } - - import json - - from haiku.rag.store.compression import compress_json - - compressed = compress_json(json.dumps(doc_json)) - - # Clear cache - _docling_document_cache.clear() - - # Document without ID - document = Document(content="Test content", docling_document=compressed) - - doc1 = document.get_docling_document() - doc2 = document.get_docling_document() - - # Cache should remain empty (no ID to cache by) - assert len(_docling_document_cache) == 0 - - # Each call parses fresh (different objects) - assert doc1 is not doc2 - - def test_set_docling_splits_structure_and_pages(): """set_docling stores structure and pages separately.""" import json diff --git a/uv.lock b/uv.lock index db7c0202..164a78d3 100644 --- a/uv.lock +++ b/uv.lock @@ -1503,7 +1503,6 @@ name = "haiku-rag-slim" version = "0.40.0" source = { editable = "haiku_rag_slim" } dependencies = [ - { name = "cachetools" }, { name = "docling-core" }, { name = "haiku-skills" }, { name = "httpx" }, @@ -1568,7 +1567,6 @@ zeroentropy = [ [package.metadata] requires-dist = [ - { name = "cachetools", specifier = ">=7.0.5" }, { name = "cohere", marker = "extra == 'cohere'", specifier = ">=5.21.1" }, { name = "docling", marker = "extra == 'docling'", specifier = ">=2.84.0" }, { name = "docling-core", specifier = ">=2.71.0,<2.72" },