Detalles del conjunto de datos
Parquet alojados en huggingface.co. Los archivos se llaman 0.parquet, 1.parquet, …, 25.parquet. Para ver algunas filas de ejemplo del conjunto de datos, visita esta página de Hugging Face.
Crear tabla
dbpedia para almacenar el id, el título, el texto y el vector de embeddings del artículo:
Cargar tabla
dbpedia:
Búsqueda semántica
- Recibir una consulta de búsqueda de un usuario en lenguaje natural; por ejemplo, “Háblame de algunos viajes panorámicos en tren”, “Novelas de suspense ambientadas en Europa”, etc.
- Generar un vector de embedding para la consulta de búsqueda mediante un modelo LLM
- Encontrar los vecinos más cercanos al vector de embedding de la consulta en el conjunto de datos
Ejecutar una búsqueda de similitud vectorial por fuerza bruta
dbpedia,
una forma rápida de observar visualmente la búsqueda semántica es usar vectores de embedding del propio conjunto de datos como vectores
de búsqueda. Por ejemplo:
Query
Response
max_threads=1 para determinar el uso real de
cómputo y del ancho de banda de almacenamiento (¡extrapólalo a un conjunto de datos de producción con millones de vectores!)
Crear un índice de similitud vectorial
vector:
Realizar una búsqueda ANN
Query
Response
Generación de embeddings para la consulta de búsqueda
dbpedia
como vector de búsqueda. En aplicaciones reales, el vector de búsqueda debe
generarse a partir de una consulta introducida por el usuario, que podría estar en lenguaje natural. El vector de búsqueda
debe generarse con el mismo modelo LLM utilizado para generar los vectores de embedding
del conjunto de datos.
A continuación se muestra un script de Python de ejemplo para demostrar cómo llamar mediante programación a las API de OpenAI para
generar vectores de embedding con el modelo text-embedding-3-large. El vector de embedding de búsqueda
se pasa después como argumento a la función cosineDistance() en la consulta SELECT.
Para ejecutar el script, es necesario configurar una API key de OpenAI en la variable de entorno OPENAI_API_KEY.
La API key de OpenAI puede obtenerse después de registrarse en https://platform.openai.com.
Aplicación de demostración de preguntas y respuestas
- Acepta un tema como entrada del usuario
- Genera un vector de embedding para el tema invocando la API de OpenAI con el modelo
text-embedding-3-large - Recupera artículos/documentos de Wikipedia muy relevantes mediante búsqueda de similitud vectorial en la
tabladbpedia - Acepta del usuario una pregunta abierta en lenguaje natural relacionada con el tema
- Usa la API de Chat
gpt-3.5-turbode OpenAI para responder a la pregunta basándose en el conocimiento contenido en los documentos recuperados en el paso n.º 3. Los documentos recuperados en el paso n.º 3 se pasan como contexto a la API de Chat y constituyen el vínculo clave en la IA generativa.
OPENAI_API_KEY. La API key de OpenAI se puede obtener tras registrarse en https://platform.openai.com.