¡Bienvenido al Proyecto API de Vector Store! Este proyecto tiene como objetivo proporcionar una API eficiente y escalable para integrar y almacenar vectores, aprovechando la potencia de FastAPI, Langchain y una base de datos vectorial como el Chroma. Ya sea que esté tratando con texto, imágenes o cualquier dato que deba convertirse en vectores y recuperarse a través de la búsqueda de similitud, esta API lo tiene cubierto. ?
Estas instrucciones pondrán su copia del proyecto en funcionamiento en su máquina local para fines de desarrollo y prueba.
Tarea 1: Configurar un entorno virtual para que el proyecto gestione las dependencias.
Tarea 2: Instale FASTAPI y UVICORN (servidor ASGI) usando PIP.
Tarea 3: Instale Chroma o cualquier otro proyecto de Biblioteca de clientes de la base de datos vectorial utilizará.
Tarea 1: Defina los puntos finales que necesitaremos. Considere lo siguiente:
Un punto final para cargar archivos o texto para ser vectorizados.
Un punto final para buscar a través de los vectores almacenados utilizando la búsqueda de similitud.
Un punto final para enumerar o recuperar vectores específicos o sus metadatos.
Tarea 2: Planifique los modelos de solicitud y respuesta para los puntos finales que utilizan modelos pydánticos.
Tarea 1: Implemente el punto final de carga de archivo/texto.
Analice los datos de entrada.
Incruste la entrada en una forma vectorial (es posible que necesite una biblioteca o servicio externo para integrar, como el flujo de tensor para imágenes o abrazar los transformadores de la cara para el texto).
Almacene el vector en Chroma con metadatos relevantes.
Tarea 2: Implemente el punto final de búsqueda.
Acepte una consulta como entrada y conviértala en un vector.
Realizar una búsqueda de similitud en el croma.
Devuelve los partidos más cercanos.
Tarea 3: Implemente los puntos finales auxiliares según sea necesario (para enumerar, actualizar o eliminar vectores).
Tarea 1: Elija una base de datos vectorial adecuada (Chroma, en este caso).
Tarea 2: Implementar la lógica de almacenamiento de datos para vectores.
Tarea 3: Implementar la lógica de recuperación y búsqueda utilizando las capacidades de búsqueda de Chroma.
Tarea 1: Escriba las pruebas unitarias para los puntos finales de su API para garantizar que funcionen como se esperaba.
Tarea 2: Almacenamiento y funcionalidad de recuperación del vector de prueba en el croma.
Tarea 3: Realice las pruebas finales de finalización de toda la API.
Tarea 1: API de documento utilizando Fastapi's Built [] en Swagger UI.
Tarea 2: Prepare el proyecto para la implementación (considere usar Docker para la contenedores).
Tarea 3: Implementar API (las opciones incluyen Heroku, AWS o GCP).
Las contribuciones son las que hacen de la comunidad de código abierto un lugar increíble para aprender, inspirar y crear. Cualquier contribución que haga es muy apreciada . ?
Este proyecto tiene licencia bajo la licencia MIT: consulte el archivo License.md para más detalles.