Willkommen bei "Moin von Bremen", einem unterhaltsamen und interaktiven Projekt, das von einer Gruppe begeisterter Meisterstudenten der University of Bremen entwickelt wurde. In diesem Projekt tauchen wir in die Welt der LLMs (Großsprachenmodelle) ein, untersuchen die Kraft der Abrufer Augmented Generation (LAB) und experimentieren mit dem Konzept der Multimodalität. Gemeinsam haben wir einen Audio City Guide für unsere geliebte Stadt Bremen erstellt! ? Euen
Dieses Projekt ist eine faszinierende Reise, die mit der Idee beginnt, einen Chatbot zu bauen, der als Audio City Guide dienen kann. Welche bessere Stadt gibt es als Bremen, unser Zuhause während des Studiums an der Universität von Bremen? Mit diesem Leitfaden werden Sie Bremen wie nie zuvor kennenlernen!
Wir haben unser lokales Wissen mit zuverlässigen Fakten aus Wikipedia kombiniert, um eine ansprechende und informative Erfahrung zu schaffen. Hier ist eine Schritt-für-Schritt-Aufschlüsselung darüber, wie wir es gemacht haben:
Datenerzeugung : Wir haben Bilder und Daten aus Wikipedia bezogen, um unseren Chatbot zu unterstützen. Weitere Informationen dazu finden Sie in der Datei datageneration.ipynb -Datei.
LLM & RAG : Neugierig auf den Bau Ihres ganz eigenen persönlichen Bots? So waren wir! Wir haben uns mit LLMs und der immer beliebten RAG-Technik befasst, um eine domänenspezifische Wissensanwendung zu entwickeln. RAG wird von großen Unternehmen weit verbreitet, um spezialisierte Anwendungen zu erstellen. Möchten Sie mehr lernen? Lesen Sie diesen aufschlussreichen Lag -Artikel.
Texteinbettungen mit Chromadb : Unsere Reise wurde mit der Datei textdata_chromadb.py fortgesetzt, wo wir Lappen unter Verwendung von Vektorbettendings mit Chromadb entwickelten. Wir haben sogar eine API mit Gradio für eine reibungslose Benutzeroberfläche erstellt. Wir haben auch mit multimodalen Konzepten experimentiert, indem wir Kollektionen für Text und Bilder erstellt haben. Bei einer Eingabeaufforderung sucht das System nach dem relevantesten Bild und Text in der Datenbank.
Vektoreinbettung : Das Konzept der Vektoreinbettung erstreckt sich auf die Erstellung relevanter numerischer Kontexte, die während der Suchanfragen verwendet werden, um die relevantesten Daten aus der Datenbank zu ziehen. Eine eingehende Erklärung finden Sie in diesem Artikel zu Einbettungsdings und Vektor-Datenbanken.
Audio Guide mit FAISS : In Zukunft haben wir einen Audio -Handbuch entwickelt, indem wir den Code in audiodata_faissEmbedding.py implementieren. Wir haben OpenAIs Whisper ASR-Modell für Audio-to-Text-Konvertierung verwendet. Erfahren Sie hier mehr über Whisper. Für einen interessanten Tauchgang in Mel -Spektrogramme finden Sie diesen Artikel.
Die Ähnlichkeitssuche mit Faiss : Faiss, entwickelt von Facebook AI Research, wurde für die effiziente Ähnlichkeitssuche und die Clusterbildung dichter Vektoren entwickelt. Es ist unglaublich nützlich, um ähnliche Elemente in einem Datensatz basierend auf ihren Vektordarstellungen zu finden. Eine detaillierte Erklärung finden Sie auf der offiziellen Seite von Faiss.
Warum haben wir uns für Chromadb für Faiss für dieses Projekt entschieden? Hier ist ein kurzer Vergleich:
Für multimodale Suchanfragen (wie das Suchen von Text mit Bildeinbettungen) bietet Chromadb mehr Flexibilität als Faiss. Wir brechen unseren Entscheidungsprozess und die Implementierung in Main.py auf, die im folgenden Diagramm dargestellt sind (hier Diagramm einfügen).
Befolgen Sie die folgenden Schritte, um mit diesem Projekt zu beginnen:
pip install -r requirements.txtdata vorhanden.