Taylor's Tune es una herramienta de recomendaciones musicales basadas en el estado de ánimo que aprovecha los modelos de lenguaje de código abierto de vanguardia más recientes (como Mixtral-8x7b, LLAMA3-70B, LLAMA3-7B, GEMMA-7B) para proporcionar las mejores canciones de Taylor según las necesidades del usuario.
Puede probarlo como una aplicación web aquí, mientras que si está más interesado en la parte técnica, puede leer el informe del proyecto.
En esta ventana, el usuario puede explicar al agente el estado emocional y la situación de la relación para obtener consejos de él. La subsección de la izquierda ofrece la posibilidad de elegir entre los modelos disponibles, así como ajustar algunos hiperparámetros de chat, como la longitud de la memoria, el número de canciones sugeridas y los tokens de salida LLM máximos .


Este segundo panel permite al usuario responder al cuestionario propuesto en I Sabe You Were Trouble: Tendencias emocionales en el repertorio de Taylor Swift , con el cual se infieren sugerencias de canciones utilizando un modelo estadístico.


El tercer panel informa el dos conjunto de datos utilizado para el proyecto. El primero asocia una descripción textual para cada puntaje de criterio emocional numérico.
Los criterios considerados son: sentimientos de sí mismo, vidrio medio lleno, etapas de depresión, tempo, seriedad, perspectivas futuras, sentimiento de hombre, unión.
El segundo contiene la letra, los criterios emocionales, la descripción del significado y la URL de Spotify de cada canción.


Cree su propio clúster Qdrant, luego copie la clave API y la URL
Obtenga una llave de API de Groq
Cree un archivo secrets.toml en este archivo de carpeta raíz que contiene las siguientes teclas: GROQ_API_KEY , QDRANT_API_KEY , QDRANT_CLIENT_URL . Aquí puede ver mejor cómo funcionan los secretos
Ahora puede elegir instalar la aplicación local en su Python Env/Venv actual o usar el DockerFile provisto
Copie el archivo secrets.toml en la carpeta Apposite (instrucciones aquí)
Instale los paquetes requeridos con
pip3 install -r requirements.txt
Vectorice los conjuntos de datos y cárguelos a su Qdrant Vector DB ejecutando el cuaderno vector_db_upload.ipynb
Ejecute la aplicación con
streamlit run _Chat.py
Construir la aplicación
docker build -t taylor .
Vectorice los conjuntos de datos y cárguelos a su Qdrant Vector DB ejecutando el cuaderno vector_db_upload.ipynb
Ejecutar la aplicación
docker run -p 8501:8501 taylor
El proyecto es de código abierto y se puede extender también a otros artistas con algunos pequeños ajustes. ¡Me aprobaré mucho si alguien quiere contribuir al proyecto!
La aplicación web se ha desarrollado y alojado utilizando Streamlit, mientras que la herramienta de orquestación entre Vectordbs y LLMS elegido es Langchain.
Cuando un usuario envía un mensaje se realiza una primera búsqueda de similitud lírica, mientras que al mismo tiempo el LLMS intenta predecir los puntajes numéricos para cada criterio, según la primera base de datos ilustrada en la página Emotional scores . Posteriormente, se realiza una consulta de los criterios DB para las mejores K Songs K. Luego, los dos resultados de consultas se fusionan y se proporcionan como contexto adicional para la LLM para la sugerencia final.
El sistema ha sido evaluado sobre la capacidad de decección emocional y en la capacidad de recomendación. Más información al respecto en el informe.
Cuadernos útiles:
vector_db_upload.ipynb : permite vectorizar y cargar las dos bases de datos proporcionadas a su clúster Qdrant existentelyrics_summarization.ipynb : Get Song's Significado Descripción basada en sus letras