Este proyecto demuestra el uso de Elasticsearch para tareas de búsqueda de vectores. El cuaderno de Jupyter proporcionado, vector_search.ipynb , carga un modelo de incrustaciones utilizando sentence-transformers , crea incrustaciones para el campo de preguntas y respuestas combinadas, y crea un motor de búsqueda vectorial para buscar preguntas de los usuarios en documentos de FAQ. Evaluamos los resultados del motor de búsqueda utilizando la tasa de aciertos y el rango recíproco medio (MRR). Finalmente, evalúe Elasticsearch, que es más eficiente, ya que utiliza técnicas aproximadas en lugar de calcular la similitud con todos los vectores, produciendo resultados idénticos.
Para configurar el proyecto, siga estos pasos:
pip install pipenv
pipenv installLuego, seleccione el entorno Pipenv en el núcleo Jupyter.
Para ejecutar el contenedor Docker Elasticsearch, use el siguiente comando:
docker run -it
--rm
--name elasticsearch
-p 9200:9200
-p 9300:9300
-e " discovery.type=single-node "
-e " xpack.security.enabled=false "
docker.elastic.co/elasticsearch/elasticsearch:8.4.3