Codificador Run: Operador Kubernetes para gerar automaticamente incorporações vetoriais para o código-fonte

encoder-run é um operador Kubernetes projetado para automatizar o ciclo de vida das incorporações de código-fonte. Ele também gerencia a infraestrutura de armazenamento e modelo subjacente. Este projeto garante que os vetores permaneçam atualizados com as mais recentes alterações nos repositórios de código -fonte, aprimorando as tarefas de pesquisa, similaridade, RAG e análise de código.
Características
- Implantação de modelos : implanta modelos Sentencetransformer/codificação para processar incorporações internamente.
- Sincronização contínua : monitora os repositórios de código -fonte e desencadeia o processo de codificação para o código atualizado, garantindo que as incorporações permaneçam atualizadas.
- Escalável e eficiente : otimizado para desempenho e escalabilidade, manuseando vários repositórios e grandes bases de código com facilidade.
- Modelos de codificação personalizáveis : suporta uma variedade de modelos de codificação, permitindo que os usuários escolham o melhor ajuste para seus requisitos específicos.
Arquitetura de pipeline do codificador

Começando
Notas
- Certifique -se de ter muita memória disponível para executar a configuração do Kubernetes. Verifique os recursos do Docker Desktop para memória e verifique se está 24 GB+. Verifique se o disco é definido razoavelmente também devido à natureza de grandes pesos do modelo e imagens grandes do Docker.
- Atualmente, as dimensões para incorporação são codificadas para 768, portanto, verifique se o transformador está implantando correspondências.
- O tempo de incorporação local é muito mais longo do que usar uma configuração baseada em GPU. Às vezes, os modelos Primeira solicitação/resposta em lote são lentos, mas solicitações subsequentes serão mais rápidas e consistentes. Sinta -se à vontade para executar essa configuração em uma máquina com acesso à GPU para acelerar o tempo de inferência.
Pré -requisitos
Antes de configurar encoder-run , verifique se os seguintes pré-requisitos são atendidos:
- Golang : Goland versão 1.21.*+ É necessário.
- Docker : o Docker deve ser instalado no seu sistema, pois é necessário para contêiner os componentes e dependências do aplicativo. Visite o site oficial do Docker para obter instruções de instalação.
- Kubernetes Kind : Kind é usado para criar um cluster local Kubernetes. Se ainda não estiver instalado, você pode executar
make kind-install que verá a presença e a instalará se estiver faltando. - Nó : O nó é usado apenas se você estiver desenvolvendo localmente. Instale v18.17.0.
Implantação
Depois de satisfazer os pré -requisitos, use o seguinte comando para implantar o aplicativo. Isso criará todas as imagens da fonte. A primeira vez pode levar 10 minutos+.
ou para pular o prédio da fonte (mais rápido à medida que puxa do DockerHub):
Este comando configurará as configurações de Kubernetes necessárias e lançará todos os componentes. Uma vez implantado, ele exporá:
- Console-Ui no
localhost:32081 - Gateway no
localhost:32080
Executando o front -end com dados simulados
Para executar a interface do front -end com dados simulados, siga estas etapas:
- Navegue até o diretório do Frontend Console-UI:
cd frontend/console-ui
npm install && npm run generate
cd ../mock
npm install
cd ../console-ui
npm run local
Essa configuração aumentará a interface do usuário no localhost:3000 e o gateway simulado no localhost:4000 , simulando o ambiente completo para desenvolvimento ou teste.
Roteiro
Aqui está uma pequena lista de recursos e aprimoramentos planejados para encoder-run :
Sinta -se à vontade para contribuir ou sugerir novos recursos, abrindo um problema ou enviando uma solicitação de tração em nosso repositório do GitHub.
Comunidade e feedback
O Encoder-Run é um projeto de código aberto e incentivamos e recebemos contribuições. Se você deseja contribuir, não deixe de revisar nossas diretrizes de contribuição e código de conduta.
Para problemas com a instalação e a configuração, discussões sobre a melhor maneira de usar o codificador, use nossos problemas do Github e inclua o máximo de detalhes possível.