Implementation:Explodinggradients Ragas MemorableNames Class
| Knowledge Sources | |
|---|---|
| Domains | Utilities, Naming |
| Last Updated | 2026-02-10 00:00 GMT |
Overview
Generator for memorable, unique Docker-style names combining adjectives with scientist names for datasets and experiments.
Description
MemorableNames generates human-readable unique names by combining random adjectives (112 options) with famous scientist names (76 options). It uses a used-names set to ensure uniqueness, with fallback to random suffixes after 100 attempts. A global instance memorable_names is available for convenient access.
Usage
Use this class when you need unique human-readable names for datasets or experiments, typically via the global memorable_names instance.
Code Reference
Source Location
- Repository: Explodinggradients_Ragas
- File: src/ragas/backends/utils.py
- Lines: 8-219
Signature
class MemorableNames:
def __init__(self) -> None:
...
def generate_name(self) -> str:
...
def generate_unique_name(self) -> str:
...
def generate_unique_names(self, count: int) -> List[str]:
...
Import
from ragas.backends.utils import memorable_names, MemorableNames
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| count | int | Yes (for generate_unique_names) | Number of unique names to generate |
Outputs
| Name | Type | Description |
|---|---|---|
| generate_name returns | str | Random adjective-scientist name |
| generate_unique_name returns | str | Unique adjective-scientist name |
| generate_unique_names returns | List[str] | Multiple unique names |
Usage Examples
from ragas.backends.utils import memorable_names
# Generate a unique name
name = memorable_names.generate_unique_name()
print(name) # e.g., "brilliant-einstein"
# Generate multiple unique names
names = memorable_names.generate_unique_names(5)
print(names)