Der eigene, lokale KI-Coding-Assistent mit Continue

Mittwoch, 23.7.2025

KI Assistent

Jede(r) Entwickler:in hat mittlerweile von Github CoPilot gehört: Mit diesem Plugin lässt sich mit Hilfe von künstlicher Intelligenz Source Code genieren, vereinfachen, erklären und vieles mehr. Doch die Auswahl der nutzbaren Modelle und deren Hostingoptionen sind begrenzt. Im Endeffekt ist alles sehr auf die Microsoft Cloud ausgerichtet. Das kann zu den Unternehmensinteressen passen, muss es aber nicht.  

In diesem Artikel werden wir Large Language Modelle lokal auf unserem Rechner ausführen und sie anschließend in unseren eigenen, ebenfalls lokal laufenden Continue Copilot integrieren, der uns dann bei der Entwicklung von Software unterstützt.  

Eine Open Source Alternative

Wäre es nicht besser, stattdessen eine Open Source Alternative zu nutzen, welche eine Vielzahl von Modellen, unabhängig von der Hostingplattform unterstützt? Oder vielleicht sogar die lokale Ausführung von Modellen auf der Hardware des Endnutzers? 

So eine Open Source Alternative gibt es tatsächlich: sie heißt continue.dev. Continue ist als Plugin für JetBrains IDEs (wie etwa IntelliJ oder Webstorm) oder Visual Studio Code verfügbar.  Continue unterstützt eine Vielzahl von Modellprovidern und Modellen. So werden unter anderem die Provider OpenAI, Azure OpenAI, Amazon Bedrock, Mistral und viele mehr unterstützt. Eine vollständige Liste ist auf der Continue-Website zu finden. An Modellen werden unter anderem Modelle von OpenAI, Anthropic, Google, Mistral und vielen mehr unterstützt. Dazu hat Continue noch eine weitere Superkraft: Es unterstützt viele Tools, welche eine lokale Ausführung des Modells auf dem Computer des Endnutzers ermöglichen. Dazu gehören Ollama, vLM, LM Studio und andere.  

 

Datenschutz 

Datenschutz ist in der Softwareentwicklung sehr wichtig: Als Entwickler:innen implementieren wir die Geschäftsgeheimnisse unserer Arbeitgeber als Software. Ein bekanntes Beispiel hierfür ist der Google-Suchalgorithmus. Die meisten Menschen nutzen ihn täglich, jedoch nur wenige Menschen wissen, wie er funktioniert, da er ein Geschäftsgeheimnis von Google ist. Aber auch bei anderen Geschäftsregeln, die in Anwendungen kodiert werden, wollen wir in der Regel nicht, dass Dritte sie und ihre Funktionsweise kennen.  

Deswegen ist es wichtig, dass Continue.dev einen Fokus auf Datenschutz legt. Continue trackt weder Requests an ein Large Language Model noch dessen Antworten. Standardmäßig erhebt das Plugin ein paar Telemetriedaten, diese sind jedoch auf der Website aufgelistet. Das Senden dieser Telemetriedaten lässt sich per Konfiguration komplett deaktivieren. Sämtliche Informationen zur Datenverarbeitung können in der Privacy Policy nachgelesen werden. Weiterhin könnten wir auch den Source Code auf Github reviewen.  

Was für Plugins in unserer IDE gilt, muss auch für die Large Language Modelle gelten, die wir zum Entwickeln verwenden. Allerdings ist es so, dass viele der APIs, welche zum Aufruf von LLMs genutzt werden können, Ein- und/oder Ausgaben zu Analysezwecken speichern. Manche Anbieter gehen sogar noch weiter und nutzen diese Daten explizit, um neue Modelle zu trainieren. Die Auswahl der richtigen APIs ist also essenziell. 

Unsere Expert:innen helfen Ihnen dabei datenschutzkonform LLMs zu nutzen. Wir beraten Sie gerne.  

 

LLMs lokal ausführen – datenschutzkonform 

Um die Komplexität von APIs und deren Datenverarbeitung zu umgehen, kann man kleine LLMs auch lokal auf dem eigenen Computer ausführen.  Hierfür nutze ich LM Studio, ein Tool mit dem sich unter Windows, Mac und Linux LLMs lokal betreiben lassen. Natürlich kann hierfür auch ein anderes Tool wie etwa Ollama verwendet werden.   

Beim ersten Start von LM Studio werden wir nach dem Modus gefragt, in dem wir es betreiben wollen. Hier sollten wir Developer wählen. Dieser Modus erlaubt uns einen lokalen Server auf unserem Computer zu starten, welcher eine API bereitstellt, welche Continue ansprechen kann.  

Ein besonderes Feature von LM Studio für Mac ist, dass es MLX unterstützt. MLX ist ein Framework für Machine Learning optimiert für Apples eigene Prozessoren. Einige Large Language Modelle werden in LM Studio auch im MLX-Format angeboten.  

Um ein Modell herunterzuladen, können wir einfach links auf die das Lupensymbol in der Seitenleiste klicken.   

Zum Zeitpunkt der Veröffentlichung dieses Beitrags ist das beste Open Weight Coding Modell gerade mistralai/devstral-small-2507.Devstral-small ist ein Modell von MistralAI, einem Hersteller von Large Language Models aus Frankreich. Das Modell hat 24 Milliarden aktive Parameter und die 4Bit MLX-Variante ist etwa 13.3 GB groß. Damit passt es immer noch komfortabel in die 24 GB Arbeitsspeicher meines Macbook Pro.  

Sollte dieses Modell zu groß sein, stellt Qwen 2.5 Coder eine gute Alternative dar. Dieses Modell ist Open Weight von der chinesischen Firma Alibaba und es ist in vielen Größen verfügbar: von 500 Millionen bis 32 Milliarden aktiven Parametern. Wir werden Qwen 2.5 Coder 1.5B als Autocomplete-Modell nutzen. Mehr dazu weiter unten.  

 

Einen lokalen Server starten 

Nachdem wir ein Modell heruntergeladen haben, sollten wir einen lokalen Server starten, welcher eine API bereitstellt, welche Continue nutzen kann. Um dies zu tun müssen wir in der linken Seitenleiste von LM Studio unter Developer den Server starten: 

Lokaler Server

 

Continue nutzen mit Visual Studio Code 

Continue1-1Continue kann als Erweiterung über Visual Studio Code installiert werden. Nach der Installation ist in der Seitenleiste dann das Continue Icon zu sehen. Ein Klick auf das Icon öffnet die Continue-Seitenleiste.

Als allererstes sollten wir die Continue-Seitenleiste auf die rechte Seite ziehen. So können wir mit unserer KI chatten, auch während wir den Explorer, Visual Control oder anderes in VS Code verwenden.  

Auch wenn Continue mit seinem Quickstart lockt, interessieren uns vorkonfigurierte API-Keys zu Cloud-Modellen nicht. Wir interessieren uns für den Tab Local. Je nach Version findet Continue den LM Studio Server automatisch: 

 

 

Sollte dies nicht der Fall sein, kann über Add Chat model ein neues Modell hinzugefügt werden. Danach einfach LM Studio auswählen und Continue legt automatisch die entsprechende Konfiguration an:

KI Assistent final (1000 x 800 px)

Und schon können wir mit unserem LLM chatten. Ich habe als Modell devstral ausgewählt und um ein TypeScript Programm gebeten, welches die Anzahl des Buchstaben e im Wort viadee errechnet: 

Mit LLM chatten

Auch wenn die Deutschkenntnisse von Devstral nicht perfekt sind, so sind sie doch passabel genug, um mit dem Modell sogar auf Deutsch zu arbeiten.  

 

Modelle konfigurieren 

Continue unterstützt über LM Studio im Moment vier verschiedene Modelltypen bei der Nutzung mit LM Studio: 

  • Chat: Das Chat-Modell wird dazu verwendet, dass wir mit einem LLM in der Sidebar chatten können. Dies wird verwendet, um große Codefragmenente zu generieren. Hier sollte ein Modell gewählt werden, welches gute Qualität und Performanz vereint. Modelle mit größerer Parameteranzahl performen in der Regel besser.  
  • Apply und Edit: Apply- und Edit-Modelle werden verwendet, um Code-Änderungen im Editor zu generieren. Hierfür sollte das beste Modell verwendet werden. Allerdings sollte auch hier auf gute Performance und Qualität wert gelegt werden, denn man will ja nicht ewig auf ein Refactoring oder ein Code-Snippet im Editor warten.   
  • Embedding: Embediding-Modelle werden dazu verwendet lokalen Code zu indexieren und dem Chat-Modell zur Verfügung zu stellen. Hierbei wird Text durch Vektoren dargestellt und so können diese verortet werden.  
  • Autocomplete: Continue untersützt die Autovervollständigung von Code. Hierfür wird das Autocomplete-Modell genutzt. Da es schnell vervollständigen und den Schreibfluss nicht stören soll, muss hier ein Modell mit einer kleinen Parameteranzahl gewählt werden. Für mich ist hier eine Parameterzahl von 1,5 Milliarden ausreichend.  

Glücklicherweise sind unsere LM-Studio-Modelle standardmäßig automatisch als Chat, Apply und Edit-Modelle konfiguriert. Und Continue wird mit automatisch mit einem eingebauten Embedding-Modell ausgeliefert. Wir müssen also nur noch das Autocomplete-Modell konfigurieren. 

Die Konfiguration wird als eine YAML-Datei hinterlegt. Diese können mit einem Klick auf die Modellauswahl unterhalb des Chatbereichs und dann auf das Zahnrad ganz oben öffnen: 

Zahnrad

Da es in Continue im Moment einen Bug bei der Modellauswahl gibt, geben wir in der Konfiguration lieber direkt an, welches Modell wir wofür nutzen wollen: 

Eine vollständige Beschreibung aller Konfigurationsmöglichkeiten der config.yaml ist in der Dokumentation zu finden.  

Jetzt nutzen wir Devstral für alles außer das Autocomplete und Embedding. Für das Autocomplete nutzen wir das kleine Qwen 2.5 Coder, damit wir schnelle Vorschläge direkt beim Schreiben von Code bekommen. Und Embedding erledigt Continue für uns.  

 

Weitere Möglichkeiten mit Continue 

Nicht nur lokale Modelle lassen sich mit Continue betreiben, per LiteLLM lassen sich auch (selbstgehostete) Modelle in der Cloud anbinden und das System auf Unternehmensebene skalieren. Das hat mein Kollege Tobias Goerke in seinem Blogbeitrag beschrieben.  

Darüber hinaus lassen sich den LLMs Tools zu Verfügung stellen. Continue nutzt hierfür den Standard Model Context Protocol 

Das große Alleinstellungsmerkmal von Continue ist die Konfiguration und wenn man sich für einen Nutzeraccount registriert, kann man seine Konfiguration mit anderen Geräten und Entwickler:innen teilen. Doch nicht nur das: im Hub können ähnlich wie im Docker Hub Konfigurationen geteilt werden. Eine Konfiguration ist hier verwandt zu einem Dockerfile mit dem eine Definition eines Coding Assistants direkt heruntergeladen werden kann.  Ein Coding Assistant kann aus mehreren Modellen und Prompts bestehen.  

 

Fazit

Wer aus Datenschutz oder sonstigen Gründen nicht auf Cloud-Modelle zurückgreifen möchte, kann mittlerweile auch mit lokalen Modellen brauchbare Ergebnisse zur Unterstützung bei der Entwicklung von Software bekommen. Denn die immer kleiner werdenden Modelle können gut auf aktuellen Notebooks genutzt werden, sollte ausreichend Ressourcen verfügbar sein. LM Studio und Continue ergänzen einander hier gut.  

 


Haben Sie Fragen oder möchten Sie KI-gestützte Entwicklungswerkzeuge mit passenden Architekturen auf Ihrer Infrastruktur einführen? Wir unterstützen Sie gern von der Konzeption über die Implementierung bis zum Betrieb - von der ersten Proof-of-Concept-Integration bis zur unternehmensweiten Rollout-Strategie inklusive Schulung der Nutzer:innen.  

Jetzt kontaktieren

 


zurück zur Blogübersicht

Diese Beiträge könnten Sie ebenfalls interessieren

Keinen Beitrag verpassen – viadee Blog abonnieren

Jetzt Blog abonnieren!

Kommentare

Christian Siebmanns

Christian Siebmanns

Christian Siebmanns ist Berater bei der viadee IT-Unternehmensberatung. Schwerpunkt seiner Arbeit ist der Einsatz in verschiedenen Kundenprojekten im Webumfeld. Christian ist Experte für Java und TypeScript. Christian Siebmann bei LinkedIn