Skip to content

Investigate whether self-check tasks should use config-level lowest_temperature #2080

Description

@coderabbitai

Summary

Track the use of config.lowest_temperature in self-check actions and evaluate whether temperature selection should remain a global config-level setting or become task-/rail-specific.

Background

In PR #1874, the self-check implementation calls run_self_check_task(...) with lowest_temperature=config.lowest_temperature from the config object. This raised a review concern because self-check tasks can now be parameterized and chained, but temperature control is still sourced from a global config field.

Relevant discussion:

Why this needs follow-up

Using a single config-level lowest_temperature may be too coarse-grained for:

  • multiple sequential self-check tasks with different prompt characteristics
  • future task-specific tuning needs
  • clearer ownership of temperature behavior inside self-check execution paths

Affected areas

  • nemoguardrails/library/self_check/input_check/actions.py
  • nemoguardrails/library/self_check/output_check/actions.py
  • nemoguardrails/library/self_check/utils.py
  • any config/schema/docs describing lowest_temperature behavior for self-check rails

Proposed investigation

  1. Identify all current call sites that pass config.lowest_temperature into self-check execution.
  2. Clarify the intended contract of lowest_temperature:
    • global lower bound for all LLM tasks, or
    • behavior specific to self-check prompts, or
    • candidate for per-task/per-rail override
  3. Decide whether self-check tasks should support an explicit temperature override independent of the global config.
  4. Update tests and docs to reflect the chosen behavior.

Acceptance criteria

  • The intended semantics of lowest_temperature are documented.
  • Either:
    • the current config-level behavior is explicitly validated and documented, or
    • self-check task execution is refactored to use a more appropriate task-/rail-level configuration.
  • Tests cover the selected behavior.
  • The implementation for input and output self-checks is consistent.

Requested by: @Pouyanpi

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions