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
Functions
-
buildChunkEmbeddingText(
{required String content, required String chunkType}) → String -
decideDuplicateSourceIngestion(
{required String? status, required int chunkCount}) → DuplicateSourceIngestionDecision -
mergeCanonicalChunkSearchResult(
{required ChunkSearchResult fallback, ChunkSearchResult? canonical}) → ChunkSearchResult