en

code-wobmat - Code-Suche in natürlicher Sprache

Januar 2025

Beim Programmieren wiederholen sich Dinge ja von Zeit zu Zeit. In einem neuen Projekt tauchen die gleichen Probleme wieder auf. Gut, dass man es schon mal implementiert hat… aber wo war das nur gleich? 😕

Jetzt beginnt die Suche nach der Nadel im Heuhaufen. find, grep und allerlei andere Tools zur Suche von Strings in Dateien werden angeworfen. Wenn man sich jedoch nicht an den genauen Funktionsnamen erinnern kann, wird es schwierig.

Um die Suche nach Code-Snippets mit einer allgemeinen Beschreibung des Codes zu ermöglichen, habe ich code-wombat geschrieben.

code-wombat sucht nicht nach exakten String-Übereinstimmungen, sondern nach der ähnlicher Bedeutung. So kann man zum Beispiel mit dem Suchstring "an assert macro defined in the C programming language" die richtige Stelle im richtigen Projekt finden:

Die Suche funktioniert mithilfe von LLM-Embeddings. Dadurch vergleicht sie die Bedeutung und nicht die exakten Zeichenketten.

code-wombat erstellt einen Index von lokalen git-Repositories. Die Embeddings werden lokal mit ollama erstellt. Dadurch bleibt der durchsuchte Code privat und wird nicht von einem Cloud-Dienstleister verarbeitet.

Feedback

Falls der Artikel interessant war oder etwas unklar ist freue ich mich über Fragen per e-Mail an markus.peroebner@gmail.com.