- Fornece funcionalidade de autocompletar texto baseada em LLM local dentro do VIM
- Gera sugestões automaticamente ao mover o cursor no modo
Insert
- É possível alternar para sugestão manual com
Ctrl+F
- Aceita a sugestão com
Tab
- Aceita a sugestão da primeira linha com
Shift+Tab
- Permite definir o tempo máximo de geração de texto
- Permite configurar o alcance do contexto ao redor do cursor
- Constrói um anel de contexto usando trechos de contexto de arquivos abertos, arquivos em edição e texto copiado
- Suporta contextos muito grandes mesmo em hardware modesto por meio de reutilização inteligente de contexto
- Exibe estatísticas de desempenho
Instalação
- vim-plug :
Plug 'ggml-org/llama.vim'
- Vundle :
Configuração do llama.cpp
- O plugin requer uma instância do servidor llama.cpp em execução em
g:llama_config.endpoint
- Mac OS :
brew install llama.cpp
- Outros sistemas operacionais : compile a partir do código-fonte ou use o binário mais recente: llama.cpp releases
Configuração do llama.cpp
- Configuração recomendada de acordo com a quantidade de VRAM:
- 16GB de VRAM ou mais:
Qwen2.5-Coder-7B-Q8_0-GGUF
- Menos de 16GB de VRAM:
Qwen2.5-Coder-3B-Q8_0-GGUF
- Menos de 8GB de VRAM:
Qwen2.5-Coder-1.5B-Q8_0-GGUF
- Para mais detalhes, consulte
:help llama
LLMs recomendados
Detalhes de implementação
- O plugin tem como objetivo oferecer autocompletar FIM local simples e leve, com desempenho de alta qualidade mesmo em hardware de consumo
Outros IDEs
1 comentários
Comentários do Hacker News
Recomenda dar uma olhada nos detalhes técnicos da implementação do servidor, que inclui ideias interessantes e legais. Este plugin também pode ser usado no VS Code. O desempenho melhorou graças ao cache no lado do cliente.
Diz que este usuário fez muitas contribuições para o ecossistema de IA open source e espera que consiga levantar financiamento suficiente para continuar desenvolvendo software e lançando-o como open source verdadeiramente "sem condições".
Acha que integrar as ferramentas de LLM mais de perto com LSP, compiladores e outras ferramentas de análise estática poderia fornecer mais contexto e resultados melhores. Seria bom poder ajustar finamente LLMs por linguagem e distribuí-los junto com as ferramentas comuns do editor. Aponta que as ferramentas de IA funcionam melhor em linguagens antigas e populares, e que isso pode se tornar um fator importante na escolha da linguagem. Acha que seria bom poder instalar um modelo dedicado ao Gleam para receber dados do LSP e do compilador e evitar gerar sintaxe incorreta.
Tem curiosidade sobre como o "contexto em anel" funciona e sugere uma solução para gerenciar o cache KV em projetos semelhantes. Propõe manter uma árvore de tokens e salvar snapshots completos do estado da LLM em intervalos de profundidade fixa, para que apenas alguns tokens precisem ser "reexecutados" quando o buffer mudar. Acha que pode haver propriedades matemáticas sobre como partes importantes do estado funcionam.
Acha que o cursor piscando no vídeo de demonstração dá palpitações, mas é muito legal. Também tem curiosidade sobre como o Linux funciona em hardware M*.
Pergunta se este plugin é o mesmo da versão para VSCode.
Fica pensando no que será possível nos próximos 10 anos com hardware de consumo e melhorias na quantização. Hoje, mesmo com uma GPU de 24 GB, ainda não consegue igualar o desempenho de serviços hospedados.
Prefere programar no terminal e, quando trava, pode usar
askdspara fazer uma análise mais profunda no terminal.Pergunta se é possível usar llama em hardware intermediário e acha que o problema é falta de RAM. Sente que 2 GB de VRAM e 16 GB de RAM do sistema não são suficientes e observa que, na maioria dos produtos da Apple, a memória é unificada, mas fora isso parece ser necessária uma GPU Nvidia cara com muita VRAM. Pergunta se existe alguma opção barata.
Pede conselhos a quem entende da área e está tentando descobrir como comprar uma placa de vídeo com preço razoável para rodar LLMs localmente.