Encodeur-run: opérateur Kubernetes pour générer automatiquement des incorporations vectorielles pour le code source

encoder-run est un opérateur de Kubernetes conçu pour automatiser le cycle de vie des incorporations de code source. Il gère également l'infrastructure de stockage et de modèle sous-jacente. Ce projet garantit que les vecteurs restent à jour avec les derniers changements dans les référentiels de code source, l'amélioration de la recherche, les vérifications de similitude, le chiffon et les tâches d'analyse de code.
Caractéristiques
- Déploiement du modèle : déploie des modèles SentenTansformateur / codage pour traiter les intégres en interne.
- Synchronisation continue : surveille les référentiels de code source et déclenche le processus de codage pour le code mis à jour, garantissant que les intégres restent à jour.
- Évolutif et efficace : optimisé pour les performances et l'évolutivité, gérant facilement les référentiels et les grandes bases de code.
- Modèles de codage personnalisables : prend en charge une variété de modèles d'encodage, permettant aux utilisateurs de choisir le meilleur ajustement pour leurs besoins spécifiques.
Architecture du pipeline de l'encodeur

Commencer
Notes
- Assurez-vous d'avoir beaucoup de mémoire disponible pour exécuter la configuration de Kubernetes. Vérifiez les ressources de bureau Docker pour la mémoire et assurez-vous de ses 24 Go +. Assurez-vous que le disque est réglé raisonnablement en raison de la nature des gros poids de modèle et de grandes images Docker.
- Les dimensions pour les incorporations sont actuellement codées en dur à 768, assurez-vous donc que le transformateur que vous déploiez des correspondances.
- Le temps d'intégration local est beaucoup plus long que l'utilisation d'une configuration basée sur GPU. Parfois, le lot de demande / réponse des modèles est lent, mais les demandes ultérieures seront plus rapides et plus cohérentes. N'hésitez pas à exécuter cette configuration sur une machine avec un accès GPU pour accélérer le temps d'inférence.
Condition préalable
Avant de configurer encoder-run , assurez-vous que les conditions préalables suivantes sont remplies:
- Golang : Goland version 1.21. * + Est requis.
- Docker : Docker doit être installé sur votre système car il est nécessaire de conteneuriser les composants et dépendances d'application. Visitez le site officiel de Docker pour les instructions d'installation.
- Kubernetes Kind : Kind est utilisé pour créer un cluster Kubernetes local. S'il n'est pas déjà installé, vous pouvez exécuter
make kind-install qui vérifiera sa présence et l'installera en cas de manque. - Node : le nœud n'est utilisé que si vous vous développez localement. Veuillez installer v18.17.0.
Déploiement
Après avoir satisfait les conditions préalables, utilisez la commande suivante pour déployer l'application. Cela créera toutes les images de Source. La première fois peut prendre 10 minutes +.
ou pour sauter le bâtiment à partir de la source (plus rapidement lorsqu'il tire de Dockerhub):
Cette commande configurera les configurations Kubernetes nécessaires et lancera tous les composants. Une fois déployé, il exposera:
- Console-UI sur
localhost:32081 - Passerelle sur
localhost:32080
Exécuter le frontend avec des données simulées
Pour exécuter l'interface Frontend avec des données simulées, suivez ces étapes:
- Accédez au répertoire Frontend Console-UI:
cd frontend/console-ui
npm install && npm run generate
cd ../mock
npm install
cd ../console-ui
npm run local
Cette configuration fera tourner l'interface utilisateur sur localhost:3000 et la Mock Gateway sur localhost:4000 , simulant l'environnement complet pour le développement ou les tests.
Feuille de route
Voici une courte liste de fonctionnalités et d'améliorations prévues pour encoder-run :
N'hésitez pas à contribuer ou à suggérer de nouvelles fonctionnalités en ouvrant un problème ou en soumettant une demande de traction sur notre référentiel GitHub.
Communauté et commentaires
L'encodeur est un projet open source et nous encourageons et accueillons les contributions. Si vous souhaitez contribuer, assurez-vous de revoir nos directives de contribution et notre code de conduite.
Pour des problèmes avec l'installation et la configuration, les discussions sur la meilleure façon d'utiliser la dirigée de l'encodeur, veuillez utiliser nos problèmes GitHub et assurez-vous d'inclure autant de détails que possible.