Implementation:Explodinggradients Ragas DemonstrationConfig And InstructionConfig
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Configuration, Optimization |
| Last Updated | 2026-02-10 00:00 GMT |
Overview
Pydantic configuration models for controlling prompt optimization parameters: demonstration selection and instruction tuning.
Description
DemonstrationConfig controls few-shot example selection during prompt optimization, supporting random or similarity-based techniques with configurable top-k and threshold. InstructionConfig configures instruction optimization with an LLM, loss function, and optimizer (defaults to GeneticOptimizer).
Usage
Use these configuration models when setting up prompt optimization workflows with Ragas optimizers.
Code Reference
Source Location
- Repository: Explodinggradients_Ragas
- File: src/ragas/config.py
- Lines: 15-37
Signature
class DemonstrationConfig(BaseModel):
embedding: Any # must be BaseRagasEmbeddings
enabled: bool = True
top_k: int = 3
threshold: float = 0.7
technique: Literal["random", "similarity"] = "similarity"
class InstructionConfig(BaseModel):
llm: BaseRagasLLM
enabled: bool = True
loss: Optional[Loss] = None
optimizer: Optimizer = GeneticOptimizer()
optimizer_config: Dict[str, Any] # default: {"max_steps": 100}
Import
from ragas.config import DemonstrationConfig, InstructionConfig
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| embedding | BaseRagasEmbeddings | Yes (DemonstrationConfig) | Embedding model for similarity-based selection |
| llm | BaseRagasLLM | Yes (InstructionConfig) | LLM for instruction optimization |
| loss | Optional[Loss] | No | Loss function for optimization |
| optimizer | Optimizer | No | Optimizer instance (default: GeneticOptimizer) |
Outputs
| Name | Type | Description |
|---|---|---|
| DemonstrationConfig | BaseModel | Configuration for demonstration/few-shot selection |
| InstructionConfig | BaseModel | Configuration for instruction optimization |
Usage Examples
from ragas.config import DemonstrationConfig, InstructionConfig
from ragas.llms import llm_factory
from ragas.embeddings import embedding_factory
llm = llm_factory()
embeddings = embedding_factory()
demo_config = DemonstrationConfig(
embedding=embeddings,
technique="similarity",
top_k=5,
threshold=0.8,
)
instruction_config = InstructionConfig(
llm=llm,
optimizer_config={"max_steps": 50},
)
Related Pages
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment