DocumentLoader
org.llm4s.rag.loader.DocumentLoader
trait DocumentLoader
Abstraction for loading documents from any source into the RAG pipeline.
DocumentLoader provides a unified interface for various document sources:
- Files and directories
- URLs and web content
- Cloud storage (S3, GCS, Azure Blob)
- Databases and APIs
- Custom sources
Key design principles:
- Streaming support via Iterator for large document sets
- Graceful error handling with LoadResult for partial failures
- Optional hints for processing optimization
- Composability through the ++ operator
Usage:
// At build time - pre-ingest documents
val rag = RAG.builder()
.withDocuments(DirectoryLoader("./docs"))
.build()
// At ingest time - add documents later
rag.ingest(UrlLoader(urls))
// Combine loaders
val combined = DirectoryLoader("./docs") ++ UrlLoader(urls)
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Members list
In this article