Ulepsz wyszukiwanie w witrynie: odpowiedzi kontekstowe z wykorzystaniem generatywnej AI

Generatywna AI odnosi się do wykorzystywania sztucznej inteligencji do tworzenia nowych treści, takich jak tekst, obrazy, muzyka, dźwięki i filmy. Generatywna AI wykorzystuje model systemów uczących się do uczenia się w zbiorach danych z treściami utworzonymi przez człowieka.

Ta technologia okazała się niesamowitymi możliwościami dzięki aplikacjom takim jak Gemini. Być może zastanawiasz się, jak wdrożyć narzędzia generatywnej AI w moich usługach internetowych?

Częstym zastosowaniem jest zapewnienie użytkownikom lepszego interfejsu do zadawania pytań. na temat treści witryny. Możesz znacznie polepszyć wyniki wyszukiwania, przy pomocy systemów uczących się.

Możesz utworzyć interfejs, w którym użytkownicy będą wpisywać swoje pytania, wysyłane do dużego modelu językowego (LLM), takiego jak Gemini i wyświetlaj odpowiedzi użytkownikom.

Załóżmy, że w tej witrynie istnieje taka funkcja. Użytkownik chce wiedzieć, które interfejsy API uwzględnionych w interakcji w wersji 2024 i wprowadziły to zapytanie:

What are the features included in Interop 24?

Dane wyjściowe prawdopodobnie będą nieprawidłowe z kilku powodów:

  • Użytkownik podał LLM mały kontekst dla pytania, dlatego LLM częściej zwraca błędne odpowiedzi lub halucynacje.
  • Ten model został prawdopodobnie wytrenowany przed utworzeniem Interoperacyjności 2024 lub jego funkcje i tak nie jest świadomy istnienia tych informacji.

LLM mogą znajdować bardziej aktualne informacje, ale trenowanie LLM które są z natury nieaktualne. Dbanie o aktualne wyniki czasochłonne i drogie.

Korzystanie z inżynierii promptów

Inżynieria promptów to zestaw technik służących do jak najlepszego wykorzystania danych wyjściowych z LLM.

Jedną z metod jest podanie w prompcie dodatkowego kontekstu, dzięki czemu LLM z większym prawdopodobieństwem przygotujesz treści powiązane z kontekstem.

Nawiązując do naszego przykładu narzędzia Interop, pierwszym krokiem jest udostępnienie pełnej treści artykułu jako kontekstu. Następnie dodaj pytanie jako dane wejściowe w polu dzięki LLM. Na przykład:

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?

Możesz spodziewać się, że Gemini wyświetli coś takiego:

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

Jest to prawdopodobnie znacznie lepsza odpowiedź niż pytanie bez kontekstu, odpowiedź zależy od podanego kontekstu.

Skalowanie w górę za pomocą RAG

Na przykład zamiast odpowiadać na pytanie o pojedynczy artykuł, LLM, aby uzyskać odpowiedzi na więcej pytań na temat web.dev, wykorzystując dowolny artykuł jako w dodatkowym kontekście. Jest to możliwe w przypadku mniejszych witryn, okno kontekstu Gemini 1.5 z milionem tokenów, większe prompty są wolniejsze i droższe.

Długości wejściowe i wyjściowe LLM są mierzone i rozliczane w tokenach, które są jest sposób na przedstawienie wspólnej sekwencji znaków znalezionych w tekście. liczba tokenów będzie zwykle większa niż liczba słów. Jako przykład danych wejściowych w pierwszym przykładzie składa się z 775 słów, co daje 1097 tokeny. Różne modele LLM mogą w różny sposób obliczać tokeny, a większość z nich interfejs API lub punkt końcowy do obliczania liczby tokenów do wprowadzania tekstu.

Jednym z rozwiązań jest udostępnienie artykułów związanych z promptami LLM. To zadanie powinno być z 2 części:

  1. Przy wyświetlaniu promptu LLM dodaj treść najważniejszych artykułów jako kontekst.
  2. Wyszukaj w treści artykuły związane z tematem „Jakie funkcje obejmuje Interoperacyjność w 2024 r.?”.

Chcemy, aby wyniki z Gemini zwracały treści oparte na tych artykułach:

Dane wejściowe powinny wyglądać tak:

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?

Ten kontekst daje oczekiwany wynik.

* 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

W przypadku osób obeznanych z AI koncepcja ta wykorzystuje RAG, powszechną praktykę aby zwiększyć prawdopodobieństwo otrzymania prawdziwych odpowiedzi z narzędzi generatywnej AI.

Technika RAG może być stosowana w przypadku zwykłego wyszukiwania pełnego tekstu, jednak niedoskonałości tej metody.

  • Wyszukiwanie całego tekstu pomaga AI znaleźć dokładne dopasowania słów kluczowych. Jednak duże modele językowe nie są w stanie aby określić zamierzone znaczenie zapytania użytkownika. Może to prowadzić do: dane wyjściowe są niekompletne lub nieprawidłowe.
  • Problemy mogą się pojawić, gdy słowa mają wiele znaczeń lub gdy zapytania używają synonimy. Na przykład „bank” (instytucja finansowa czy brzeg rzeki) może zapewnić do nietrafnych wyników.
  • Wyszukiwanie całego tekstu może zwrócić wyniki, które zawierają słowa kluczowe, ale nie powinny być zgodne z celami użytkownika.

Wyszukiwanie semantyczne to technika zwiększania dokładności wyszukiwania przez skupienie się na tych kluczowych aspektach:

  • Zamiar użytkownika: próbuje zrozumieć, dlaczego użytkownik wyszukuje informacje w danej sytuacji. Co chcą znaleźć lub osiągnąć?
  • Znaczenie kontekstowe – interpretuje słowa i wyrażenia w odniesieniu do otaczającego tekstu, a także innych czynników, takich jak lokalizacja użytkownika czy wyszukiwane hasło. historię.
  • Zależność między pojęciami: wyszukiwanie semantyczne korzysta z grafów wiedzy (dużych) sieci powiązanych podmiotów) i przetwarzania języka naturalnego w celu zrozumienia między słowami a pomysłami.

W efekcie podczas tworzenia narzędzi z wyszukiwaniem semantycznym wyniki wyszukiwania zależą na ogólny cel zapytania, a nie na słowa kluczowe. Dzięki temu narzędzie może określać trafne dokumenty nawet wtedy, gdy brak dokładnego słowa kluczowego. Może Unikaj też wyników, w których słowo występuje, ale ma inne znaczenie.

Obecnie możesz wdrożyć 2 narzędzia wyszukiwania wykorzystujące wyszukiwanie semantyczne: Vertex AI Search oraz Wyszukiwanie w Algolia AI

Wyciągnij odpowiedzi na podstawie opublikowanych treści

Wiesz już, jak korzystać z inżynierii promptów, aby umożliwić modelowi LLM udzielanie odpowiedzi powiązane z treściami, których nigdy nie widzi, dodając do promptu kontekst. A także nauczył się wykorzystywać tę metodę z poszczególnych artykułów do całego korpusu, za pomocą funkcji Generowanie rozszerzone przez wyszukiwanie w zapisanych informacjach (RAG) za pomocą tej metody. Wiesz już, jak wyszukiwanie semantyczne może jeszcze bardziej poprawić wyniki użytkowników zapytań, lepiej zaimplementować RAG w produkcie.

To znany problem, który może spowodować „halucynację”, że narzędzia generatywnej AI co sprawia, czasami są zawodne, a w najgorszym razie – aktywnie szkodliwe dla Twojej firmy. Dzięki tym technikom zarówno użytkownicy, jak i deweloperzy mogą ulepszać niezawodnością i, być może, wzbudzać zaufanie do danych wyjściowych generowanych przez te aplikacje.