Websitesuche optimieren: Kontextbezogene Antworten mit generativer KI

André Cipriani Bandarra
André Cipriani Bandarra

Generative AI bezieht sich auf die Verwendung von um neue Inhalte wie Texte, Bilder, Musik, Audio und Videos. Generative KI stützt sich auf ein ML-Modell (Machine Learning), um zu lernen, Muster und Beziehungen in einem Dataset mit von Menschen erstellten Inhalten.

Diese Technologie hat unglaubliche Fähigkeiten unter Beweis gestellt, durch Anwendungen wie Gemini: Sie fragen sich vielleicht, auf generativer KI basierende Tools in meine Webprodukte einbinden?

Ein häufiger Anwendungsfall ist die Bereitstellung einer besseren Schnittstelle für Nutzer, über die sie Fragen stellen können. über den Inhalt einer Website. Sie können die Suchergebnisse Ihrer Nutzer erheblich verbessern, mithilfe von maschinellem Lernen.

Sie könnten eine Schnittstelle erstellen, in der Nutzende ihre Fragen schreiben, die dann die an ein Large Language Model (LLM) gesendet werden, Gemini und die Antworten dann Ihren Nutzenden anzuzeigen.

Angenommen, auf dieser Website gäbe es eine solche Funktion. Ein Nutzer möchte wissen, welche APIs die im Interop 2024 enthalten sind, und geben die folgende Abfrage ein:

What are the features included in Interop 24?

Leider wird die Ausgabe aus verschiedenen Gründen wahrscheinlich falsch sein:

  • Der Nutzer hat dem LLM wenig Kontext für die Frage gegeben, daher hat das LLM neigt dazu, falsche Antworten oder KI-Halluzinationen zurückzugeben.
  • Das LLM wurde wahrscheinlich vor der Entwicklung des Interop 2024 oder seiner Funktionen trainiert und kennt diese Informationen nicht.

LLMs können zwar aktuelle Informationen finden, Datasets von Natur aus veraltet. Es kann unglaublich wichtig sein, zeitaufwendig und teuer ist.

Prompt Engineering verwenden

Prompt-Engineering umfasst eine Reihe von Techniken, mit denen ein LLM die beste Ausgabe erzielt.

Eine Technik besteht darin, im Prompt zusätzlichen Kontext bereitzustellen, sodass das LLM mit höherer Wahrscheinlichkeit Inhalte ausgeben, die einen Bezug zum Kontext haben.

Kommen wir nun zu unserem Interop-Beispiel. Der erste Schritt besteht darin, des Artikels als Kontext verwenden. Fügen Sie dann die Frage als Eingabe für LLM die Frage beantworten. Beispiel:

Context:
Following on from the success of Interop 2022 and Interop 2023, we
are excited about the opportunity to collaborate once again with
all key browser vendors and other relevant stakeholders...
(trimmed to fit in this article)

Input:
What are the features included in Interop 2024?

Sie können davon ausgehen, dass Gemini in etwa Folgendes ausgibt:

The features included in Interop 24 are Accessibility, CSS Nesting, Custom
Properties, Declarative Shadow DOM, font-size-adjust, HTTPS URLs for
WebSocket, IndexedDB, Layout, Pointer and Mouse Events, Popover, Relative
Color Syntax, requestVideoFrameCallback, Scrollbar Styling, @starting-style
and, transition-behavior, Text Directionality, text-wrap: balance,URL

Diese Antwort ist wahrscheinlich viel besser als bei einer Aufforderung ohne Kontext, da die Antwort auf dem bereitgestellten Kontext basiert.

Mit RAG hochskalieren

Anstatt eine Frage zu einem einzelnen Artikel zu beantworten, möchten wir das LLM, um weitere Fragen zu web.dev zu beantworten, wobei jeder Artikel zusätzlichen Kontext. Bei kleineren Websites ist dies zwar möglich, Kontextfenster von Gemini 1.5 von 1 Million Tokens, größere Aufforderungen sind langsamer und teurer in der Ausführung.

Die Eingabe- und Ausgabelängen von LLMs werden in Tokens gemessen und in Rechnung gestellt. Möglichkeit, eine gängige Zeichenfolge in einer Texteingabe darzustellen. Die Anzahl der Tokens ist in der Regel größer als die Anzahl der Wörter. Als Beispiel: Die Eingabe im ersten Beispiel enthielt 775 Wörter, dargestellt durch 1097 Tokens. Verschiedene LLMs berechnen Tokens möglicherweise unterschiedlich und die meisten bieten eine API oder einen Endpunkt, um die Anzahl von Tokens für die Texteingabe zu berechnen.

Eine Lösung besteht darin, für den LLM-Prompt relevante Artikel zur Verfügung zu stellen. Diese Aufgabe sollte aus zwei Teilen:

  1. Fügen Sie den Inhalt von Top-Artikeln als Kontext hinzu, wenn Sie das LLM auffordern.
  2. Suchen Sie in den Inhalten nach Artikeln zum Thema „Welche Funktionen sind in Interop 2024?“.

Wir möchten, dass die Gemini-Ergebnisse Inhalte auf der Grundlage der folgenden Artikel enthalten:

Die Eingabe sollte so aussehen:

Context:
Article 1:
Over the past two years... (trimmed)

Article 2:
At the end of last year Interop 2023 wrapped up. This effort... (trimmed)

Article 3:
Following on from the success of Interop 2022... (trimmed)

Input:
What are the features included in Interop 2024?

Dieser Kontext erzeugt die erwartete Ausgabe.

* Accessibility * CSS Nesting * Custom Properties
* Declarative Shadow DOM * font-size-adjust
* HTTPS URLs for WebSocket * IndexedDB * Layout
* Pointer and Mouse Events * Popover * Relative Color Syntax
* requestVideoFrameCallback * Scrollbar Styling
* @starting-style and transition-behavior * Text Directionality
* text-wrap: balance * URL

Für diejenigen, die mit KI-Techniken vertraut sind, wird bei diesem Ansatz RAG verwendet, eine gängige Praxis um die Wahrscheinlichkeit echter Antworten von generativen KI-Tools zu erhöhen.

Die RAG-Technik funktioniert zwar mit der regulären Volltextsuche, es gibt Schwachstellen des Ansatzes.

  • Mit der Volltextsuche kann die KI genau passende Keywords finden. LLMs können jedoch um die beabsichtigte Bedeutung hinter der Suchanfrage zu ermitteln. Dies kann zu Ausgaben unvollständig oder falsch sind.
  • Es kann zu Problemen kommen, wenn Wörter mehrere Bedeutungen haben oder in den Suchanfragen Synonyme verwenden. Beispiel: „Bank“ (Finanzinstitut oder Flussufer) zu irrelevanten Ergebnissen.
  • Bei einer Volltextsuche werden möglicherweise Ergebnisse ausgegeben, die die Suchbegriffe enthalten, nicht mit der Zielsetzung der Nutzenden übereinstimmen.

Semantische Suche ist eine Technik zur Verbesserung der Suchgenauigkeit, indem der Fokus auf diese wichtigen Aspekte gelegt wird:

  • Suchabsicht: Es wird versucht, den Grund zu verstehen, aus dem ein Nutzer sucht. nach etwas suchen. Was möchten sie erreichen oder erreichen?
  • Kontextbezogene Bedeutung: Wörter und Wortgruppen werden in Bezug auf ihren Kontext umgebenden Text und andere Faktoren wie Standort oder Suche des Nutzers .
  • Beziehung zwischen Konzepten: Die semantische Suche verwendet Knowledge Graphs (große Netzwerke verwandter Entitäten) und Natural Language Processing, wie Wörter und Ideen zusammenhängen.

Wenn Sie Tools mit der semantischen Suche erstellen, basiert die Suchausgabe daher auf auf den allgemeinen Zweck der Suchanfrage und nicht auf Keywords. Das bedeutet, dass ein Tool relevante Dokumente zu ermitteln, auch wenn kein exakter Suchbegriff vorhanden ist. Es kann vermeiden, in denen das Wort vorkommt, aber eine andere Bedeutung hat.

Derzeit können Sie zwei Suchoptionen implementieren, die die semantische Suche verwenden: Vertex AI Search und Algolia AI Search:

Antworten aus veröffentlichten Inhalten ziehen

Sie haben gelernt, wie Sie mit Prompt Engineering ein LLM nutzen können, um Antworten zu liefern. in Bezug auf Inhalte, die sie nie gesehen haben, indem Sie dem Prompt Kontext hinzufügen. Und Sie haben wie sich dieser Ansatz von einzelnen Artikeln auf einen ganzen Korpus ausdehnen lässt. von Inhalten mithilfe der Retrieval-Augmented Generation (RAG) . Sie haben gelernt, wie die semantische Suche die Ergebnisse für Nutzende zur besseren Implementierung von RAG in Ihrem Produkt.

Es ist ein bekanntes Problem, dass Tools mit generativer künstlicher Intelligenz Das macht im schlimmsten Fall, manchmal unzuverlässig oder im schlimmsten Fall Unternehmen. Mit diesen Techniken können sowohl Nutzer als auch Entwickler die und Vertrauen in die Ausgabe dieser Anwendungen aufzubauen.