2 Punkte von GN⁺ 2024-04-04 | 1 Kommentare | Auf WhatsApp teilen

Was ist LLocalSearch?

  • Eine vollständig lokal betriebene Suchmaschine, die LLM-Agenten verwendet.
  • Wenn Nutzer eine Frage stellen, findet das System mithilfe einer LLM-Kette die Antwort.
  • Nutzer können den Fortschritt des Agenten und die endgültige Antwort sehen.
  • Es werden keine OpenAI- oder Google-API-Schlüssel benötigt.
  • Jetzt wurde auch eine Funktion für Folgefragen hinzugefügt: demo.mp4

Funktionen

  • 🕵️ Läuft vollständig lokal, daher sind keine API-Schlüssel erforderlich.
  • 💸 Läuft auf „Low-End“-LLM-Hardware (im Demo-Video wird ein 7b-Modell verwendet).
  • 🤓 Bietet Fortschrittsprotokolle, damit sich der Suchprozess besser nachvollziehen lässt.
  • 🤔 Folgefragen möglich.
  • 📱 Mobilfreundliche Oberfläche.
  • 🚀 Schnelle und einfache Bereitstellung mit Docker Compose.
  • 🌐 Weboberfläche, die von jedem Gerät aus leicht zugänglich ist.
  • 💮 Handgefertigte UI mit Unterstützung für Hell- und Dunkelmodus.

Status

  • Dieses Projekt befindet sich noch in einem frühen Stadium. Es kann einige Bugs geben.

Wie es funktioniert

  • Für die neuesten Informationen bitte die Infra-Dokumentation lesen.

Self-Hosting & Entwicklung

Voraussetzungen

  • Ein laufender Ollama-Server, der aus dem Container erreichbar ist.
  • Eine GPU ist nicht zwingend erforderlich, wird aber empfohlen.
  • Docker Compose

Neueste Release ausführen

  • Empfohlen, wenn du nicht an diesem Projekt entwickeln möchtest.
    git clone https://github.com/nilsherzig/LLocalSearch.git
    cd ./LLocalSearch
    # 🔴 Prüfe die Umgebungsvariablen in der Compose-Datei und füge host:port des Ollama-Servers hinzu
    docker-compose up 🎉
    
  • Danach kann die Weboberfläche standardmäßig unter http://localhost:3000 geöffnet werden.
  • Standardmäßig wird nichts anderes exponiert.

Aktuelle Git-Version ausführen

  • Du kannst neuere Funktionen nutzen, aber sie könnte weniger stabil sein.
    git clone https://github.com/nilsherzig/LLocalsearch.git
    # 1. Prüfe unbedingt die Umgebungsvariablen in `docker-compose.dev.yaml`.
    # 2. Stelle sicher, dass du die Dev-Compose-Datei und nicht die normale Compose-Datei geprüft hast.
    # 3. Baue die Container und starte die Dienste
    make dev
    
  • Falls make nicht installiert ist, kannst du die Befehle aus dem Makefile manuell ausführen.
  • Danach kannst du unter http://localhost:3000 auf das Frontend zugreifen.

Meinung von GN⁺

  • LLocalSearch ist als moderne Suchmaschinen-Alternative mit starkem Fokus auf den Schutz der Privatsphäre der Nutzer bemerkenswert. Da Suchfunktionen bereitgestellt werden, ohne Nutzerdaten an externe Server zu senden, können Bedenken hinsichtlich des Datenschutzes ausgeräumt werden.
  • Dieses Projekt bietet Entwicklern in der Open-Source-Community eine attraktive Chance. Durch Beiträge zu diesem Projekt können sie ihr Verständnis von Suchmaschinentechnologie vertiefen und ihr Portfolio stärken.
  • Da sich das Projekt jedoch noch in einem frühen Stadium befindet, kann es Bugs und Stabilitätsprobleme geben. Das bedeutet, dass bei einem möglichen Einsatz in realen Umgebungen Vorsicht geboten ist.
  • Wenn sich LLocalSearch erfolgreich weiterentwickelt, könnte es die Abhängigkeit von bestehenden großen Suchmaschinen verringern und mehr Vielfalt in den Suchmaschinenmarkt bringen.
  • Aus technischer Sicht ist die Suche mit LLM-Agenten sehr innovativ, doch um sie effektiv zu nutzen, sind ausreichende Rechenressourcen und technisches Wissen erforderlich.

1 Kommentare

 
GN⁺ 2024-04-04
Hacker-News-Kommentare
  • Zusammenfassung der Hacker-News-Kommentare:
    • 🤖 Kombination aus LLMs und Suchmaschinen: Beschreibung eines Systems, in dem LLMs auf Suchmaschinen zugreifen und eine Vektordatenbank abfragen können. Die vom LLM initialisierte Suchanfrage scrapet die Top-n-Ergebnisse, speichert sie in kleinen Chunks in einer Vektordatenbank, und das LLM kann diese Datenbank abfragen, um relevante Chunks zu erhalten. Das ist zwar nicht so umfassend, wie wenn ein LLM mit 128k Kontext alles zusammenfasst, läuft auf lokaler Hardware jedoch deutlich schneller und benötigt weniger Ressourcen. Die Demo auf GitHub läuft auf einer üblichen Consumer-GPU (amd rx 6700xt).

    • 👍 Lob für die Architektur: Es ist geplant, dies zusammen mit bestehenden LLMs zu verwenden, und es ist erfreulich zu sehen, dass es auch lokal funktioniert. Dank für das Teilen, und die Architektur gefällt.

    • Frage zum Bezug zu Perplexity: Es wird darauf hingewiesen, dass unklar ist, was dieses System mit Perplexity zu tun hat, und dass stattdessen ein Verweis auf das verwendete Basismodell nötig wäre.

    • 🌟 Besondere Fähigkeiten lokaler Modelle: Es wurde noch nie gesehen, dass ein lokales Modell spezielle Module aufruft; das lokal verwendete 7b open-hermes wird persönlich als sehr gut bewertet.

    • 🚀 Potenzial zur Anbindung an interne Suchmaschinen in Unternehmen: Zwar noch nicht ausprobiert, wirkt aber sehr vielversprechend und dürfte äußerst nützlich sein, wenn es an interne Enterprise-Suchmaschinen angebunden wird. Es ist erfreulich, mehr Produkte ohne API-Key-Anbindung zu sehen, die mit lokalen LLMs verbunden sind.

    • 🛠️ Fragen zum Entscheidungsprozess in der Infrastruktur: Frage, wie in der Infrastruktur die Blöcke „Tool-Nutzung erforderlich“ und „Antwort gefunden“ entschieden werden. Außerdem die Frage, welcher Schritt laut Demo am meisten Zeit benötigt, da die Rückgabe der Ergebnisse etwas dauert: Suche, Vektor-Store oder die Suche in der Vektordatenbank.

    • 🕵️ Wie die lokale Suchmaschine funktioniert: Obwohl von einer „lokal laufenden Suchmaschine“ die Rede ist, wird gefragt, wie Websites und Seiten gefunden und indexiert werden.

    • 🤫 Das Geheimnis hinter Perplexity: Die Meinung, dass Perplexity außer der Nutzung eines Standardmodells nicht besonders viel getan habe.

    • 🏭 Perplexity als Chatbot-Konkurrent: Perplexity wird als Konkurrent im Chatbot-Markt gesehen.

    • Vorschlag zur Integration mit Plandex: Der Vorschlag, dies mit dem heute vorgestellten Plandex zu verbinden, um ein Tool zu schaffen, mit dem man mit KI an Code zusammenarbeiten kann, ohne den eigenen Rechner zu verlassen.

Hintergrundwissen: LLMs (Large Language Models) sind große Sprachmodelle, die in der natürlichen Sprachverarbeitung eingesetzt werden. Vektordatenbanken speichern Daten in Vektorform, um schnelle Suchen zu ermöglichen. Perplexity ist zwar auch eine Metrik zur Bewertung der Leistung von Modellen im Bereich Natural Language Processing, scheint sich hier jedoch auf ein bestimmtes Produkt oder einen bestimmten Dienst zu beziehen.