[PR #20687] [CLOSED] feat: Sticky random model selection per conversation (pick once, lock for all turns) #48776

Closed
opened 2026-04-30 00:50:17 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/20687
Author: @ghost
Created: 1/15/2026
Status: Closed

Base: devHead: main


📝 Commits (10+)

📊 Changes

5 files changed (+88 additions, -33 deletions)

View changed files

📝 backend/open_webui/config.py (+7 -0)
📝 backend/open_webui/main.py (+3 -0)
📝 backend/open_webui/routers/evaluations.py (+9 -0)
📝 backend/open_webui/utils/chat.py (+63 -33)
📝 src/lib/components/admin/Settings/Evaluations.svelte (+6 -0)

📄 Description

Changelog Entry

Description

Implemented feature request #20668 by ankush13r. Added toggleable, turn persistent models per Arena chat. At the beginning of an Arena chat, one model is chosen for the duration of that chat. This can be disabled in Admin Panel -> Settings -> Evaluations. This allows models to be evaluated in Arena across multiple turns.

Added

  • Arena model cached for Arena chats.
  • Toggle per chat/per turn Arena model in Admin Panel -> Settings -> Evaluations.

Changed

  • Arena chat has a persistent model for chat by default, instead of models changing per turn.

Additional Information

  • This PR is not written by any AI agent.

  • Code Review has been performed, and functionality has been recorded:

  • The functionality of this feature was tested by recording five prompts with per-chat caching enabled and disabled. As both of these tests passed, I can verify this feature as working

Before (Or with per-chat caching disabled):

image

After (with per-chat caching enabled):

Screenshot 2026-01-15 234104
  • Visible model names for Arena are for debug and are not present in this PR.

Contributor License Agreement

By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.

Note

Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/20687 **Author:** [@ghost](https://github.com/ghost) **Created:** 1/15/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `main` --- ### 📝 Commits (10+) - [`fe6783c`](https://github.com/open-webui/open-webui/commit/fe6783c16699911c7be17392596d579333fb110c) Merge pull request #19030 from open-webui/dev - [`fc05e0a`](https://github.com/open-webui/open-webui/commit/fc05e0a6c5d39da60b603b4d520f800d6e36f748) Merge pull request #19405 from open-webui/dev - [`e3faec6`](https://github.com/open-webui/open-webui/commit/e3faec62c58e3a83d89aa3df539feacefa125e0c) Merge pull request #19416 from open-webui/dev - [`9899293`](https://github.com/open-webui/open-webui/commit/9899293f050ad50ae12024cbebee7e018acd851e) Merge pull request #19448 from open-webui/dev - [`140605e`](https://github.com/open-webui/open-webui/commit/140605e660b8186a7d5c79fb3be6ffb147a2f498) Merge pull request #19462 from open-webui/dev - [`6f1486f`](https://github.com/open-webui/open-webui/commit/6f1486ffd0cb288d0e21f41845361924e0d742b3) Merge pull request #19466 from open-webui/dev - [`d95f533`](https://github.com/open-webui/open-webui/commit/d95f533214e3fe5beb5e41ec1f349940bc4c7043) Merge pull request #19729 from open-webui/dev - [`a727153`](https://github.com/open-webui/open-webui/commit/a7271532f8a38da46785afcaa7e65f9a45e7d753) 0.6.43 (#20093) - [`6adde20`](https://github.com/open-webui/open-webui/commit/6adde203cd292a9e3af9c64a2ae36b603fed096a) Merge pull request #20394 from open-webui/dev - [`f9b0534`](https://github.com/open-webui/open-webui/commit/f9b0534e0c442631d1cb7205169588b9b6204179) Merge pull request #20522 from open-webui/dev ### 📊 Changes **5 files changed** (+88 additions, -33 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/config.py` (+7 -0) 📝 `backend/open_webui/main.py` (+3 -0) 📝 `backend/open_webui/routers/evaluations.py` (+9 -0) 📝 `backend/open_webui/utils/chat.py` (+63 -33) 📝 `src/lib/components/admin/Settings/Evaluations.svelte` (+6 -0) </details> ### 📄 Description # Changelog Entry ### Description Implemented feature request #20668 by ankush13r. Added toggleable, turn persistent models per Arena chat. At the beginning of an Arena chat, one model is chosen for the duration of that chat. This can be disabled in Admin Panel -> Settings -> Evaluations. This allows models to be evaluated in Arena across multiple turns. Added - Arena model cached for Arena chats. - Toggle per chat/per turn Arena model in Admin Panel -> Settings -> Evaluations. Changed - Arena chat has a persistent model for chat by default, instead of models changing per turn. ### Additional Information - This PR is not written by any AI agent. - Code Review has been performed, and functionality has been recorded: - The functionality of this feature was tested by recording five prompts with per-chat caching enabled and disabled. As both of these tests passed, I can verify this feature as working Before (Or with per-chat caching disabled): <img width="1010" height="927" alt="image" src="https://github.com/user-attachments/assets/834def35-1aeb-4eb8-bfff-7b9c2455b27a" /> After (with per-chat caching enabled): <img width="1082" height="963" alt="Screenshot 2026-01-15 234104" src="https://github.com/user-attachments/assets/3c7f7dc2-bc49-4501-a39f-4ea7ff74ec56" /> - Visible model names for Arena are for debug and are not present in this PR. ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. > [!NOTE] > Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-30 00:50:17 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#48776