Zum Inhalt

Reasonings

Während einfache Ratings eine binäre Bewertung von Kriterien liefern, bieten Reasonings (Begründungen) detaillierte Erklärungen, warum eine Antwort bestimmte Kriterien erfüllt oder nicht erfüllt. Die Reasonings bieten Ihnen:

  • Detaillierte Analyse: Statt nur wahr/falsch erhalten Sie eine textuelle Erklärung, wie die Antwort die einzelnen Kriterien erfüllt
  • Umsetzbare Rückmeldungen: Klare Erklärungen helfen dabei, konkrete Verbesserungsbereiche zu identifizieren
  • Transparenz: Macht den Rating-Prozess nachvollziehbarer und stärkt das Vertrauen in das Rating-System

Das folgende Beispiel zeigt, wie Sie detaillierte Reasonings mit elluminate erhalten:

from dotenv import load_dotenv
from elluminate import Client
from elluminate.schemas import RatingMode

load_dotenv(override=True)

client = Client()

prompt_template, _ = client.prompt_templates.get_or_create(
    "Write three sentences of increasing complexity about {{topic}}. Use one very odd word in each sentence.",
    name="Complex sentences",
)

criteria = [
    "Are the sentences of clearly increasing complexity?",
    "Are the sentences about {{topic}}?",
    "Does each sentence contain one very odd word?",
]  # (1)!
client.criteria.add_many(criteria, prompt_template=prompt_template, delete_existing=True)


template_variables = client.template_variables.add_to_collection(
    template_variables={"topic": "LLM Evaluation"},
    collection=prompt_template.default_template_variables_collection,
)

response = client.responses.generate(
    prompt_template,
    template_variables=template_variables,
)

ratings = client.ratings.rate(response, rating_mode=RatingMode.DETAILED)  # (2)!

# Print results
print(f"Response: {response.response}")
for rating in ratings:
    print(f"Criteria: {rating.criterion.criterion_str}")
    print(f"Reasoning: {rating.reasoning}")
    print(f"Rating: {rating.rating}\n")
1. Die Kriterien können auch Template-Variablen enthalten, die ersetzt werden, wenn das Kriterium gegen eine Antwort auf einen bestimmten Prompt ausgewertet wird.

2. Um ein ausführliches Reasoning für Ihre Ratings zu erhalten, müssen Sie `RatingMode.DETAILED` verwenden. Beachten Sie, dass dies mehr Zeit in Anspruch nimmt als einfache Ratings mit `RatingMode.FAST`.

Verwenden Sie detaillierte Reasonings, wenn Sie:

  • Die Leistung von Prompts debuggen müssen
  • Die Prompt-Qualität systematisch verbessern möchten
  • Neue Teammitglieder einarbeiten

Beachten Sie, dass die Generierung von Reasonings mehr Zeit in Anspruch nimmt als einfache Ratings. Verwenden Sie daher RatingMode.FAST für schnelle Ratings und RatingMode.DETAILED, wenn Sie den zusätzlichen Kontext benötigen. Sie können das Reasoning in der Detailansicht eines Ratings in der Benutzeroberfläche einsehen.

reasoning

Von hier aus können Sie auch manuell das Rating sowie das Reasoning ändern.

reasoning