Skip to content

fix: default Gradio model to acestep-v15-xl-turbo#1009

Merged
ChuxiJ merged 1 commit intomainfrom
fix/default-model-xl-turbo
Apr 2, 2026
Merged

fix: default Gradio model to acestep-v15-xl-turbo#1009
ChuxiJ merged 1 commit intomainfrom
fix/default-model-xl-turbo

Conversation

@ChuxiJ
Copy link
Copy Markdown
Contributor

@ChuxiJ ChuxiJ commented Apr 2, 2026

Summary

  • Update default model selection in Gradio UI to prefer acestep-v15-xl-turbo over acestep-v15-turbo
  • Falls back gracefully: xl-turbo -> turbo -> first available model
  • Affects both generation_service_config_rows.py and generation_defaults.py

Fixes #1008

Test plan

  • Launch Gradio UI with XL turbo model available, verify it is selected by default
  • Launch without XL turbo model, verify fallback to acestep-v15-turbo
  • Launch with neither turbo model, verify fallback to first available model

Summary by CodeRabbit

  • Bug Fixes
    • Improved default model selection logic to prioritize the turbo model variant when available, with automatic fallback to alternative options if needed.

The default model selection now prefers acestep-v15-xl-turbo when
available, falling back to acestep-v15-turbo, then the first
available model.

Fixes #1008

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 2, 2026

📝 Walkthrough

Walkthrough

Two files updated to change default model selection logic in the Gradio UI. The logic now prioritizes "acestep-v15-xl-turbo" when available, with fallback to "acestep-v15-turbo" and then the first available model.

Changes

Cohort / File(s) Summary
Default Model Selection
acestep/ui/gradio/interfaces/generation_defaults.py, acestep/ui/gradio/interfaces/generation_service_config_rows.py
Updated default model preference logic in both resolve_is_pure_base_model and build_model_device_controls to prefer "acestep-v15-xl-turbo" when present, falling back to "acestep-v15-turbo" and then the first available model. Both changes follow identical preference order.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 Whiskers twitch with delight—
The XL turbo's here, shiny and bright!
No more settling for the old default way,
The fancier model wins the day! 🚀✨

🚥 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 clearly and concisely describes the main change: updating default Gradio model selection to prefer acestep-v15-xl-turbo.
Linked Issues check ✅ Passed The PR fully addresses issue #1008 by implementing the required default model selection logic with proper fallback behavior for the three scenarios specified.
Out of Scope Changes check ✅ Passed All changes are directly related to the objective of updating default model selection; no unrelated modifications are present.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/default-model-xl-turbo

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
acestep/ui/gradio/interfaces/generation_defaults.py (1)

120-127: Consider extracting the default-model selection logic into a shared helper.

This exact 7-line block is duplicated in build_model_device_controls (lines 110–117 in generation_service_config_rows.py). Extracting it to a small helper reduces the risk of future divergence.

♻️ Example helper in a shared module
def get_preferred_default_model(available_models: list[str]) -> str | None:
    """Return the preferred default model from the available list.

    Preference order: acestep-v15-xl-turbo → acestep-v15-turbo → first available.
    """
    for preferred in ("acestep-v15-xl-turbo", "acestep-v15-turbo"):
        if preferred in available_models:
            return preferred
    return available_models[0] if available_models else None

Both call sites would then become:

default_model = get_preferred_default_model(available_models)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@acestep/ui/gradio/interfaces/generation_defaults.py` around lines 120 - 127,
Extract the duplicated default-model selection logic into a small shared helper
(e.g., get_preferred_default_model) and replace the inline 7-line selection in
generation_defaults.py (the block that assigns default_model) and the identical
block in build_model_device_controls in generation_service_config_rows.py with a
call to that helper; ensure the helper accepts available_models: list[str] and
returns the preferred model (acestep-v15-xl-turbo → acestep-v15-turbo → first
available or None) so both sites simply do: default_model =
get_preferred_default_model(available_models).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@acestep/ui/gradio/interfaces/generation_defaults.py`:
- Around line 120-127: Extract the duplicated default-model selection logic into
a small shared helper (e.g., get_preferred_default_model) and replace the inline
7-line selection in generation_defaults.py (the block that assigns
default_model) and the identical block in build_model_device_controls in
generation_service_config_rows.py with a call to that helper; ensure the helper
accepts available_models: list[str] and returns the preferred model
(acestep-v15-xl-turbo → acestep-v15-turbo → first available or None) so both
sites simply do: default_model = get_preferred_default_model(available_models).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0e9c8a86-b05e-48f2-9775-713a6aa35ae5

📥 Commits

Reviewing files that changed from the base of the PR and between 80c70b6 and 8151ac5.

📒 Files selected for processing (2)
  • acestep/ui/gradio/interfaces/generation_defaults.py
  • acestep/ui/gradio/interfaces/generation_service_config_rows.py

@ChuxiJ
Copy link
Copy Markdown
Contributor Author

ChuxiJ commented Apr 2, 2026

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

🤖 Generated with Claude Code

@ChuxiJ ChuxiJ merged commit 6ef7758 into main Apr 2, 2026
3 checks passed
@ChuxiJ ChuxiJ deleted the fix/default-model-xl-turbo branch April 2, 2026 09:15
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.

Gradio UI defaults to acestep-v15-turbo instead of acestep-v15-xl-turbo

1 participant