Zum Inhalt

Testdaten Generierung

Erweitern Sie automatisch Ihre Test-Datasets mit semantisch ähnlichen synthetischen Beispielen

elluminate bietet Funktionen zur Generierung synthetischer Testdaten basierend auf bestehenden Template-Variablen. Dies ermöglicht es Ihnen, Ihre Testdaten automatisch mit semantisch ähnlichen Daten zu erweitern.

Nutzung im Python SDK

Das folgende Beispiel zeigt, wie man synthetische Testdaten generiert:

"""v1.0 API version of example_sdk_usage_generate_testset.py

Demonstrates testset generation - automatically expanding test collections
with LLM-generated variations based on existing examples.

v1.0 API:
- collection.generate_variables(prompt_template) - generates a new test case using AI
"""

from dotenv import load_dotenv
from elluminate import Client

load_dotenv(override=True)

client = Client()

# v1.0: get_or_create_prompt_template - messages is part of lookup
template, _ = client.get_or_create_prompt_template(
    name="University Nobel Laureates (Generated)",
    messages="List the most impactful Nobel Prize winners from {{university}} in {{state}} "
    "and their breakthrough discoveries.",
)

# v1.0: get_or_create_collection (name is the lookup key)
collection, _ = client.get_or_create_collection(
    name="Top Universities - Generated",
    defaults={"description": "A collection of prestigious US universities (Generated)"},
)

# v1.0: Seed the collection with initial example data
# This gives the generator examples to learn the pattern from
collection.add_many(
    variables=[
        {"university": "MIT", "state": "Massachusetts"},
    ]
)

# v1.0: Generate new test cases using AI
# The generator uses the existing entries as examples to create new variations
generated_values = []
for _ in range(2):
    generated_var = collection.generate_variables(template)
    generated_values.append(generated_var)

print("Generated test cases:")
for template_variables in generated_values:
    print(f"  {template_variables.input_values}")

# Example output:
# {'state': 'Alaska', 'university': 'University of Alaska Fairbanks'}
# {'state': 'Tennessee', 'university': 'Vanderbilt University'}
  1. Erstellen Sie ein Prompt-Template, das die Struktur Ihrer Prompts definiert. Die Template-Variablen werden zur Generierung von weiteren Testdaten verwendet.

  2. Definieren Sie Ihre Basis-Template-Variablen, die als Beispiele für die Testdatengenerierung dienen.

  3. Erstellen Sie eine Collection zur Speicherung Ihrer Template-Variablen und fügen Sie die Basisbeispiele hinzu.

  4. Generieren Sie Testdaten mit generate_entry. Die generierten Daten behalten die gleiche Struktur wie Ihre Basisdaten bei und bieten semantische Variationen.

Nutzung im Frontend

Öffnen Sie die Template Variable Collection und klicken Sie ganz unten auf den Magic Generate Button (mit einem Stern). Sie können den Button mehrfach anklicken, um mehr Testdaten zu generieren.

Testset Generation

Best Practices

  1. Qualität der Basisdaten: Beginnen Sie mit hochwertigen, repräsentativen Beispieldaten für bessere synthetische Generierungen.
  2. Validierung: Überprüfen Sie generierte Testdaten immer, bevor Sie sie in der Produktion verwenden.
  3. Diversität: Fügen Sie verschiedene Basisdaten hinzu, um vielfältigere Testdaten zu erhalten.
  4. Iterative Verfeinerung: Nutzen Sie generierte Beispiele, um potenzielle Randfälle zu identifizieren und Ihre Prompt-Templates zu verbessern.