AI-Chatbots und virtuelle Assistenten sind in den letzten Jahren dank der Fortschritte großer Sprachmodelle (LLMs) immer beliebter geworden. Diese Modelle, die auf einer großen Menge von Datensätzen trainiert sind, integrieren Speicherkomponenten in ihr architektonisches Design, was es ihnen ermöglicht, den Textkontext zu verstehen und zu erfassen. Die häufigsten Anwendungsfälle für Chatbot-Assistenten konzentrieren sich auf Bereiche wie die Verbesserung der Kundenerfahrung, Steigerung der Produktivität und Kreativität der Mitarbeiter oder die Optimierung von Geschäftsprozessen, z. B. Kundensupport, Fehlerbehebung sowie interne und externe Recherchen auf Wissensbasis.
Eine Herausforderung bei Chatbots besteht darin, hochwertige und genaue Antworten zu generieren. Eine Möglichkeit, diese Herausforderung zu lösen, besteht darin, Retrieval Augmented Generation (RAG) zu verwenden. RAG optimiert die Ausgabe eines LLM, indem es auf eine autoritative Wissensbasis außerhalb seiner Trainingsdatenquellen verweist, bevor es eine Antwort generiert. Wir erklären, wie zwei Techniken – RAG und Umsortierung – mithilfe von Wissensbasen für Amazon Bedrock dazu helfen können, Chatbot-Antworten zu verbessern.
RAG ist eine Technik, die die Stärken des Wissensbasisabrufs und generativer Modelle zur Textgenerierung kombiniert. Sie funktioniert, indem zunächst relevante Antworten aus einer Datenbank abgerufen und dann diese Antworten als Kontext verwendet werden, um dem generativen Modell die Erzeugung einer endgültigen Ausgabe zu ermöglichen. Eine RAG-Annäherung beim Aufbau eines Chatbots hat viele Vorteile, wie eine verbesserte Konversationsfluss und Skalierbarkeit mit mehr Daten im Vergleich zu rein generativen Modellen. Zudem ermöglicht es, externe Kenntnisse durch Retrieval relevanter Hintergrundinformationen abzurufen und dadurch sachlich fundierte, tiefgehende und sachkundige Antworten zu geben.
Um eine Antwort zu finden, verwendet RAG einen Ansatz, der mit Vektor-Suche über die Dokumente arbeitet. Der Vorteil der Verwendung von Vektor-Suche liegt in der Geschwindigkeit und Skalierbarkeit. Anstatt jedes einzelne Dokument zu durchsuchen, werden die Texte (Wissensbasis) in Einbettungen umgewandelt und diese Einbettungen in der Datenbank gespeichert. Die Einbettungen sind eine komprimierte Version der Dokumente, die durch ein Array numerischer Werte repräsentiert werden. Nachdem die Einbettungen gespeichert wurden, durchsucht die Vektor-Suche die Vektordatenbank, um die Ähnlichkeit basierend auf den Vektoren, die mit den Dokumenten verbunden sind, zu finden. Typischerweise gibt eine Vektor-Suche die Top-k relevantesten Dokumente basierend auf der Benutzerfrage zurück und liefert die k Ergebnisse. Reranking ist eine Technik, die die Antworten durch die Auswahl der besten Option aus mehreren Kandidatenantworten weiter verbessern kann.
Hinterlasse eine Antwort