Ollama Zugang zum lokalen AI Copilot Programmierassistenten

Praktische AI-TutorialsGeschrieben vor 3 Monaten Sharenet.ai
409 0
Trae

kurz

Dieses Dokument beschreibt, wie man lokal etwas wie Kopilot Programmierassistent, der Ihnen hilft, schöneren und effizienteren Code zu schreiben.

In diesem Kurs werden Sie lernen Ollama Integration von lokalen Programmierassistenten, einschließlich

Achtung!

  1. Wir werden über die Installation und die grundlegende Verwendung von VScode sprechen. jetbrain wird auf die gleiche Weise wie VScode verwendet, beziehen Sie sich einfach auf vscode.
  2. Die in jetbrain verfügbaren Funktionen und Konfigurationen sind nicht so umfangreich wie die von VScode, daher wird empfohlen, VScode zu verwenden.
  3. Die lokale Erstellung von Copilot stellt höhere Anforderungen an die Maschine, insbesondere für den Autovervollständigungsteil des Codes. Wenn Sie also keine besonderen Anforderungen haben, empfiehlt es sich, eine API zu kaufen, um sie zu nutzen.

 

I. Einführung in die KI-Programmierung

1.1 Warum programmieren wir mit KI?

Das Big Language Model gibt es schon seit langem, aber der Bereich, in dem es sich am besten bewährt hat, ist die Programmierung, und zwar aus folgenden Gründen:

  1. Klare Kriterien für richtig und falsch. In der Welt der Programmierung funktioniert der Code entweder oder er funktioniert nicht. Diese Schwarz-Weiß-Malerei macht es für die KI einfacher, die Qualität ihrer Ergebnisse zu beurteilen.
  2. Präzise Sprache. In Programmiersprachen gibt es nicht viel Mehrdeutigkeit. Jedes Symbol, jedes Schlüsselwort hat eine klare Bedeutung. Diese Präzision ist es, was KI-Modelle gut können.
  3. Gezielte Missionen. Wenn wir Code schreiben, haben wir normalerweise ein klares Ziel. Zum Beispiel: "Schreiben Sie eine Funktion, die die Fibonacci-Folge berechnet". Solche klaren Anweisungen machen es der KI leichter, sich auf das Problem zu konzentrieren.
  4. Verallgemeinerbarkeit des Wissens. Wenn man einmal die Grundkonzepte einer Programmiersprache gelernt hat, lässt sich vieles auf andere Sprachen übertragen. Diese Übertragbarkeit von Wissen macht KI-Modelle im Bereich der Programmierung besonders effizient.

1.2 Wie programmieren wir mit KI?

  1. Verwendung der Anwendung "Big Model Dialogue" (hier nicht weiter erläutert)
  2. Verwendung der integrierten Entwicklungsumgebung (IDE)
    • Weiter
  3. Verwendung von Befehlszeilentools
    • Aider

 

II. IDE Continue Access

2.1 Installation der erforderlichen Modelle

  1. Ollama installieren
  2. Installieren Sie die folgenden Modelle
    • Installation des Universal Question and Answer (UQA)-Modells ollama pull llama3:8b
    • Installation von Modellen zur automatischen Codevervollständigung. ollama pull starcoder2:3b
    • Installieren Sie das Einbettungsmodell. ollama pull nomic-embed-text

2.2 Installieren von Continue in VScode und Konfigurieren von Local Ollama

  1. Installieren von Modellen in der VScode-Plugin-Bibliothek
    Suchen Sie nach Continue, sehen Sie das folgende Symbol, klicken Sie auf Installieren oder Installieren
    Ollama 接入本地 AI Copilot 编程助手
  2. (Empfohlene Aktion) Es wird dringend empfohlen, "Weiter" in die rechte Seitenleiste von VS Code zu verschieben. Dadurch bleibt der Datei-Explorer bei der Verwendung von "Continue" geöffnet und Sie können die Seitenleiste mit einem einfachen Tastaturkürzel umschalten.
    Ollama 接入本地 AI Copilot 编程助手
  3. Konfiguration Ollama
    Weg 1: Klicken Sie auf Modell auswählen---- wählen Sie Modell hinzufügen---- klicken Sie auf Ollama---- wählen Sie Autodetect
    Dadurch wird automatisch das Modell ausgewählt, das wir gerade auf Ollama für das Code Reasoning Tool heruntergeladen haben.
    Ollama 接入本地 AI Copilot 编程助手
    Ollama 接入本地 AI Copilot 编程助手
    Modus 2: Klicken Sie auf die Schaltfläche Setup (siehe Abbildung), um die Konfigurationsseite aufzurufen, und fügen Sie die folgende Konfiguration ein

    {
    "models": [
    {
    "title": "Ollama",
    "provider": "ollama",
    "model": "AUTODETECT"
    }
    ],
    "tabAutocompleteModel": {
    "title": "Starcoder 2 3b",
    "provider": "ollama",
    "model": "starcoder2:3b"
    },
    "embeddingsProvider": {
    "provider": "ollama",
    "model": "nomic-embed-text"
    }
    }
    

    Ollama 接入本地 AI Copilot 编程助手

2.3 Grundlegende Verwendungsrichtlinien

  1. Einfach zu verstehender Code
Ollama 接入本地 AI Copilot 编程助手
  • VS-Code. cmd+L ( MacOS ) / ctrl+L ( Fenster )
  • JetBrains. cmd+J ( MacOS ) / ctrl+J ( Fenster )
  1. Verwenden der Tabulatortaste zum automatischen Vervollständigen von Code
Ollama 接入本地 AI Copilot 编程助手
  • VS-Code. tab ( MacOS ) / tab ( Fenster )
  • JetBrains. tab ( MacOS ) / tab ( Fenster )
  1. AI ändert Ihren Code schnell
Ollama 接入本地 AI Copilot 编程助手
  • VS-Code. cmd+I ( MacOS ) / ctrl+I ( Fenster )
  • JetBrains. cmd+I ( MacOS ) / ctrl+I ( Fenster )
  1. Fragen stellen, die sich auf das aktuelle Codeverzeichnis beziehen
Ollama 接入本地 AI Copilot 编程助手
  • VS-Code. @codebase ( MacOS ) / @codebase ( Fenster )
  • JetBrains : zukünftige Unterstützung
  1. Stellen Sie eine Frage auf der Grundlage der offiziellen Dokumentation
Ollama 接入本地 AI Copilot 编程助手
  • VS-Code. @docs ( MacOS ) / @docs ( Fenster )
  • JetBrains. @docs ( MacOS ) / @docs ( Fenster )

2.4 Referenzen

Offizielle Website: https://docs.continue.dev/intro

 

Befehlszeilenumgebung Aider Zugriff

Aider ist ein befehlszeilenbasierter Programmierassistent, der im Vergleich zu einer IDE einen besseren Systemzugriff und eine bessere Funktionsnutzung bietet, was aber auch bedeutet, dass es schwieriger ist, den Einstieg zu finden.

In den folgenden Anleitungen erfahren Sie, wie Sie Aider installieren und sich mit dem Ollama-Dienst verbinden.

Vergewissern Sie sich außerdem:

  1. Sie haben git installiert und Erfahrung mit git.
  2. Erfahrung mit Python

3.1 Installation des Aiders

  1. Aider hat viele Abhängigkeiten von Python-Umgebungen, daher wird empfohlen, conda zu verwenden, um eine neue Umgebung zu erstellen, oder Python, um eine neue virtuelle Umgebung zu erstellen, wie das folgende Beispiel mit conda zeigt
    • Starten Sie eine neue virtuelle Umgebung von conda (dasselbe gilt für die virtuelle Umgebung von python)
      conda create -n aider_env python=3.9
      
    • Zugang zur virtuellen Umgebung
      conda activate aider_env
      
    • Befolgen Sie diese Befehle zur Installation
      python -m pip install aider-chat
      

3.2 Ollama einrichten und starten

  1. Starten Sie die Befehlszeile und setzen Sie die Umgebungsvariablen wie folgt
    export OLLAMA_API_BASE=http://127.0.0.1:11434 # Mac/Linux环境
    setx OLLAMA_API_BASE http://127.0.0.1:11434 # Windows环境,设置以后重启shell工具
    
  2. cd, um auf Ihr lokales Repository zuzugreifen. Wenn nicht, wird Aider automatisch ein Git-Repository im aktuellen Verzeichnis initialisieren.
    #example 
    cd D:\Myfile\handy-ollama\handy-ollama\handy-ollama
    
  3. Starten Sie Aider mit dem folgenden Befehl
    aider --model ollama/<你的模型名字>
    #example
    #aider --model ollama/llama3:8b
    

    Sie können auch die .env-Datei verwenden, um Aider-Informationen zu konfigurieren.
    zum Beispiel

    ## 指定OPENAI_KEY(如果有的话)
    OPENAI_API_KEY=xxx
    ## 指定你使用model
    AIDER_MODEL=ollama/llama3:8b
    

    Weitere Konfigurationshinweise:https://aider.chat/docs/config/dotenv.html

  4. Erfolgreich, wenn Sie die folgende Seite aufrufen
    Ollama 接入本地 AI Copilot 编程助手
  5. Sie können nun mit ihm chatten oder ihm einige Befehle schicken und er kann Ihren Code direkt ändern
    Ollama 接入本地 AI Copilot 编程助手

3.3 Grundlegende Verwendung

  1. Sie können einige grundlegende Informationen über dieses Repository abfragen
    Ollama 接入本地 AI Copilot 编程助手
  2. Dateien hinzufügen
    /add <file1> <file2> ...
    

    Dann können Sie auf der Grundlage dieser Dokumente einige Fragen stellen

    • Sie können Aider verwenden, ohne Dateien hinzuzufügen, und es wird versuchen, auf der Grundlage Ihrer Anfrage herauszufinden, welche Dateien bearbeitet werden müssen. (Aber Gedanken sind oft schlecht)
    • Fügen Sie relevante Dateien hinzu, um Änderungen vorzunehmen oder Fragen zu einem bestimmten Code oder einer bestimmten Datei zu beantworten. (Fügen Sie nicht zu viele zusätzliche Dateien hinzu. Wenn Sie zu viele Dateien hinzufügen, ist die Generierung nicht so effektiv und kostet Sie mehr. Token ).

    Beispiel:
    Ollama 接入本地 AI Copilot 编程助手
    Ollama 接入本地 AI Copilot 编程助手
    Ollama 接入本地 AI Copilot 编程助手

  3. Verwenden Sie Aider, um Änderungen direkt an Codedateien oder anderen Dateien vorzunehmen, z. B. um eine Zusammenfassung in die letzte Zeile einer Readme-Datei einzufügen.
    Ollama 接入本地 AI Copilot 编程助手
    Das aktuelle Dokument anzeigen
    Ollama 接入本地 AI Copilot 编程助手
  4. Wenn Sie nicht wollen, dass Aider tatsächlich etwas mit der Datei macht, können Sie dem Dialog den Operator /ask voranstellen
  5. Alle hinzugefügten Dateien mit /drop löschen

3.4 Referenzen

Eine Liste von häufig verwendeten Slash-Befehlen:

BefehlBeschreibungen
/addDateien zum Chat hinzufügen, damit GPT sie bearbeiten oder im Detail überprüfen kann
/askFragen zur Code-Basis stellen, ohne eine der Dateien zu bearbeiten
/chat-modeZum neuen Chat-Modus wechseln
/clearChat-Verlauf löschen
/clipboardBilder/Text aus der Zwischenablage in den Chat einfügen (optional Namen für Bilder angeben)
/codeAntrag auf Änderung des Codes
/commitÜbermittlung von Änderungen am Lager außerhalb des Chats (Übermittlungsnachricht optional)
/diffZeigt die Differenz der Änderungen seit der letzten Meldung an
/dropDateien aus der Chatsitzung entfernen, um Speicherplatz im Kontext freizugeben
/exitBeenden Sie die Anwendung
/gitFühren Sie den Befehl git aus
/helpEine Frage stellen über aider
/lintÜberprüfung des Codes und Korrektur der bereitgestellten Dateien oder im Chat (falls keine Dateien bereitgestellt werden)
/lsListet alle bekannten Dateien auf und zeigt an, welche Dateien in der Chatsitzung enthalten sind
/mapAktuelle Lagerinformationen drucken
/map-refreshErzwingen, dass die Lagerinformationen aktualisiert und gedruckt werden
/modelUmstellung auf ein neues Sprachmodell
/modelsSuche in der Liste der verfügbaren Modelle
/quitBeenden Sie die Anwendung
/read-onlyDatei zum Chat hinzufügen, nur zu Ihrer Information, nicht editierbar
/runFühren Sie den Shell-Befehl aus und fügen Sie optional die Ausgabe zum Chat hinzu (Alias: !)
/testFühren Sie den Shell-Befehl aus und fügen Sie die Ausgabe bei einem Exit-Code ungleich Null dem Chat hinzu
/tokensBericht über die Anzahl der Token, die derzeit im Chat-Kontext verwendet werden
/undoDie letzte Git-Übertragung rückgängig machen, wenn sie von einem Helfer durchgeführt wurde
/voiceAufzeichnung und Transkription von Spracheingaben
/webErfassen von Webseiten, Umwandlung in Markdown und Hinzufügen zum Chat

Weitere Informationen zur Verwendung finden Sie unter https://aider.chat/docs/usage.html.

 

IV. integrierte Entwicklungsumgebung RooCline-Zugang (neu)

4.1 Cline und RooCline

Cline Es ist die heißeste KI-Programmierung Plugin für vscode in der Welt. Es nutzt die KI-Unterstützung auf eine andere Weise als die meisten Tools auf dem Markt. Anstatt sich nur auf die Codegenerierung oder -vervollständigung zu konzentrieren, arbeitet es als Werkzeug auf Systemebene, das mit der gesamten Entwicklungsumgebung interagieren kann. Diese Funktion ist besonders wichtig, wenn es um komplexe Debugging-Szenarien, umfangreiches Refactoring oder Integrationstests geht, wie wir im Abschnitt über Cline in der Referenz sehen können. Heute werden wir Roo Cline vorstellen.

RooCline ist eine erweiterte Version von Cline, die sich auf die Verbesserung der Entwicklungseffizienz und Flexibilität konzentriert. Sie unterstützt mehrere Sprachen und Modelle (z. B. Gemini, Meta usw.) und bietet Funktionen wie intelligente Benachrichtigungen, Optimierung der Dateiverarbeitung und Erkennung von fehlendem Code. Darüber hinaus unterstützt RooCline die parallele Ausführung mit Cline für Entwickler, die an mehreren Aufgaben gleichzeitig arbeiten müssen.

auch wenn Roo Cline Es ist immer noch nicht so groß wie Cline, aber es wächst schnell. Es fügt Cline einige zusätzliche experimentelle Funktionen hinzu und kann auch Teile seines Codes selbst schreiben, ohne dass ein Mensch eingreifen muss.

Und Cline verbraucht eine hohe Anzahl von Token, was sich mehr oder weniger auf die täglichen Entwicklungskosten auswirkt.

Ollama 接入本地 AI Copilot 编程助手

4.2 Installation von RooCline in VScode und Konfiguration von Local Ollama

[](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)

  1. Ollama-Installationsmodell (in Tiefensuche-r1:1.5b zum Beispiel)
    ollama run deepseek-r1:1.5b
    
  2. Installieren von Modellen in der VScode-Plugin-Bibliothek
    Suchen Sie nach Roo Cline, sehen Sie das folgende Symbol, klicken Sie auf installieren oder installieren
    Ollama 接入本地 AI Copilot 编程助手
  3. Konfiguration ollama
    1. Klicken Sie auf das Symbol "Roo cline" auf der rechten Seite
    2. Klicken Sie auf das Symbol Einstellungen
    3. Name des Eingabemodells
    4. Klicken Sie auf Erledigt

    Ollama 接入本地 AI Copilot 编程助手

  4. Jetzt können Sie vscode wie jeden anderen integrierten Editor + KI verwenden.
    Ollama 接入本地 AI Copilot 编程助手

Als Nächstes behandeln wir einige Funktionen, die es nur bei Roo cline gibt!

4.3 Roo Cline Merkmale

Beachten Sie, dass diese Funktionen auf bestimmte große Modellfähigkeiten angewiesen sind, insbesondere wenn sie auf der Ebene des Kontrollsystems angewendet werden. Das deepseek-r1:1.5b in unserem Beispiel ist nicht in der Lage, diese Operationen auszuführen, und wird zu viel Komplexität melden. Es wird empfohlen, auf Deepseek Api-Zugang (er ist billig).

Für die folgenden 1~2 Funktionen klicken Sie auf das Aufforderungssymbol im Funktionsbereich, um die Konfigurationsseite aufzurufen.

Ollama 接入本地 AI Copilot 编程助手
  1. Unterstützung für beliebige APIs/Modelle
    • OpenRouter/Anthropic/Glama/OpenAI/Google Gemini/AWS Bedrock/Azure/GCP Vertex
    • Native Modelle (LM Studio/Ollama) und jede OpenAI-kompatible Schnittstelle
    • Unterschiedliche Modelle können für unterschiedliche Muster verwendet werden (z.B. High-Level-Modell für den Architekturentwurf, ökonomisches Modell für die alltägliche Programmierung)
    • Verfolgung der Nutzung auf Sitzungsebene (Token-Verbrauch und Kostenstatistiken)
  2. Benutzerdefinierte Modi: Anpassung durch Modi Roo-Code Rollen, Anweisungen und Berechtigungen:
    • eingebauter Modus
      • Code Modus: Standard-Multifunktions-Codierassistent
      • Architekt Patterns: Entwurf auf Systemebene und Architekturanalyse
      • Fragen Sie Modell: Vertiefte Recherche sowie Fragen und Antworten
    • Benutzererstellungsmodus
      • Geben Sie "Create a new mode for" ein, um eine benutzerdefinierte Rolle zu erstellen.
      • Jeder Modus kann unabhängige Befehle und Fähigkeiten haben (verwaltet in der Registerkarte Prompts)
    • Erweiterte Funktionen
      • Beschränkungen des Dateityps (z. B. kann der ask/architect-Modus nur Markdown bearbeiten)
      • Benutzerdefinierte Dateiregeln (z. B. nur .test.ts-Testdateien verarbeiten)
      • Umschalten zwischen Modi (z. B. Auto-to-code-Modus für bestimmte Funktionen)
      • Autonome Erstellung neuer Modelle (mit Rollendefinitionen und Dateibegrenzungen)
  3. Granularitätskontrolle Roo cline Berechtigungen
    Klicken Sie auf den Bildschirm "Einstellungen", um ihn aufzurufen: In der Einstellung "Automatisch genehmigen" können Sie die Zugriffsrechte für das Programm steuern.
    Beachten Sie, dass damit gesteuert wird, welche Aktionen automatisch ohne Ihre Zustimmung durchgeführt werden können. Andernfalls werden Sie aufgefordert, den Bestätigungsprozess durchzuklicken, bevor Sie fortfahren.
    Ollama 接入本地 AI Copilot 编程助手
  4. Datei- und Editoroperationen
    • Erstellung/Bearbeitung von Projektdateien (Vergleich der Unterschiede anzeigen)
    • Automatische Reaktion auf Codefehler (fehlende Importe, Syntaxprobleme usw.)
    • Nachverfolgung von Änderungen in der Zeitleiste des Editors (für einfache Überprüfung/Rollback)
  5. Integration in die Befehlszeile
    • Paketverwaltung/Build/Test-Befehle
    • Überwachung der Ausgabe und automatische Anpassung an Fehler
    • Kontinuierlich laufende Entwicklungsserver im Hintergrund Unterstützung der Genehmigungspolitik: zeilenweise Bestätigung/automatische Genehmigung von Routinevorgängen
  6. Browser-Automatisierung
    Im dritten Schritt wählen Sie die folgenden Optionen, um Roo Cline mit Web-Automatisierungsfunktionen auszustatten
    Ollama 接入本地 AI Copilot 编程助手

    • Starten von lokalen/entfernten Webanwendungen
    • Tippen/Eingabe/Scrollen/Bildschirmfoto
    • Sammeln von Konsolenprotokollen zur Behebung von Laufzeitproblemen Für End-to-End-Tests und visuelle Überprüfung
  7. MCP Werkzeug Erweiterung
    Modell-Kontext-Protokoll (MCP) ist ein Fähigkeitserweiterungsprotokoll für Roo, das es Roo ermöglicht, mit lokalen Servern zu kommunizieren, die zusätzliche Werkzeuge und Ressourcen bereitstellen. Es ist das Äquivalent dazu, ein "externes Gehirn" auf den Programmierassistenten zu setzen.
    Lokaler/Cloud-Dualmodus: Sie können die lokalen Tools und Dienste Ihres Computers nutzen, aber auch eine Verbindung zu den von der Gemeinschaft gemeinsam genutzten, vorgefertigten Modulen herstellen
    Dynamische Erstellung eines Werkzeugs: Sagen Sie Roo einfach, dass es ein Werkzeug erstellen soll, das die neueste npm-Dokumentation nachschlägt, und es wird automatisch den Docking-Code erzeugen.
    Beispiele:

    1. Aufgreifen von Gemeinschaftsressourcen: Nutzung von Rädern, die von anderen gebaut wurden
      Zum Beispiel durch den Zugriff auf das bestehende "Weather API Query Tool".
      Direkte Verwendung von Tools, die von der Open-Source-Gemeinschaft validiert wurden
    2. Selbst erstellte private Tools: auf die Bedürfnisse des Unternehmens zugeschnitten
      Sagen Sie: "Erstellen Sie ein Tool, das unternehmensinterne Protokolle erfasst."
      Roo wird automatisch generiert:

      # 示例自动生成的工具框架
      class LogTool(MCPPlugin):
      def fetch_logs(self, service_name):
      # 自动对接公司日志系统
      # 返回最近1小时的关键错误日志
      ...
      

      Sobald Sie es überprüft haben, erscheint das Werkzeug in Roos Fähigkeitenliste!

    3. Sicherheitsmechanismus: alle neuen Tools müssen vor der Aktivierung manuell überprüft und genehmigt werden, um den willkürlichen Aufruf sensibler Schnittstellen zu verhindern

    Ollama 接入本地 AI Copilot 编程助手

  8. Context@: eine Möglichkeit, zusätzlichen Kontext zu liefern:
    • @fileInhalt des eingebetteten Dokuments
    • @folder: Enthält die vollständige Katalogstruktur
    • @problemsArbeitsbereich: Fehler/Warnungen einführen
    • @urlURL-Dokumentation abrufen (in Markdown)
    • @gitGit-Commit-Logging/Diskrepanz-Analyse: Bietet die Möglichkeit, sich auf wichtige Informationen zu konzentrieren und die Verwendung von Token zu optimieren.

Referenzen (empfohlene Lektüre)

Roo Cline github Adresse: https://github.com/RooVetGit/Roo-Code jetzt umbenannt in Roo-CodeWeitere neue Funktionen, die Sie entdecken können!

Cline Einführung:Cline (Claude Dev): VSCode-Plugin für automatisierte Programmierung

Vergleich von AI-Programmierwerkzeugen:Vergleich der AI-Programmierwerkzeuge Trae, Cursor und Windsurf

Erstellen Sie eine KI-Service-Website von Grund auf, ohne eine einzige Zeile Code zu schreiben, indem Sie KI-Programmiertools verwenden: https://cloud.tencent.com/developer/article/2479975

© urheberrechtliche Erklärung
AiPPT

Ähnliche Artikel

Keine Kommentare

keine
Keine Kommentare...