Neste artigo, vamos explorar como desenvolver uma aplicação de busca semântica de música utilizando a plataforma Quadrant. A aplicação, chamada “Music Semantic Search”, busca música com base em vetores semânticos e é capaz de filtrar resultados por gênero.
Configuração do Ambiente de Desenvolvimento
Para começar, precisamos criar um novo diretório e um ambiente virtual com Python 3.10. Em seguida, instalamos os pacotes necessários, incluindo o cliente Quadrant e Nice Grid. Depois disso, baixamos os arquivos de dados necessários, incluindo `payload.csv` e um arquivo de embeddings, da nuvem Quadrant.
Criando um Cluster e Conectando-se à Nuvem Quadrant
Em seguida, criamos um novo cluster na nuvem Quadrant, chamado “Music Cluster”, que é gratuito na camada gratuita. Criamos uma API para acessar o cluster e copiamos a chave API. Em seguida, criamos um arquivo para conectar-se à nuvem Quadrant usando a chave API e importamos os componentes necessários.
Carregando Dados e Criando uma Coleção
Em seguida, carregamos os embeddings e metadados de um arquivo CSV que contém informações sobre músicas, como IDs, artistas, gêneros e URLs. Criamos uma lista de índices a partir dos metadados e criamos um payload a partir do dataframe, excluindo a coluna de índice e IDs. Em seguida, criamos uma coleção chamada “music vectors” e carregamos os dados em batches de 250.
Criando uma Aplicação com Nice GUI
Em seguida, criamos uma aplicação usando Nice GUI, uma ferramenta para criar aplicativos e sites interativos. A aplicação importa pacotes necessários, incluindo Quadrant, cliente, modelos, pandas, NumPy e Nice GUI como UI. Criamos uma etiqueta, adicionamos um subtítulo e conectamos à API. Em seguida, lemos um arquivo `payload.csv`, criamos uma lista de nomes de artistas e músicas e ordenamos. Criamos uma função para gerar cartões contendo informações da música e imagem do artista.
Demonstração da Aplicação
A aplicação permite ao usuário selecionar uma música e gerar um cartão com informações da música. Quando uma música é selecionada, a função recupera a URL da música e reproduz o arquivo de áudio. Quando a música termina, o usuário é notificado.
Recomendação de Música
A aplicação também pode ser usada para recomendar músicas. Basta selecionar uma música e a aplicação busca músicas semelhantes na coleção de música. A busca pode ser filtrada por gênero e o usuário pode especificar o número de resultados que deseja recuperar. A aplicação cria cartões de música para as músicas recomendadas.
Embalo da Aplicação em um Contêiner Docker
Finalmente, explicamos como embalar a aplicação em um contêiner Docker, fornecendo comandos para construir e executar o contêiner. Um Dockerfile também está disponível para criar uma imagem Docker.
Essa aplicação de busca semântica de música é uma demonstração do poder da plataforma Quadrant e sua capacidade de lidar com grandes quantidades de dados. Com essa aplicação, você pode criar sua própria busca semântica de música personalizada e filtração por gênero.