E4.S7: Allow User to Select LLM Model & Settings Per Session #85
Labels
No labels
Epic 5
MCP
P1
PR-0
PR-1
api
api-layer
architecture
area:backend
area:frontend
arrow
authentication
backend
bug
chat
client
clipboard
common-module
compose
cross-cutting
cross-cutting-requirement
data-layer
data-models
database
desktop-client
documentation
duplicate
enhancement
epic
epic-1
epic-2
epic-3
epic-4
epic-5
epic-6
epic-7
epic-llm-config
error-handling
feature
frontend
good first issue
help wanted
implementation
infrastructure
installer
invalid
kotlin
ktor
llm
medium-priority
message
multiplatform
needs-review
needs-triage
packaging
performance
phase-1
phase-2
phase-3
phase-4
phase-5
phase3
phase:3
priority: high
question
refactor
refactoring
resource-sharing
security
server
server-module
services
session
session-management
settings
setup
shutdown
state
storage
streaming
sub-issue
tests
tooling
type:task
ui
ui/ux
user-accounts
user-management
ux
viewmodel
websocket
windows
windows-integration
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Torvian.eu/chatbot#85
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🚀 Feature Request: Allow User to Select LLM Model & Settings Per Session
User Story ID: E4.S7
📝 Description
As a user, within an active chat session, I want to easily choose which configured LLM Model and specific settings profile will be used for the next assistant response, allowing me to change the AI's approach mid-conversation. This provides granular control over AI behavior during a conversation.
✅ Acceptance Criteria
E4.S2) and, for each model, its available settings profiles (fromE4.S5).updateSessionDetailsAPI endpoint, sending thesessionIdand the IDs of the newly selectedcurrentModelIdandcurrentSettingsId.E1.S4) retrieves and uses these updatedcurrentModelIdandcurrentSettingsIdfrom theChatSessionrecord before making the actual LLM API call for the next assistant response.currentModelIdandcurrentSettingsIdfor theChatSessionare persisted in the database (as perE2.S2).E7.S6).🔗 Dependencies
This feature depends on the successful implementation of the following:
E4.S2: View Configured LLM Models List: To allow users to see and select from a list of available LLM models.E4.S5: Manage Model Settings Profiles List: To allow users to see and select from a list of available settings profiles for a given model.E1.S4: Get LLM Response and Display Assistant Message in Thread: The backend logic for generating LLM responses must utilize the selected model and settings.PR 9: Wire Backend API - Session & Group Management: Specifically, theupdateSessionLeafMessageroute needs to be extended or a newupdateSessionDetailsroute needs to be added to handle updatingcurrentModelIdandcurrentSettingsId.PR 15: Implement Chat Actions ViewModel Logic: TheChatViewModelwill need methods to handle model/settings selection and update the session.⏱️ Effort Estimate
💡 Potential Implementation Notes
DropdownMenuor a custom dialog for selecting models and settings.PUTrequest to/api/v1/sessions/{sessionId}/modeland/api/v1/sessions/{sessionId}/settingsor a singlePUTto/api/v1/sessions/{sessionId}/detailsencompassing both.ChatSessionTablewill need to storecurrentModelIdandcurrentSettingsIdas nullable foreign keys. Remember to setON DELETE SET NULLfor these foreign keys in the Exposed schema (E7.S4).