Bienvenue dans le projet API Vector Store! Ce projet vise à fournir une API efficace et évolutive pour l'intégration et le stockage des vecteurs, en tirant parti de la puissance de Fastapi, Langchain et une base de données vectorielle telle que Chroma. Que vous ayez affaire à du texte, des images ou des données qui doivent être converties en vecteurs et récupérées via une recherche de similitude, cette API vous a couvert. ?
Ces instructions obtiendront votre copie du projet opérationnel sur votre machine locale à des fins de développement et de test.
Tâche 1: Configurez un environnement virtuel pour le projet pour gérer les dépendances.
Tâche 2: Installez Fastapi et Uvicorn (ASGI Server) à l'aide de PIP.
Tâche 3: Installer ChroMA ou tout autre projet de bibliothèque client de la base de données vectorielle sera utilisé.
Tâche 1: Définissez les points de terminaison dont nous avons besoin. Considérez ce qui suit:
Un point de terminaison pour télécharger des fichiers ou du texte à vectoriser.
Un point de terminaison pour rechercher dans les vecteurs stockés en utilisant la recherche de similitude.
Un point de terminaison pour énumérer ou récupérer des vecteurs spécifiques ou leurs métadonnées.
Tâche 2: Planifiez les modèles de demande et de réponse pour les points de terminaison à l'aide de modèles pydantiques.
Tâche 1: Implémentez le point de terminaison de téléchargement de fichiers / texte.
Analyser les données d'entrée.
Intégrez l'entrée dans un formulaire vectoriel (vous pourriez avoir besoin d'une bibliothèque ou d'un service externe pour l'intégration, tels que TensorFlow pour les images ou les transformateurs de la face étreintes pour le texte).
Stockez le vecteur en chroma avec des métadonnées pertinentes.
Tâche 2: Implémentez le point de terminaison de recherche.
Acceptez une requête en entrée et convertissez-la en vecteur.
Effectuez une recherche de similitude dans le chroma.
Renvoyez les matchs les plus proches.
Tâche 3: Implémentez les points de terminaison auxiliaires au besoin (pour la liste, la mise à jour ou la suppression des vecteurs).
Tâche 1: Choisissez une base de données vectorielle appropriée (Chroma, dans ce cas).
Tâche 2: Implémentez la logique de stockage des données pour les vecteurs.
Tâche 3: Implémentez la logique de récupération et de recherche à l'aide des capacités de recherche de Chroma.
Tâche 1: Écrivez des tests unitaires pour vos points de terminaison API pour vous assurer qu'ils fonctionnent comme prévu.
Tâche 2: Testez la fonctionnalité du stockage des vecteurs et de la récupération dans le chroma.
Tâche 3: Effectuez des tests de fin [] pour [] fins de l'API entière.
Tâche 1: Document API Utilisation de Fastapi Built [] dans Swagger UI.
Tâche 2: Préparez le projet pour le déploiement (envisagez d'utiliser Docker pour la conteneurisation).
Tâche 3: Déployez l'API (les options incluent Heroku, AWS ou GCP).
Les contributions font de la communauté open source un endroit incroyable pour apprendre, inspirer et créer. Toutes les contributions que vous faites sont grandement appréciées . ??
Ce projet est autorisé en vertu de la licence MIT - voir le fichier Licence.md pour plus de détails.