Corriente de codificadores: operador Kubernetes para generar automáticamente los incrustaciones de vectores para el código fuente

encoder-run es un operador de Kubernetes diseñado para automatizar el ciclo de vida de los incrustaciones del código fuente. También gestiona la infraestructura de almacenamiento y modelo subyacente. Este proyecto garantiza que los vectores se mantengan al día con los últimos cambios en los repositorios del código fuente, que mejoren las tareas de búsqueda, verificaciones de similitud, trapo y análisis de código.
Características
- Despliegue del modelo : implementa modelos de formación de oraciones/codificación para procesar integrados internamente.
- Sincronización continua : monitorea los repositorios del código fuente y desencadena el proceso de codificación para el código actualizado, asegurando que los incrustaciones permanezcan actuales.
- Escalable y eficiente : optimizado para el rendimiento y la escalabilidad, manejando múltiples repositorios y grandes bases con facilidad.
- Modelos de codificación personalizables : admite una variedad de modelos de codificación, lo que permite a los usuarios elegir el mejor ajuste para sus requisitos específicos.
Arquitectura de tuberías de codificadores

Empezando
Notas
- Asegúrese de tener mucha memoria disponible para ejecutar la configuración de Kubernetes. Verifique los recursos de escritorio de Docker para la memoria y asegúrese de que sus 24 GB+. Asegúrese de que el disco se establezca razonablemente debido a la naturaleza de los grandes pesos del modelo y las grandes imágenes de Docker.
- Las dimensiones para incrustaciones se codifican actualmente a 768, así que asegúrese de que el transformador esté implementando coincidencias.
- El tiempo de incrustación local es mucho más largo que usar una configuración basada en GPU. A veces, el lote de solicitud/respuesta de los modelos es lento, pero las solicitudes posteriores serán más rápidas y más consistentes. Siéntase libre de ejecutar esta configuración en una máquina con acceso a GPU para acelerar el tiempo de inferencia.
Requisitos previos
Antes de configurar encoder-run , asegúrese de que se cumplan los siguientes requisitos previos:
- Golang : Goland versión 1.21.*+ Es necesario.
- Docker : Docker debe instalarse en su sistema, ya que se requiere para contener los componentes y dependencias de la aplicación. Visite el sitio oficial de Docker para obtener instrucciones de instalación.
- Kubernetes Kind : Kind se utiliza para crear un clúster local de Kubernetes. Si aún no está instalado, puede ejecutar
make kind-install lo que verificará su presencia e instalará si falta. - Nodo : el nodo se usa solo si se está desarrollando localmente. Instale V18.17.0.
Despliegue
Después de satisfacer los requisitos previos, use el siguiente comando para implementar la aplicación. Esto construirá todas las imágenes a partir de la fuente. La primera vez puede tomar 10 minutos+.
o para omitir el edificio desde la fuente (más rápido mientras se extrae de Dockerhub):
Este comando configurará las configuraciones de Kubernetes necesarias y lanzará todos los componentes. Una vez implementado, se expondrá:
- Consola-UI en
localhost:32081 - Gateway en
localhost:32080
Ejecutando el frontend con datos simulados
Para ejecutar la interfaz frontend con datos simulados, siga estos pasos:
- Navegue al directorio frontend consola-UI:
cd frontend/console-ui
npm install && npm run generate
cd ../mock
npm install
cd ../console-ui
npm run local
Esta configuración girará la interfaz de usuario en localhost:3000 y la puerta de enlace simulada en localhost:4000 , simulando el entorno completo para el desarrollo o las pruebas.
Hoja de ruta
Aquí hay una breve lista de características y mejoras planificadas para encoder-run :
Siéntase libre de contribuir o sugerir nuevas funciones abriendo un problema o enviando una solicitud de extracción en nuestro repositorio de GitHub.
Comunidad y comentarios
Encoder-Run es un proyecto de código abierto y alentamos y damos la bienvenida a las contribuciones. Si desea contribuir, asegúrese de revisar nuestras pautas de contribución y el código de conducta.
Para los problemas con la instalación y la configuración, discusiones sobre cómo usar mejor para usar el codificador, utilice nuestros problemas de GitHub y asegúrese de incluir la mayor cantidad de detalles posible.