Skip to content

Downgrade model to gpt-4o-mini#2990

Closed
fao89 wants to merge 1 commit into
openshift:mainfrom
fao89:gpt-4o-mini
Closed

Downgrade model to gpt-4o-mini#2990
fao89 wants to merge 1 commit into
openshift:mainfrom
fao89:gpt-4o-mini

Conversation

@fao89

@fao89 fao89 commented Jul 7, 2026

Copy link
Copy Markdown
Member

Signed-off-by: Fabricio Aguiar fabricio.aguiar@gmail.com

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED

Description

Type of change

  • Refactor
  • New feature
  • Bug fix
  • CVE fix
  • Optimization
  • Documentation Update
  • Configuration Update
  • Bump-up dependent library
  • Bump-up library or tool used for development (does not change the final image)
  • CI configuration change
  • Konflux configuration change

Related Tickets & Documents

  • Related Issue #
  • Closes #

Checklist before requesting a review

  • I have performed a self-review of my code.
  • PR has passed all pre-merge test jobs.
  • If it is a core feature, I have added thorough tests.

Testing

  • Please provide detailed steps to perform tests related to this code change.
  • How were the fix/results from this change verified? Please provide relevant screenshots or results.

Summary by CodeRabbit

  • Chores / Configuration Updates
    • Switched the default evaluation and judge LLM model from gpt-4.1-mini to gpt-4o-mini across standard evaluations, LSEval, and cluster update evals, including Azure OpenAI configuration, model mappings, and test evaluation answer data.
  • Tests
    • Updated e2e/evaluation scripts, expected API payloads, and OLSConfig sample manifests to use gpt-4o-mini, keeping test expectations consistent.

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This PR switches evaluation defaults, OLSConfig fixtures, e2e assertions, shell script suite arguments, and eval data from gpt-4.1-mini to gpt-4o-mini.

Changes

gpt-4o-mini model migration

Layer / File(s) Summary
Defaults and mappings
Makefile, eval/system.yaml, eval/system_azure_openai_lseval.yaml, eval/system_cluster_updates.yaml, eval/troubleshooting/olsconfig/olsconfig-azure-openai.yaml, scripts/evaluation/utils/constants.py
Default model values, eval config entries, troubleshooting config, and in-scope model mappings now use gpt-4o-mini.
Evaluation answers
scripts/evaluation/eval_data/question_answer_pair.json
Eval answer blocks and cutoff-score mappings are rewritten to reference gpt-4o-mini keys and updated text.
OLSConfig fixtures
tests/config/operator_install/olsconfig.crd.azure_openai.yaml, tests/config/operator_install/olsconfig.crd.azure_openai_lseval.yaml, tests/config/operator_install/olsconfig.crd.azure_openai_tool_calling.yaml, tests/config/operator_install/olsconfig.crd.evaluation.yaml, tests/config/operator_install/olsconfig.crd.openai.yaml, tests/config/operator_install/olsconfig.crd.openai_data_export.yaml, tests/config/operator_install/olsconfig.crd.openai_mcp.yaml, tests/config/operator_install/olsconfig.crd.openai_quota.yaml, tests/config/operator_install/olsconfig.crd.openai_tool_calling.yaml
Sample OLSConfig manifests update provider model names, deployment names, and defaultModel values to gpt-4o-mini.
E2E defaults and assertions
tests/e2e/conftest.py, tests/e2e/evaluation/test_cluster_updates.py, tests/e2e/test_api.py, tests/scripts/test-cluster-updates.sh
Pytest defaults, API assertions, docstrings, and cluster-updates comments now reference gpt-4o-mini.
Scripted suite arguments
tests/scripts/test-e2e-cluster-periodics.sh, tests/scripts/test-e2e-cluster.sh, tests/scripts/test-evaluation.sh
Suite invocations pass gpt-4o-mini instead of gpt-4.1-mini, with nearby comments and spacing adjusted.

Estimated code review effort: 2 (Simple) | ~15 minutes

Possibly related PRs

Suggested labels: lgtm

Suggested reviewers: sriroopar, wking, rioloc

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change by describing the model switch to gpt-4o-mini, though "downgrade" is somewhat misleading.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@sriroopar

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot requested review from blublinsky and tisnik July 7, 2026 12:54
@openshift-ci

openshift-ci Bot commented Jul 7, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign onmete for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 7, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
tests/e2e/evaluation/test_cluster_updates.py (1)

1-1: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Redundant docstring wording after model unification.

Both target and judge models are now gpt-4o-mini, so phrasing like "using OpenAI GPT-4o-mini and gpt-4o-mini judge" reads as if two different models are used. Consider simplifying to state a single judge/target model.

Also applies to: 146-146

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/e2e/evaluation/test_cluster_updates.py` at line 1, Simplify the
redundant module docstring in the cluster-updates evaluation tests so it
reflects that both target and judge now use the same unified model. Update the
top-level string in test_cluster_updates.py, and also the matching docstring
around the referenced test block, to describe the evaluation in a
single-model/judge wording instead of listing “OpenAI GPT-4o-mini and
gpt-4o-mini judge.”
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/e2e/test_api.py`:
- Around line 105-109: The assertion in test_api.py is not checking the
model/provider pair correctly in the test that validates enabled models. Update
the assertion in the affected test to compare the tuple from the variables in a
single membership check, using the same `model` and `provider` symbols already
assigned in this test, so the allowed combinations are actually verified. Keep
the expected set aligned with the current model names (`gpt-4o-mini`,
`azure_openai`, `watsonx`) while fixing the assertion syntax so it evaluates the
pair instead of only `model`.

---

Nitpick comments:
In `@tests/e2e/evaluation/test_cluster_updates.py`:
- Line 1: Simplify the redundant module docstring in the cluster-updates
evaluation tests so it reflects that both target and judge now use the same
unified model. Update the top-level string in test_cluster_updates.py, and also
the matching docstring around the referenced test block, to describe the
evaluation in a single-model/judge wording instead of listing “OpenAI
GPT-4o-mini and gpt-4o-mini judge.”
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e26646cf-318c-46fb-a41f-810ee6316db2

📥 Commits

Reviewing files that changed from the base of the PR and between 3321f69 and ce5670a.

📒 Files selected for processing (21)
  • Makefile
  • eval/system.yaml
  • eval/system_azure_openai_lseval.yaml
  • eval/system_cluster_updates.yaml
  • eval/troubleshooting/olsconfig/olsconfig-azure-openai.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_lseval.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_tool_calling.yaml
  • tests/config/operator_install/olsconfig.crd.evaluation.yaml
  • tests/config/operator_install/olsconfig.crd.openai.yaml
  • tests/config/operator_install/olsconfig.crd.openai_data_export.yaml
  • tests/config/operator_install/olsconfig.crd.openai_mcp.yaml
  • tests/config/operator_install/olsconfig.crd.openai_quota.yaml
  • tests/config/operator_install/olsconfig.crd.openai_tool_calling.yaml
  • tests/e2e/conftest.py
  • tests/e2e/evaluation/test_cluster_updates.py
  • tests/e2e/test_api.py
  • tests/scripts/test-cluster-updates.sh
  • tests/scripts/test-e2e-cluster-periodics.sh
  • tests/scripts/test-e2e-cluster.sh
  • tests/scripts/test-evaluation.sh

Comment thread tests/e2e/test_api.py
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 7, 2026
@openshift-ci

openshift-ci Bot commented Jul 7, 2026

Copy link
Copy Markdown

New changes are detected. LGTM label has been removed.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/evaluation/utils/constants.py`:
- Line 7: The mapping for the `openai+gpt-4o-mini` entry is inconsistent because
the key was renamed but the tuple in `constants.py` still points to
`gpt-4.1-mini`. Update that tuple to use the matching `gpt-4o-mini` model so
downstream consumers like `response_evaluation.py` resolve the correct model and
answer_id. Use the existing `azure_openai+gpt-4o-mini` entry as the reference
for the intended key/value pairing.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 6f1b9505-3d4a-46bf-825f-4171af36463e

📥 Commits

Reviewing files that changed from the base of the PR and between ce5670a and 0678e8a.

📒 Files selected for processing (22)
  • Makefile
  • eval/system.yaml
  • eval/system_azure_openai_lseval.yaml
  • eval/system_cluster_updates.yaml
  • eval/troubleshooting/olsconfig/olsconfig-azure-openai.yaml
  • scripts/evaluation/utils/constants.py
  • tests/config/operator_install/olsconfig.crd.azure_openai.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_lseval.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_tool_calling.yaml
  • tests/config/operator_install/olsconfig.crd.evaluation.yaml
  • tests/config/operator_install/olsconfig.crd.openai.yaml
  • tests/config/operator_install/olsconfig.crd.openai_data_export.yaml
  • tests/config/operator_install/olsconfig.crd.openai_mcp.yaml
  • tests/config/operator_install/olsconfig.crd.openai_quota.yaml
  • tests/config/operator_install/olsconfig.crd.openai_tool_calling.yaml
  • tests/e2e/conftest.py
  • tests/e2e/evaluation/test_cluster_updates.py
  • tests/e2e/test_api.py
  • tests/scripts/test-cluster-updates.sh
  • tests/scripts/test-e2e-cluster-periodics.sh
  • tests/scripts/test-e2e-cluster.sh
  • tests/scripts/test-evaluation.sh
✅ Files skipped from review due to trivial changes (9)
  • tests/config/operator_install/olsconfig.crd.evaluation.yaml
  • eval/troubleshooting/olsconfig/olsconfig-azure-openai.yaml
  • tests/scripts/test-cluster-updates.sh
  • tests/e2e/evaluation/test_cluster_updates.py
  • tests/config/operator_install/olsconfig.crd.openai_tool_calling.yaml
  • tests/config/operator_install/olsconfig.crd.openai.yaml
  • tests/config/operator_install/olsconfig.crd.openai_mcp.yaml
  • Makefile
  • tests/e2e/conftest.py
🚧 Files skipped from review as they are similar to previous changes (12)
  • tests/config/operator_install/olsconfig.crd.azure_openai_tool_calling.yaml
  • eval/system.yaml
  • tests/config/operator_install/olsconfig.crd.openai_data_export.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai.yaml
  • eval/system_azure_openai_lseval.yaml
  • eval/system_cluster_updates.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_lseval.yaml
  • tests/scripts/test-evaluation.sh
  • tests/config/operator_install/olsconfig.crd.openai_quota.yaml
  • tests/scripts/test-e2e-cluster-periodics.sh
  • tests/scripts/test-e2e-cluster.sh
  • tests/e2e/test_api.py

Comment thread scripts/evaluation/utils/constants.py Outdated
Signed-off-by: Fabricio Aguiar <fabricio.aguiar@gmail.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
scripts/evaluation/eval_data/question_answer_pair.json (1)

288-294: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Compressed/malformed YAML text in openai+gpt-4o-mini+with_rag answer.

The new text strings collapse newlines and lose spacing (e.g. key:MONGODB_DATABASE, - name :MONGODB_ADMIN_PASSWORD), unlike the properly formatted azure_openai+gpt-4o-mini+with_rag (lines 295-301) and watsonx (lines 282-287) entries for the same eval case. Since this is captured model output used as scoring reference, it's likely faithful to the actual response, but the inconsistent formatting across providers for the same question makes the dataset harder to read/maintain.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/evaluation/eval_data/question_answer_pair.json` around lines 288 -
294, The `openai+gpt-4o-mini+with_rag` answer strings are collapsed and
malformed, unlike the other provider entries for the same eval case. Update the
`question_answer_pair.json` entry to preserve the YAML formatting in `text` with
proper newlines and spacing, using the same readable structure as the
neighboring `azure_openai+gpt-4o-mini+with_rag` and `watsonx` entries so the
stored model output remains consistent and maintainable.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@scripts/evaluation/eval_data/question_answer_pair.json`:
- Around line 288-294: The `openai+gpt-4o-mini+with_rag` answer strings are
collapsed and malformed, unlike the other provider entries for the same eval
case. Update the `question_answer_pair.json` entry to preserve the YAML
formatting in `text` with proper newlines and spacing, using the same readable
structure as the neighboring `azure_openai+gpt-4o-mini+with_rag` and `watsonx`
entries so the stored model output remains consistent and maintainable.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d3fc4078-862d-400f-8abb-d31c12cee042

📥 Commits

Reviewing files that changed from the base of the PR and between 7e7a8fe and bd9f4ef.

📒 Files selected for processing (23)
  • Makefile
  • eval/system.yaml
  • eval/system_azure_openai_lseval.yaml
  • eval/system_cluster_updates.yaml
  • eval/troubleshooting/olsconfig/olsconfig-azure-openai.yaml
  • scripts/evaluation/eval_data/question_answer_pair.json
  • scripts/evaluation/utils/constants.py
  • tests/config/operator_install/olsconfig.crd.azure_openai.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_lseval.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_tool_calling.yaml
  • tests/config/operator_install/olsconfig.crd.evaluation.yaml
  • tests/config/operator_install/olsconfig.crd.openai.yaml
  • tests/config/operator_install/olsconfig.crd.openai_data_export.yaml
  • tests/config/operator_install/olsconfig.crd.openai_mcp.yaml
  • tests/config/operator_install/olsconfig.crd.openai_quota.yaml
  • tests/config/operator_install/olsconfig.crd.openai_tool_calling.yaml
  • tests/e2e/conftest.py
  • tests/e2e/evaluation/test_cluster_updates.py
  • tests/e2e/test_api.py
  • tests/scripts/test-cluster-updates.sh
  • tests/scripts/test-e2e-cluster-periodics.sh
  • tests/scripts/test-e2e-cluster.sh
  • tests/scripts/test-evaluation.sh
✅ Files skipped from review due to trivial changes (9)
  • eval/system_azure_openai_lseval.yaml
  • tests/config/operator_install/olsconfig.crd.openai_data_export.yaml
  • tests/config/operator_install/olsconfig.crd.openai_tool_calling.yaml
  • tests/e2e/conftest.py
  • tests/e2e/evaluation/test_cluster_updates.py
  • tests/config/operator_install/olsconfig.crd.evaluation.yaml
  • tests/config/operator_install/olsconfig.crd.openai_quota.yaml
  • tests/scripts/test-cluster-updates.sh
  • tests/e2e/test_api.py
🚧 Files skipped from review as they are similar to previous changes (13)
  • tests/config/operator_install/olsconfig.crd.azure_openai.yaml
  • tests/config/operator_install/olsconfig.crd.openai.yaml
  • Makefile
  • tests/config/operator_install/olsconfig.crd.openai_mcp.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_lseval.yaml
  • eval/troubleshooting/olsconfig/olsconfig-azure-openai.yaml
  • eval/system.yaml
  • tests/config/operator_install/olsconfig.crd.azure_openai_tool_calling.yaml
  • tests/scripts/test-e2e-cluster.sh
  • tests/scripts/test-evaluation.sh
  • scripts/evaluation/utils/constants.py
  • eval/system_cluster_updates.yaml
  • tests/scripts/test-e2e-cluster-periodics.sh

@openshift-ci

openshift-ci Bot commented Jul 7, 2026

Copy link
Copy Markdown

@fao89: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@fao89

fao89 commented Jul 8, 2026

Copy link
Copy Markdown
Member Author

/cc @sriroopar

@openshift-ci openshift-ci Bot requested a review from sriroopar July 8, 2026 09:04
@fao89

fao89 commented Jul 8, 2026

Copy link
Copy Markdown
Member Author

#2991

@fao89 fao89 closed this Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants