Adaptive Engine allows you to annotate your LLM completions with scalar, boolean or preference feedback. Feedbacks power your continuous improvement journey in Adaptive ML: you can use them for observability, evaluation and as training objectives.

There are 2 types of feedback you can log: metrics and preference sets. A metric is a boolean or scalar value attached to an individual completion. A preference set is a tuple of completions, where one is marked as preferred, and the other as dispreferred.

Taxonomy of feedback types in Adaptive Engine

To log feedback, you must first register a feedback key to log against. If you want to associate a metric to a use case so you can later organize and analyze aggregate performance or individual results associated with it, you can link the metric to the use case.

Create an Adaptive client first

Register feedback key
register_key = client.feedback.register_key(
    key="acceptance",
    kind="bool",
    scoring_type="higher_is_better",
)

See the SDK Reference to see the full method definition.

Metrics

Metrics are valuable when you can measure or quantify some dimension about a completion. Examples of what those could be:

  • immediate human feedback, such as acceptance/rejection of a completion
  • downstream impact of a completion, such as customer churn or avoidance of it
  • user satisfaction [0-5] for a given conversation
  • execution feedback for generated code, such as success/error

Since metrics have a quantifiable value, Adaptive allows you to track their progress across time, helping you visualize the ongoing production feedback of newly trained models or prompting strategies beyond static, point-in-time evaluations.

The Adaptive Engine UI allows you to track and monitor production feedback for your models against selected feedback keys

Preference sets

Preference sets are useful when you cannot quantify your feedback, but only provide a relative judgement between 2 completions. For example, you may be able to judge one completion as less toxic than another, but neither of them as toxic or not toxic individually.

Although preference sets are not plotted in the Adaptive UI, you may also use them for preference fine-tuning.

See Log Feedback to see how to use the Adaptive SDK to log feedback.

See the SDK Reference for all feedback-related methods.