Jetzt reinschauen – neue Umgebung live

Eigene Suchmaschine im Stil von Perplexity mit Python entwickeln

Kategorien:
No items found.
Freigegeben:
January 15, 2025

Artikel jetzt als Podcast anhören

Eigene Perplexity-ähnliche Suchmaschine mit Python

Der Entwickler Feng Peng hat ein Python-Programm veröffentlicht, mit dem Nutzer ihre eigene Suchmaschine im Stil von Perplexity erstellen können. Das Programm implementiert den Ablauf "Suchen-Extrahieren-Zusammenfassen", der auch von KI-Suchmaschinen wie Perplexity verwendet wird. Pengs Programm bietet dabei eine vereinfachte, aber dennoch funktionsfähige Version dieses Prozesses und ermöglicht es, die zugrundeliegenden Konzepte besser zu verstehen.

Funktionsweise

Das Programm von Peng nutzt verschiedene Bibliotheken und Dienste, um den Suchprozess zu realisieren. Im Kern funktioniert es folgendermaßen:

Zunächst werden für eine gegebene Suchanfrage die Top-10-Ergebnisse einer Google-Suche abgerufen. Anschließend crawlt das Programm diese Webseiten und extrahiert den Textinhalt. Mit Hilfe der Docling-Bibliothek vom IBM Deep Search Team wird der extrahierte Text in das Markdown-Format konvertiert. Chonkie, eine weitere Bibliothek, übernimmt die Aufteilung des Textes in kleinere Abschnitte (Chunks), die dann zusammen mit ihren Vektorrepräsentationen in einer DuckDB-Datenbank gespeichert werden. Für die eigentliche Suche in der Datenbank wird eine Kombination aus Vektor- und Volltextsuche verwendet, um die relevantesten Textchunks zu finden. Die Top-10-Treffer dienen schließlich als Kontext für ein großes Sprachmodell (LLM), das die Antwort auf die Suchanfrage generiert. Die Antwort wird dem Nutzer zusammen mit den entsprechenden Quellenangaben ausgegeben.

Zusätzliche Funktionen

Neben der grundlegenden Suchfunktionalität bietet das Programm weitere interessante Features:

Es ermöglicht die Extraktion strukturierter Daten aus Webseiten. Die Suche kann auf bestimmte Webseiten beschränkt werden. Die Ausgabe der Ergebnisse kann in verschiedenen Sprachen erfolgen. Die Länge der Antwort kann vom Nutzer festgelegt werden. Auch lokale Dateien können durchsucht werden.

Technologien und Bibliotheken

Das Programm verwendet eine Reihe von Open-Source-Bibliotheken und -Diensten, darunter:

Gradio für die Web-UI. Hugging Face Spaces für das Hosting einer Demo-Version. Docling von IBM für die Dokumentkonvertierung. Chonkie für das Chunking von Text. DuckDB als Datenbank. Verschiedene LLMs für die Antwortgenerierung.

Bedeutung und Potenzial

Pengs Programm bietet einen Einblick in die Funktionsweise von KI-gestützten Suchmaschinen. Es zeigt, wie komplexe Aufgaben wie das Suchen, Extrahieren und Zusammenfassen von Informationen mit Hilfe von Python und verschiedenen Open-Source-Tools umgesetzt werden können. Das Programm kann als Grundlage für eigene Projekte dienen und ermöglicht es Nutzern, ihre eigenen spezialisierten Suchmaschinen zu erstellen, beispielsweise für bestimmte Webseiten oder lokale Datensätze.

Ausblick

Die Entwicklung von KI-gestützten Suchmaschinen ist ein dynamisches Feld. Es ist zu erwarten, dass in Zukunft weitere innovative Ansätze und Technologien entwickelt werden, die die Suche nach Informationen noch effektiver und präziser gestalten. Projekte wie das von Feng Peng tragen dazu bei, diese Entwicklung voranzutreiben und die zugrundeliegenden Konzepte einem breiteren Publikum zugänglich zu machen.

Bibliographie: https://twitter.com/feng/status/1846938359484371265 https://www.reddit.com/r/ChatGPTCoding/comments/1g61zp9/write_your_own_version_of_perplexity_in_an_hour/ https://twitter.com/feng/status/1859309745074733258 https://ullyer.medium.com/implementing-perplexity-search-with-a-single-python-file-fdda98750234 https://agentissue.medium.com/ask-py-perplexity-like-search-extract-summarize-flow-in-python-715e13eff07f https://www.youtube.com/watch?v=O0fpDUwxUEg https://github.com/CIME-Software/perplexipy https://x.com/jnnnthnn/status/1793299598599192712?lang=de
Was bedeutet das?

Wie können wir Ihnen heute helfen?

Das Expertenteam von Mindverse freut sich darauf, Ihnen zu helfen.