services/source_rag_service library

High-level RAG service for managing sources and chunks.

This service provides a convenient API that combines:

  • Rust plain-text and markdown chunking for document splitting
  • EmbeddingService for vector generation
  • Rust source_rag APIs for storage and search
  • ContextBuilder for LLM context assembly
  • Hybrid search combining vector and BM25 keyword search

Classes

RagSearchResult
Search result with assembled context.
SearchMetaResult
Result of the additive low-level search lane.
SourceAddResult
Result of adding a source document with automatic chunking.
SourceRagService
High-level service for source-based RAG operations.

Enums

ChunkingStrategy
Chunking strategy for document processing.
DuplicateSourceIngestionDecision

Extensions

RagErrorMessage on RagError

Functions

buildChunkEmbeddingText({required String content, required String chunkType}) String
decideDuplicateSourceIngestion({required String? status, required int chunkCount}) DuplicateSourceIngestionDecision
mergeCanonicalChunkSearchResult({required ChunkSearchResult fallback, ChunkSearchResult? canonical}) ChunkSearchResult