Accès d'Ollama à l'assistant de programmation local AI Copilot
bref
Ce document décrit comment construire localement quelque chose comme Copilote un assistant de programmation qui vous aide à écrire un code plus beau et plus efficace.
Dans ce cours, vous apprendrez à utiliser Ollama Intégration des assistants de programmation locaux, y compris
- Continuer
- Aider
Attention :
- Nous allons parler de l'installation et de l'utilisation de base de VScode. jetbrain s'utilise de la même manière que VScode, il suffit de se référer à vscode.
- Les fonctionnalités et les possibilités de configuration disponibles avec jetbrain ne sont pas aussi étendues que celles disponibles avec VScode, c'est pourquoi il est recommandé d'utiliser VScode.
- La création locale de Copilot est plus exigeante pour la machine, en particulier pour la partie du code relative à l'autocomplétion. Si vous n'avez pas de besoins particuliers, il est donc recommandé d'acheter une API pour l'utiliser.
I. Introduction à la programmation de l'IA
1.1 Pourquoi programmer avec l'IA ?
Le modèle du grand langage existe depuis longtemps, mais c'est dans le domaine de la programmation qu'il s'est le mieux comporté, pour les raisons suivantes :
- Des critères clairs pour déterminer le bien et le mal. Dans le monde de la programmation, le code fonctionne ou ne fonctionne pas. Cette nature noire et blanche permet à l'IA de juger plus facilement de la qualité de ses résultats.
- Un langage précis. Les langages de programmation n'ont pas beaucoup d'ambiguïté. Chaque symbole, chaque mot-clé a une signification claire. C'est à cette précision que les modèles d'IA excellent.
- Missions ciblées. Lorsque nous écrivons du code, nous avons généralement un objectif clair. Par exemple, "Écrire une fonction qui calcule la séquence de Fibonacci". Des instructions aussi claires permettent à l'intelligence artificielle de se concentrer plus facilement sur le problème.
- Généralisabilité des connaissances. Une fois que vous avez appris les concepts de base d'un langage de programmation, beaucoup de choses peuvent être transférées à d'autres langages. Cette transférabilité des connaissances rend les modèles d'IA particulièrement efficaces dans le domaine de la programmation.
1.2 Comment programmer avec l'IA ?
- Utilisation de l'application de dialogue du grand modèle (non expliquée ici)
- Utilisation de l'environnement de développement intégré (IDE)
- Continuer
- Utilisation d'outils en ligne de commande
- Aider
II. accès continu à l'IDE
2.1 Installation des modèles requis
- Installer Ollama
- Installer les modèles suivants
- Installation du modèle universel de questions et réponses (UQA)
ollama pull llama3:8b
- Installation de modèles de complétion automatique du code.
ollama pull starcoder2:3b
- Installer le modèle d'intégration.
ollama pull nomic-embed-text
- Installation du modèle universel de questions et réponses (UQA)
2.2 Installation de Continue dans VScode et configuration d'Ollama local
- Installation de modèles dans la bibliothèque de plugins VScode
Recherchez Continue et voyez l'icône suivante, cliquez sur installer ou installez - (Action recommandée) Il est fortement recommandé de déplacer "Continue" dans la barre latérale droite de VS Code. Cela permet de garder l'explorateur de fichiers ouvert lors de l'utilisation de Continue, et vous permet de basculer la barre latérale avec un simple raccourci clavier.
- Configuration Ollama
Méthode 1 : Cliquez sur Select model---- sélectionnez Add model---- cliquez sur Ollama---- sélectionnez Autodetect
Cela sélectionnera automatiquement le modèle que nous venons de télécharger sur Ollama pour l'outil de raisonnement par le code.
Mode 2 : Cliquez sur le bouton Setup comme indiqué dans la figure pour entrer dans la page de configuration, et collez la configuration suivante{ "models": [ { "title": "Ollama", "provider": "ollama", "model": "AUTODETECT" } ], "tabAutocompleteModel": { "title": "Starcoder 2 3b", "provider": "ollama", "model": "starcoder2:3b" }, "embeddingsProvider": { "provider": "ollama", "model": "nomic-embed-text" } }
2.3 Directives d'utilisation de base
- Code facile à comprendre

- Code VS.
cmd+L
( MacOS ) /ctrl+L
( Windows ) - JetBrains.
cmd+J
( MacOS ) /ctrl+J
( Windows )
- Utilisation de la touche Tab pour l'autocomplétion du code

- Code VS.
tab
( MacOS ) /tab
( Windows ) - JetBrains.
tab
( MacOS ) /tab
( Windows )
- L'IA modifie rapidement votre code

- Code VS.
cmd+I
( MacOS ) /ctrl+I
( Windows ) - JetBrains.
cmd+I
( MacOS ) /ctrl+I
( Windows )
- Poser des questions basées sur le répertoire de code actuel

- Code VS.
@codebase
( MacOS ) /@codebase
( Windows ) - JetBrains : soutien futur
- Poser une question sur la base de la documentation officielle

- Code VS.
@docs
( MacOS ) /@docs
( Windows ) - JetBrains.
@docs
( MacOS ) /@docs
( Windows )
2.4 Références
Site officiel : https://docs.continue.dev/intro
Environnement de ligne de commande Accès Aider
Aider est un assistant de programmation basé sur une ligne de commande qui offre un accès au système et une utilisation des fonctionnalités à un niveau supérieur à celui d'un IDE, mais cela signifie également qu'il est plus difficile de démarrer.
Les tutoriels suivants vous apprendront à installer Aider et à vous connecter au service Ollama.
Veillez également à ce que :
- Avoir installé git et avoir de l'expérience avec git.
- Expérience avec python
3.1 Installation de l'assistant
- Aider dépend beaucoup des environnements python, il est donc recommandé d'utiliser conda pour créer un nouvel environnement ou python pour créer un nouvel environnement virtuel.
- Démarrer un nouvel environnement virtuel conda (idem pour l'environnement virtuel python)
conda create -n aider_env python=3.9
- Entrez dans cet environnement virtuel
conda activate aider_env
- Suivez ces commandes pour installer
python -m pip install aider-chat
- Démarrer un nouvel environnement virtuel conda (idem pour l'environnement virtuel python)
3.2 Installation et démarrage d'Ollama
- Lancez la ligne de commande et définissez les variables d'environnement comme suit
export OLLAMA_API_BASE=http://127.0.0.1:11434 # Mac/Linux环境 setx OLLAMA_API_BASE http://127.0.0.1:11434 # Windows环境,设置以后重启shell工具
- cd pour accéder à votre dépôt local, sinon Aider initialisera automatiquement un dépôt git dans le répertoire courant.
#example cd D:\Myfile\handy-ollama\handy-ollama\handy-ollama
- Exécutez Aider avec la commande suivante
aider --model ollama/<你的模型名字> #example #aider --model ollama/llama3:8b
Vous pouvez également utiliser des fichiers .env pour configurer les informations relatives à Aider
par exemple## 指定OPENAI_KEY(如果有的话) OPENAI_API_KEY=xxx ## 指定你使用model AIDER_MODEL=ollama/llama3:8b
Autres références de configuration :https://aider.chat/docs/config/dotenv.html
- L'opération est réussie si vous entrez dans la page suivante
- Vous pouvez maintenant discuter avec lui ou lui envoyer des commandes et il peut modifier votre code directement.
3.3 Utilisation de base
- Vous pouvez lui demander quelques informations de base sur ce référentiel
- Ajouter des fichiers
/add <file1> <file2> ...
Vous pouvez ensuite poser des questions sur la base de ces documents.
- Vous pouvez utiliser Aider sans ajouter de fichiers et il essaiera de déterminer quels fichiers doivent être modifiés en fonction de votre demande. (Mais la réflexion est souvent mauvaise)
- Ajoutez les fichiers pertinents pour apporter des modifications ou répondre à des questions sur un code ou un fichier spécifique. (N'ajoutez pas un tas de fichiers supplémentaires. Si vous ajoutez trop de fichiers, la génération ne sera pas aussi efficace et vous coûtera plus cher. Jeton ).
Exemple :
- Utilisez Aider pour apporter des modifications directement aux fichiers de code ou à d'autres fichiers, par exemple en ajoutant un résumé à la dernière ligne d'un Readme.
Voir le document actuel - Si vous ne voulez pas qu'Aider fasse quelque chose avec le fichier, vous pouvez préfixer le dialogue avec l'opérateur /ask
- Supprimer tous les fichiers ajoutés avec /drop
3.4 Références
Liste des commandes de type "slash" couramment utilisées :
commande | descriptions |
---|---|
/add | Ajouter des fichiers au chat pour que GPT puisse les éditer ou les examiner en détail |
/ask | Poser des questions sur la base de code sans modifier aucun fichier |
/chat-mode | Passer à un nouveau mode de discussion |
/clear | Effacer l'historique des conversations |
/clipboard | Ajout d'images/de texte du presse-papiers dans le chat (possibilité de fournir des noms pour les images) |
/code | Demande de modification du code |
/commit | Soumettre les modifications apportées à l'entrepôt en dehors du chat (message de soumission optionnel) |
/diff | Affiche la différence de changements depuis le dernier message |
/drop | Supprimer des fichiers de la session de chat pour libérer de l'espace contextuel |
/exit | Quitter l'application |
/git | Exécuter la commande git |
/help | Poser une question sur aider |
/lint | Vérification du code et correction des fichiers fournis ou dans le chat (si les fichiers ne sont pas fournis) |
/ls | Liste tous les fichiers connus et indique quels fichiers sont inclus dans la session de chat |
/map | Imprimer les informations actuelles sur l'entrepôt |
/map-refresh | Forcer l'actualisation et l'impression des informations relatives à l'entrepôt |
/model | Passer à un nouveau modèle linguistique |
/models | Recherche dans la liste des modèles disponibles |
/quit | Quitter l'application |
/read-only | Ajouter un fichier au chat, uniquement pour information, non modifiable |
/run | Exécutez la commande shell et ajoutez éventuellement la sortie au chat (alias : !) |
/test | Exécuter la commande shell et ajouter la sortie au chat si le code de sortie n'est pas nul. |
/tokens | Indiquer le nombre de jetons en cours d'utilisation dans le contexte du chat. |
/undo | Annuler le dernier commit git s'il a été fait par aider |
/voice | Enregistrer et transcrire les données vocales |
/web | Capturez des pages web, convertissez-les en markdown et ajoutez-les au chat |
Pour plus d'informations, veuillez consulter le site https://aider.chat/docs/usage.html
Environnement de développement intégré Accès à RooCline (nouveau)
4.1 Cline et RooCline
Cline C'est le plugin de programmation d'IA pour vscode le plus populaire au monde. Il utilise l'assistance de l'IA d'une manière différente de la plupart des outils sur le marché. Plutôt que de se concentrer uniquement sur la génération ou la complétion de code, il fonctionne comme un outil au niveau du système qui peut interagir avec l'ensemble de l'environnement de développement. Cette caractéristique est particulièrement importante lorsqu'il s'agit de scénarios de débogage complexes, de refactoring à grande échelle ou de tests d'intégration, comme nous pouvons le voir dans la section Cline de la référence. Aujourd'hui, nous allons vous présenter Roo Cline.
RooCline est une version améliorée de Cline qui se concentre sur l'amélioration de l'efficacité et de la flexibilité du développement. Il prend en charge plusieurs langages et modèles (par exemple Gemini, Meta, etc.) et offre des fonctionnalités telles que les notifications intelligentes, l'optimisation de la gestion des fichiers et la détection des codes manquants. En outre, RooCline permet de travailler en parallèle avec Cline pour les développeurs qui ont besoin de travailler sur plusieurs tâches en même temps.
même si Roo Cline Il n'est pas encore aussi important que Cline, mais il se développe rapidement. Il ajoute quelques fonctionnalités expérimentales supplémentaires à Cline, et peut également auto-écrire des parties de son code avec seulement une petite quantité d'intervention humaine.
De plus, Cline consomme un grand nombre de jetons, ce qui affecte plus ou moins les coûts de développement quotidiens.

4.2 Installation de RooCline dans VScode et configuration de l'Ollama local
[](https://github.com/datawhalechina/handy-ollama/blob/main/docs/C7/1.%20%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0%E7%9A%84%20AI%20Copilot%20%E7%BC%96%E7%A8%8B%E5%8A%A9%E6%89%8B.md#42-%E5%9C%A8-vscode-%E5%AE%89%E8%A3%85-roocline-%E4%BB%A5%E5%8F%8A%E9%85%8D%E7%BD%AE%E6%9C%AC%E5%9C%B0-ollama)- Modèles d'installation Ollama (sous forme de deepseek-r1:1.5b par exemple)
ollama run deepseek-r1:1.5b
- Installation de modèles dans la bibliothèque de plugins VScode
Recherchez Roo Cline, voyez l'icône suivante, cliquez sur installer ou installez - Configuration ollama
- Cliquez sur l'icône Roo cline à droite
- Cliquez sur l'icône Paramètres
- Nom du modèle d'entrée
- Cliquez sur Terminé
- Vous pouvez maintenant utiliser vscode comme n'importe quel autre éditeur intégré + ai.
Ensuite, nous aborderons certaines caractéristiques propres à Roo cline !
4.3 Caractéristiques de Roo Cline
Il convient de noter que ces fonctions reposent sur certaines capacités des grands modèles, en particulier lorsqu'elles sont appliquées au niveau du système de contrôle. Le modèle deepseek-r1:1.5b de notre exemple n'a pas la capacité d'effectuer les opérations ci-dessous et signalera une trop grande complexité. Il est recommandé d'accéder à recherche approfondie l'accès à l'interface utilisateur (c'est bon marché).
Pour les fonctions 1~2 suivantes, cliquez sur l'icône Prompt dans la zone de fonction pour accéder à la page de configuration.

- Prise en charge d'API/modèles arbitraires
- OpenRouter/Anthropic/Glama/OpenAI/Google Gemini/AWS Bedrock/Azure/GCP Vertex
- Modèles natifs (LM Studio/Ollama) et toute interface compatible avec OpenAI
- Différents modèles peuvent être utilisés pour différents schémas (par exemple, un modèle de haut niveau pour la conception architecturale, un modèle économique pour le codage quotidien).
- Suivi de l'utilisation au niveau de la session (statistiques sur la consommation et le coût des jetons)
- Modes personnalisés : personnalisation des modes Code Roo les rôles, les instructions et les autorisations :
- mode intégré
- Code Mode : assistant de codage multifonctionnel par défaut
- Architecte Modèles : conception au niveau du système et analyse architecturale
- Demander Modèle : Recherche approfondie et questions-réponses
- Mode de création d'utilisateur
- Tapez "Créer un nouveau mode pour" pour créer un rôle personnalisé.
- Chaque mode peut avoir des commandes et des compétences indépendantes (gérées dans l'onglet Invites).
- Fonctionnalités avancées
- Restrictions sur les types de fichiers (par exemple, le mode ask/architect n'édite que du markdown)
- Règles de fichier personnalisées (par exemple, ne faire fonctionner que les fichiers de test .test.ts)
- Passage d'un mode à l'autre (par exemple, mode de codage automatique pour des fonctions spécifiques)
- Création autonome de nouveaux modèles (avec des définitions de rôles et des limites de fichiers)
- mode intégré
- Contrôle de la granularité Permissions Roo cline
Cliquez sur l'écran Paramètres pour entrer : vous pouvez contrôler les autorisations de Roo cline dans le paramètre Auto-approbation.
Notez que cela permet de contrôler les actions qui peuvent être exécutées automatiquement sans votre consentement. Dans le cas contraire, il vous sera demandé de cliquer sur la procédure de confirmation avant de poursuivre. - Opérations sur les fichiers et les éditeurs
- Création/édition de fichiers de projet (comparaison des différences)
- Réponse automatique aux erreurs de code (importations manquantes, problèmes de syntaxe, etc.)
- Suivi des modifications dans la chronologie de l'éditeur (pour faciliter la révision et le retour en arrière)
- Intégration de la ligne de commande
- Commandes de gestion des paquets/construction/test
- Contrôler la production et s'adapter automatiquement aux erreurs
- Serveurs de développement fonctionnant en permanence en arrière-plan Prise en charge des politiques d'approbation : confirmation ligne par ligne/approbation automatique des opérations de routine
- Automatisation du navigateur
Dans la troisième étape, sélectionnez les options suivantes pour donner à Roo Cline des capacités d'automatisation du web- Lancement d'applications web locales/éloignées
- Opération Tap/Entrée/Défilement/Capture d'écran
- Collecter les journaux de la console pour déboguer les problèmes d'exécution Effectuer des tests de bout en bout et des vérifications visuelles
- MCP Extension de l'outil
Modèle Contexte Protocole (MCP) est un protocole d'extension des capacités de Roo qui permet à ce dernier de communiquer avec des serveurs locaux fournissant des outils et des ressources supplémentaires. C'est l'équivalent d'un "cerveau externe" sur l'assistant de programmation.
Mode dual local/cloud : vous pouvez utiliser les outils et services locaux de votre ordinateur, mais aussi vous connecter aux modules prêts à l'emploi partagés par la communauté.
Créer dynamiquement un outil : il suffit de dire à Roo de "faire un outil qui cherche la dernière documentation npm" et il générera automatiquement le code d'ancrage.
Exemples :- Récupérer les ressources de la communauté : utiliser les roues construites par d'autres
Par exemple, en accédant à l'outil existant "Weather API Query Tool".
Utilisation directe d'outils validés par la communauté open source - Outils privés auto-construits : personnalisés en fonction des besoins de l'entreprise
Dites : "Créez un outil qui capture les journaux internes de l'entreprise".
Roo est généré automatiquement :# 示例自动生成的工具框架 class LogTool(MCPPlugin): def fetch_logs(self, service_name): # 自动对接公司日志系统 # 返回最近1小时的关键错误日志 ...
Une fois que vous l'aurez validé, l'outil apparaîtra dans la liste des compétences de Roo !
- Mécanisme de sécurité : tous les nouveaux outils doivent être examinés et autorisés manuellement avant d'être activés, ce qui empêche l'appel arbitraire d'interfaces sensibles.
- Récupérer les ressources de la communauté : utiliser les roues construites par d'autres
- Contexte@ : un moyen de fournir un contexte supplémentaire :
@file
Contenu d'un document incorporé@folder
Structure du catalogue : contient la structure complète du catalogue@problems
Introduction d'erreurs et d'avertissements dans l'espace de travail@url
: Obtenir la documentation de l'URL (en markdown)@git
Analyse de l'enregistrement des livraisons Git et des divergences pour se concentrer sur les informations clés et optimiser l'utilisation des jetons.
Références (lectures recommandées)
L'adresse github de Roo Cline : https://github.com/RooVetGit/Roo-Code a été renommée en Code RooPlus de nouvelles fonctionnalités à découvrir !
Cline Introduction :Cline (Claude Dev) : plugin VSCode pour la programmation automatisée
Comparaison des outils de programmation de l'IA :Comparaison des outils de programmation d'IA Trae, Cursor et Windsurf
Réaliser un site web de services d'IA à partir de zéro sans écrire une seule ligne de code en utilisant des outils de programmation d'IA : https://cloud.tencent.com/developer/article/2479975
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...