Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 28, 2026

Temperature (0.0-1.0 float) is unintuitive for non-technical users. Replaced with three fixed creativity levels: "aus" (conservative), "normal" (balanced), "hoch" (creative).

Backend

API Models

  • Changed temperature: floatcreativity: string in AssistantBase, AssistantUpdate, AssistantVersionResponse
  • Added creativity: Optional[str] to ChatCompletionRequest (supports both for backward compatibility)

Model Configuration

  • Added per-model creativity mappings to ModelInfo:
    creativity_aus_temperature: float | None = None      # default: 0.0
    creativity_normal_temperature: float | None = None   # default: 0.7
    creativity_hoch_temperature: float | None = None     # default: 1.0
  • ModelsConfig.get_temperature_for_creativity() converts creativity → temperature at runtime

Database

  • Migration 0008: Converts temperature column to creativity column
  • Mapping: < 0.4 → "aus", 0.4-0.8 → "normal", ≥ 0.8 → "hoch"

Router

  • chat_router.get_temperature_from_request() converts creativity to model-specific temperature before LLM call

Frontend

UI Components

  • Replaced temperature range slider with creativity dropdown in:
    • AdvancedSettingsStep.tsx
    • ChatSettingsContent.tsx
  • Options: "Aus (konservativ)", "Normal (ausgewogen)", "Hoch (kreativ)"

Type System

  • Updated all TypeScript interfaces: temperature: numbercreativity: string
  • Updated hooks: useAssistantState, useCreateAssistantState

Local Storage Migration

  • migration.ts converts legacy temperature values to creativity on first load
  • Same mapping thresholds as backend migration

Translations

  • Added German/English labels for all three creativity levels
  • Updated info text to explain creativity instead of temperature
Original prompt

This section details on the original issue you should resolve

<issue_title>Refactor temperature to creativity</issue_title>
<issue_description>Is your feature request related to a problem? Please describe.
Temperature is hard to understand from the typical user. Instead use 3 fixed values for creativity

  • "aus", "normal", "hoch"
    The backend has then a configuration for each model, how high the actual temperature for this kind of creativity would be (because different model have different recommended creativities)

</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 6 commits January 28, 2026 14:44
- Replace temperature (number 0.0-1.0) with creativity (string: "aus", "normal", "hoch")
- Update Chat.tsx to use creativity instead of temperature
- Update ChatSettingsContent.tsx to use dropdown instead of slider
- Update CreateAssistantDialog.tsx to use creativity
- Update EditAssistantDialog.tsx to use creativity
- Update ChatsettingsDrawer.tsx to use creativity
- Update UnifiedAssistantChat.tsx to use creativity
- Update CommunityAssistantDialog.tsx to use creativity
- Update PublishAssistantDialog.tsx to use creativity
- Update AssistantsettingsDrawer.tsx export to use creativity
- Update useAssistantState.ts to use creativity
- Update useCreateAssistantState.ts (already had creativity)
- Update page_helpers.ts reducer to use SET_CREATIVITY action
- Update ChatOptions interface to use creativity field
- Default value changed from 0.7 to "normal"

Co-authored-by: Meteord <[email protected]>
Copilot AI changed the title [WIP] Refactor temperature to creativity values Replace temperature with fixed creativity levels Jan 28, 2026
Copilot AI requested a review from Meteord January 28, 2026 15:10
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.

Refactor temperature to creativity

2 participants