RAGExperimentConfig

org.llm4s.rag.benchmark.RAGExperimentConfig
See theRAGExperimentConfig companion object
final case class RAGExperimentConfig(name: String, description: String, chunkingStrategy: Strategy, chunkingConfig: ChunkingConfig, embeddingConfig: EmbeddingConfig, fusionStrategy: FusionStrategy, topK: Int, useReranker: Boolean, rerankTopK: Int)

Configuration for a single RAG experiment.

Defines all parameters that can vary between experiments:

  • Chunking strategy and parameters
  • Embedding provider and model
  • Search fusion strategy
  • Retrieval settings

Value parameters

chunkingConfig

Parameters for chunking (size, overlap, etc.)

chunkingStrategy

Which chunker to use (Simple, Sentence, Markdown, Semantic)

description

Human-readable description

embeddingConfig

Embedding provider configuration

fusionStrategy

How to combine vector and keyword search results

name

Unique identifier for this experiment

rerankTopK

Number of candidates for reranking (if enabled)

topK

Number of chunks to retrieve

useReranker

Whether to apply cross-encoder reranking

Attributes

Example
val config = RAGExperimentConfig(
 name = "sentence-rrf60",
 description = "Sentence chunking with RRF fusion",
 chunkingStrategy = ChunkerFactory.Strategy.Sentence,
 fusionStrategy = FusionStrategy.RRF(60),
 topK = 5
)
Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def fullDescription: String

Full description for reports

Full description for reports

Attributes

def shortName: String

Short identifier for display

Short identifier for display

Attributes

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product