Skip to content

Conversation

@othyn
Copy link

@othyn othyn commented Mar 14, 2025

LLM Model Selection Feature (depends on #2)

Overview

This PR adds the ability to select different LLM models when generating playlists, allowing users to choose between higher quality (GPT-4) or more affordable (GPT-3.5 Turbo) options. It also fixes a bug with the min/max track count parameters.

This change also embeds the metadata about the generation (prompt, model used, etc.) into the summary of the generated playlist, so that this data isn't lost to time.

Changes

  • Added model selection UI in the frontend
  • Updated backend to properly handle model selection
  • Fixed a bug where min/max track parameters were not being properly used in the prompt
  • Improved UI layout and responsiveness
  • Updated documentation to reflect new features

Technical Details

  • Modified app/services/llm_service.py to properly use min/max track parameters
  • Updated app/models.py to clarify model options in field description
  • Significantly refactored frontend HTML and JavaScript for better UX
  • Added new feature documentation in README

Motivation

GPT-4 requests can be expensive ($0.30+ per request) while GPT-3.5 Turbo is significantly more affordable (under $0.01 for the same request) and faster. This change gives users the flexibility to choose based on their needs and budget constraints.

Testing

  • Tested playlist generation with both GPT-4 and GPT-3.5 Turbo models
  • Verified min/max track parameters are properly respected
  • Tested UI responsiveness across different screen sizes

Screenshot

Screenshot 2025-03-14 at 11 35 55

@othyn othyn changed the title Llm selection LLM selection (depends on #2) Mar 14, 2025
othyn added 3 commits March 14, 2025 11:46
…ot tagged as `latest` unless its master, as its useful for generating builds on PR pending items
@LubergAlexander
Copy link
Owner

I would instead specify the model at env variable/docker compose level instead of making it exposed to UI, what do you think? Thanks for contribution!

@LubergAlexander
Copy link
Owner

https://github.com/BerriAI/litellm?tab=readme-ov-file#supported-providers-docs any of those models can be specified for use, I think we could expose that as env variable instead of hardcoding and it will enable desired level of customization

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.

2 participants