- Fournit une fonctionnalité d’autocomplétion de texte basée sur un LLM local dans VIM
- Suggestion automatique lors du déplacement du curseur en mode
Insert
- Possibilité de basculer vers une suggestion manuelle avec
Ctrl+F
- Acceptation de la suggestion avec
Tab
- Acceptation de la suggestion de la première ligne avec
Shift+Tab
- Possibilité de définir un temps maximal de génération de texte
- Possibilité de définir la plage de contexte autour du curseur
- Construction d’un anneau de contexte à partir de fragments de contexte issus des fichiers ouverts, du fichier en cours d’édition et du texte copié
- Prise en charge de contextes très volumineux grâce à une réutilisation intelligente du contexte, même sur du matériel modeste
- Affichage de statistiques de performance
Installation
- vim-plug :
Plug 'ggml-org/llama.vim'
- Vundle :
Configuration de llama.cpp
- Le plugin nécessite une instance serveur llama.cpp en cours d’exécution à l’adresse définie dans
g:llama_config.endpoint
- Mac OS :
brew install llama.cpp
- Autres OS : compiler depuis les sources ou utiliser le dernier binaire : llama.cpp releases
Configuration de llama.cpp
- Réglages recommandés selon la quantité de VRAM :
- 16 Go de VRAM ou plus :
Qwen2.5-Coder-7B-Q8_0-GGUF
- Moins de 16 Go de VRAM :
Qwen2.5-Coder-3B-Q8_0-GGUF
- Moins de 8 Go de VRAM :
Qwen2.5-Coder-1.5B-Q8_0-GGUF
- Pour plus de détails, voir
:help llama
LLM recommandés
Détails d’implémentation
- Le plugin vise une complétion FIM locale simple et légère, offrant des performances de haute qualité même sur du matériel grand public
Autres IDE
1 commentaires
Avis Hacker News
Il recommande de regarder les détails techniques de l’implémentation du serveur, qui contient des idées intéressantes et élégantes. Ce plugin peut aussi être utilisé avec VS Code. Les performances ont été améliorées grâce à la mise en cache côté client.
Cet utilisateur a beaucoup contribué à l’écosystème open source de l’IA, et espère qu’il pourra lever suffisamment de fonds pour continuer à développer des logiciels et les publier en véritable open source « sans condition ».
Il pense qu’une intégration plus étroite des outils LLM avec les LSP, les compilateurs et d’autres outils d’analyse statique pourrait fournir davantage de contexte et de meilleurs résultats. Il serait bien de pouvoir affiner des LLM par langage et de les distribuer avec les outils d’édition habituels. Il souligne aussi que les outils d’IA fonctionnent mieux sur les langages anciens et populaires, ce qui pourrait devenir un facteur important dans le choix d’un langage. Il pense qu’il serait utile de pouvoir installer un modèle dédié à Gleam, alimenté par les données du LSP et du compilateur, afin d’éviter la génération de syntaxe invalide.
Il se demande comment fonctionne le « ring context » et propose une solution pour gérer le cache KV dans des projets similaires. L’idée serait de conserver un arbre de tokens et d’enregistrer des instantanés complets de l’état du LLM à intervalles de profondeur fixes, afin de n’avoir à « rejouer » que quelques tokens lorsque le buffer change. Il pense qu’il pourrait y avoir des propriétés mathématiques expliquant le fonctionnement des parties importantes de l’état.
Il trouve que le curseur clignotant de la vidéo de démonstration donne des palpitations, mais trouve cela très cool. Il se demande aussi comment Linux fonctionne sur le matériel M*.
Il se demande si ce plugin est identique à la version VSCode.
Il s’interroge sur ce qui sera possible au cours des dix prochaines années grâce au matériel grand public et aux progrès de la quantification. Même avec un GPU de 24 Go, il n’arrive pas encore à égaler les performances des services d’hébergement.
Il préfère coder dans le terminal et, lorsqu’il bloque, il peut utiliser
askdspour effectuer une analyse plus approfondie depuis le terminal.Il se demande s’il est possible d’utiliser llama sur du matériel de milieu de gamme, pensant que les plantages sont dus au manque de RAM. Il estime que 2 Go de VRAM et 16 Go de RAM système ne suffisent pas. Il note que sur la plupart des produits Apple, la mémoire est unifiée, mais qu’autrement il faut selon lui un GPU Nvidia coûteux avec beaucoup de VRAM. Il se demande s’il existe une option moins chère.
Il demande conseil à quelqu’un qui connaît bien le sujet et cherche un moyen d’acheter une carte graphique à prix raisonnable pour faire tourner des LLM en local.