Genta-Technology / kolosal-desktop

Apache License 2.0
0 stars 0 forks source link

Add Sidebar for LLM Parameters, System Prompts, and Model Settings with Preset Management #9

Open rifkybujana opened 5 days ago

rifkybujana commented 5 days ago

Add Sidebar for LLM Parameters, System Prompts, and Model Settings with Preset Management

Description: We need to implement a right-side sidebar that allows users to modify various settings for the LLM, including system prompts, model parameters, and function calling settings. Additionally, the sidebar should include preset management, allowing users to save and load different configurations using a dropdown selection.

Tasks:

  1. Design and implement the sidebar UI:

    • Add a collapsible sidebar on the right side of the interface using ImGui.
    • Ensure the sidebar is intuitive and visually distinct, without overwhelming the main UI.
  2. System prompt input:

    • Provide a multiline text input field for editing the system prompt.
    • Ensure proper word wrapping and display for longer prompts.
  3. Model settings section:

    • Add adjustable sliders or input fields for model parameters such as temperature, max tokens, top-p, etc.
    • Ensure validation for these inputs (e.g., setting appropriate min/max ranges).
  4. Function calling settings:

    • Add options (checkboxes, dropdowns) for enabling or disabling function calling features.
    • Allow users to input any additional parameters required for function calls.
  5. Preset management:

    • Add a dropdown menu at the top of the sidebar for selecting saved presets.
    • Add functionality to:
      • Load presets from saved configurations.
      • Modify current presets (e.g., change parameters and re-save).
      • Save As New to create a new preset with the current settings.
      • Delete saved presets (if needed).
    • Ensure saved presets include the system prompt, model settings, and function calling settings.
  6. Preset storage and retrieval:

    • Implement a mechanism for saving presets (e.g., to a local file or database).
    • Ensure the ability to load saved presets on application startup.
    • Implement functionality to update or delete existing presets.
  7. UI responsiveness and usability:

    • Ensure that the sidebar and all inputs are responsive across various screen sizes and resolutions.
    • Allow easy switching between presets and provide clear feedback when settings are updated.
  8. Testing:

    • Perform thorough testing to ensure:
      • System prompts and model settings are applied correctly.
      • Presets load and save without issues.
      • UI elements such as sliders, dropdowns, and text fields work smoothly.
    • Test across different screen sizes for responsive design.
  9. Documentation:

    • Update documentation to include instructions on how to use the new sidebar and preset management features.
    • Include examples of how to modify settings and save presets for future use.

Acceptance Criteria:

Additional Context: