Una demostración de la búsqueda semántica utilizando la base de datos Vector Pinecone y el conjunto de datos MusicCaps de Google AI.
Atraviesa el cuaderno init-Pinecone-index.ipynb a
Notas:
YOUR_API_KEY y YOUR_REGION con los valores que se muestran desde la pestaña API Keys en la consola Pinecone. Hay una consulta de muestra al final del cuaderno. Reemplace el valor query para experimentar con la búsqueda semántica en el conjunto de datos MusicCaps.
query = 'lively eastern european folk music with strings outdoors'
search_pinecone ( query ){ 'matches' : [{ 'id' : '5327' ,
'metadata' : { 'aspect_list' : "['romanian folk music', 'live "
"performance', 'instrumental', "
"'accordion', 'upright bass', "
"'acoustic guitar', 'percussion', "
"'fiddle', 'lively', 'upbeat', "
"'joyful']" ,
'audioset_positive_labels' : '/m/0mkg' ,
'author_id' : 9.0 ,
'caption' : 'This is the live performance of a '
'Romanian folk music piece. It is '
'instrumental. There is an accordion '
'playing the leading melody while the '
'fiddle, acoustic guitar and the upright '
'bass play in the background. There is a '
'percussive element in the rhythmic '
'background. The atmosphere is lively '
'and joyful.' ,
'end_s' : 30.0 ,
'is_audioset_eval' : False ,
'is_balanced_subset' : False ,
'start_s' : 20.0 ,
'ytid' : 'xR2p3UED4VU' },
'score' : 0.658422887 ,
'values' : []},
...
],
'namespace' : '' } Tendrá una idea de los resultados que leen el campo caption y observarán el score . El ytid es la ID de video de YouTube y start_s define el punto de partida para el video relevante.
streamlit run search-app.py 
Para ejecutar la aplicación de búsqueda, deberá
git clone https://github.com/ben-ogden/musiccaps.git
cd musiccaps
pipenv shell
pipenv install pinecone-client streamlit
streamlit version
...
Streamlit, version 1.22.0 Cree un archivo Secrets en ~/.streamlit/secrets.toml y establezca su PINECONE_KEY y PINECONE_ENV
PINECONE_KEY = "..." streamlit run search-app.py 
Este conjunto de datos podría ser un buen candidato para experimentar con la búsqueda híbrida o usar el filtrado de metadatos utilizando los valores en los metadata aspect_list como palabras clave.