Tworzenie Asystenta wyszukiwania patentów za pomocą AlloyDB i Kreatora agentów Vertex AI – część 2

1. Omówienie

Badania nad patentami to złożone i ogromne zagadnienia. Przeszukiwanie niezliczonych streszczeń technicznych w celu znalezienia odpowiednich innowacji to niełatwe zadanie. Tradycyjne wyszukiwania oparte na słowach kluczowych są często niedokładne i czasochłonne. Streszczenia są długie i zawierają informacje techniczne, co utrudnia szybkie zrozumienie koncepcji. Może to doprowadzić do przegapienia kluczowych patentów lub marnowania czasu na nietrafne wyniki.

Tajemniczym przepisem tej rewolucji jest wyszukiwanie wektorowe. Zamiast korzystać z prostego dopasowania słów kluczowych, wyszukiwanie wektorowe przekształca tekst w reprezentacje liczbowe (umieszczanie). Umożliwia to wyszukiwanie na podstawie znaczenia zapytania, a nie tylko konkretnych użytych słów. To przełom w świecie literatury. Wyobraź sobie, że szukasz opatentującego „pulsometr” do noszenia. , nawet jeśli w dokumencie nie ma dokładnego wyrażenia.

Wyzwanie: współczesne poszukiwanie literatury powinno dostarczać natychmiastowe odpowiedzi i inteligentne rekomendacje zgodne z ich unikalnymi preferencjami. Tradycyjne metody wyszukiwania często nie zapewniają takiej personalizacji.

Rozwiązanie: nasza aplikacja czatu, która bazuje na wiedzy, radzi sobie z tym wyzwaniem. Wykorzystuje obszerną bazę wiedzy pozyskaną ze zbioru danych patentów, aby zrozumieć zamiary klientów, sprytnie odpowiadać i osiągać niezwykle trafne wyniki.

Co utworzysz

W ramach tego modułu (część 2):

  1. Tworzenie agenta Kreatora agentów Vertex AI
  2. Zintegruj narzędzie AlloyDB z agentem

Wymagania

  • przeglądarki, na przykład Chrome lub Firefox;
  • Projekt Google Cloud z włączonymi płatnościami.

2. Architektura

Przepływ danych: przyjrzyjmy się bliżej sposobom przenoszenia danych w systemie:

Przetwarzanie:

Dane dotyczące patentów są wczytywane do AlloyDB.

Mechanizm Analytics:

Będziemy używać AlloyDB jako silnika analitycznego do wykonywania tych czynności:

  1. Wyodrębnianie kontekstu: mechanizm analizuje dane przechowywane w AlloyDB, aby zrozumieć zbiór danych patentów.
  2. Tworzenie wektorów dystrybucyjnych: wektory dystrybucyjne (matematyczne reprezentacje tekstu) są generowane zarówno dla zapytania użytkownika, jak i informacji przechowywanych w AlloyDB.
  3. Wyszukiwanie wektorowe: wyszukiwarka przeprowadza wyszukiwanie podobieństw, porównując wektory dystrybucyjne zapytań z wektorami dystrybucyjnymi streszczeń patentowych. Określa najbardziej odpowiedniego „najbliższego sąsiada” w kontekście wyszukiwanym przez użytkownika.

Generowanie odpowiedzi:

Zweryfikowane odpowiedzi są uporządkowane w tablicę JSON, a cały mechanizm jest spakowany w bezserwerową funkcję w Cloud Run, która jest wywoływana z Kreatora agentów.

Powyższe kroki są już omówione w części 1 tego modułu.

Omówiliśmy szczegóły techniczne tworzenia mechanizmu analizy opartej na wiedzy, który obsługuje nasz inteligentny asystent wyszukiwania patentów. Przyjrzyjmy się teraz, jak wykorzystujemy magię Kreatora agentów, aby ożywić ten silnik w interfejsie konwersacyjnym. Zanim zaczniesz część 2, przygotuj URL punktu końcowego. Kolejny krok to tematy, które omówimy w tym module:

Interakcja konwersacyjna:

Kreator agentów wyświetla odpowiedzi w języku naturalnym, co ułatwia prowadzenie rozmów.

3. Zanim zaczniesz

Utwórz projekt

  1. W konsoli Google Cloud na stronie selektora projektów wybierz lub utwórz projekt Google Cloud.
  2. Sprawdź, czy w projekcie Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie są włączone płatności .
  3. Użyjesz Cloud Shell – środowiska wiersza poleceń działającego w Google Cloud, które zawiera wstępnie zainstalowane narzędzie bq. Kliknij Aktywuj Cloud Shell u góry konsoli Google Cloud.

Obraz przycisku aktywowania Cloud Shell

  1. Po nawiązaniu połączenia z Cloud Shell możesz użyć tego polecenia, aby sprawdzić, czy użytkownik jest już uwierzytelniony i czy identyfikator projektu jest ustawiony na identyfikator Twojego projektu:
gcloud auth list
  1. Uruchom to polecenie w Cloud Shell, aby sprawdzić, czy polecenie gcloud zna Twój projekt.
gcloud config list project
  1. Jeśli Twój projekt nie jest skonfigurowany, ustaw go za pomocą tego polecenia:
gcloud config set project <YOUR_PROJECT_ID>
  1. Włącz wymagane interfejsy API. Alternatywą dla polecenia gcloud jest skorzystanie z konsoli – wyszukanie każdej usługi lub użycie tego linku.

Jeśli brakuje jakiegoś interfejsu API, możesz go zawsze włączyć w trakcie implementacji.

Więcej informacji o poleceniach i sposobie korzystania z gcloud znajdziesz w dokumentacji.

Ważna uwaga: aby to zrobić, musisz też ukończyć CZĘŚĆ 1 modułu.

4. Tworzenie agenta

Przedstawiamy Kreator agentów

Kreator agentów to zaawansowane narzędzie, które nie wymaga pisania dużych ilości kodu. Dzięki niemu możemy szybko i efektywnie tworzyć agenty konwersacyjne. Upraszcza proces projektowania przepływów dialogowych, integrowania baz wiedzy i łączenia się z zewnętrznymi interfejsami API. W naszym przypadku użyjemy Kreatora agentów, aby bezproblemowo połączyć się z punktem końcowym funkcji w Cloud Functions, który opisaliśmy w części 1. Dzięki temu asystent wyszukiwania patentów uzyska dostęp do naszej bazy wiedzy patentowej i sprawnie odpowiada na zapytania użytkowników.

Sprawdź, czy w części 1 masz utworzoną funkcję Java Cloud Run, która zwraca plik JSON ARRAY zamiast zwykłego tekstu.

Tworzę agenta

Zacznijmy od utworzenia nowego agenta, który będzie odpowiadać na pytania użytkowników dotyczące produktów odzieżowych.

  1. Zacznij od zalogowania się na platformie Agent Builder. Jeśli pojawi się prośba o aktywację interfejsu API, kliknij DALEJ I AKTYWUJ INTERFEJS API.
  2. Kliknij „UTWÓRZ APLIKACJĘ”. i nadaj agentowi nazwę opisową (np. „Asystent wyszukiwania patentów”).
  3. Kliknij Typ aplikacji „Agent”.

462bb48664e9a14e.png

  1. , Nadaj agentowi opisową nazwę, np. „Asystent wyszukiwania patentów”. i ustaw region jako us-central1.
  2. Wpisz dane agenta:
  3. Zmień nazwę agenta na „Agent Search Agent”.
  4. Dodaj poniższy „Cel”:
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.

38f7d77d5ed0cb2a.png

  1. Zapisz go i na razie pozostaw instrukcje puste.
  2. Następnie w menu nawigacyjnym kliknij Narzędzia i wybierz UTWÓRZ.

38f7d77d5ed0cb2a.png

Wpisz nazwę narzędzia: Narzędzie wyszukiwania patentów

Typ: OpenAPI

Wpisz opis narzędzia:

This tool refers to the dataset in the backend as the context information for product inventory. It takes as input the user's search text summarized by the agent and matches with the most appropriate list of items and returns as an array of items.

Wpisz schemat – OpenAPI w formacie YAML:

Na tym etapie używamy punktu końcowego backendu do obsługi agenta. Skopiuj poniższą specyfikację OpenAPI i zastąp symbol zastępczy adresu URL (zamknięty w nawiasach kątowych) punktem końcowym w Cloud Functions:

openapi: 3.0.0
info:
  title: Patent Search API
  version: v1
servers:
  - url: YOUR_CLOUDFUNCTION_ENDPOINT_URL
paths:
  /patent-search:
    post:
      summary: Search for patents using a text query.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: The text query to search for patents.
                  example: A new Natural Language Processing related Machine Learning Model
      responses:
        '200':
          description: Successful search response with a JSON array of matching patents.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    result:
                      type: string
                      description: Patent title.
        '400':
          description: Invalid request body.
        '500':
          description: Internal server error.

W innych konfiguracjach pozostaw domyślne wartości i kliknij „Zapisz”.

  1. Wróć teraz do agenta, bo chcemy dodać „Narzędzie” do instrukcji dotyczących agenta. Dodaj poniższy tekst do symbolu zastępczego instrukcji (pamiętaj, że wcięcia są istotne przy definiowaniu przepływu):
- Greet the users, then ask how you can help them today.
- Summarize the user's request and ask them to confirm that you understood correctly.
    - If necessary, seek clarifying details.
- Use ${TOOL:Patent Search Tool} to help the user with their task.
- Return the response from the ${TOOL:Patent Search Tool} to the user in a well formed string.
- Thank the user for their business and say goodbye.

Upewnij się, że narzędzie „Patent Search Tool” w obszarze „Dostępne narzędzia” i ponownie zapisz agenta.

5. Testowanie agenta

W panelu po prawej stronie powinna być widoczna sekcja podglądu agenta, w której możesz przetestować agenta.

Jak widać na zrzucie ekranu poniżej, powitaliśmy użytkownika i rozpoczęłem czat z prośbą o „pasujący patent na dowolny pomysł na tracker aktywności”:

e4ffaa48b5c1f012.png

Oto odpowiedź JSON:

b0ee0af57ba63943.png

To jest nieprzetworzony wynik JSON z funkcji w Cloud Functions, która przetwarza wyszukiwanie podobieństw AlloyDB. Znakomicie. Jesteśmy teraz w kontakcie z pracownikiem obsługi klienta.

6. Wdrażanie i integracja

Po utworzeniu agenta możesz go łatwo wdrożyć w różnych kanałach, korzystając z integracji Kreatora agentów. Możesz umieścić go w swojej witrynie, zintegrować z popularnymi platformami komunikacyjnymi, a nawet utworzyć dedykowaną aplikację mobilną. Możemy też używać interfejsu Agent Builder API bezpośrednio w naszych aplikacjach klienckich, które omówiliśmy na tym blogu.

7. Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym poście, wykonaj te czynności:

  1. W konsoli Google Cloud otwórz Zarządzaj .
  2. resources.
  3. Na liście projektów wybierz projekt do usunięcia, a potem kliknij Usuń.
  4. W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.

8. Gratulacje

Gratulacje! Łącząc możliwości naszego niestandardowego silnika analitycznego z intuicyjnym interfejsem Agent Builder, stworzyliśmy inteligentnego asystenta wyszukiwania literatury, który sprawia, że wyszukiwanie literatury jest przystępne, skuteczne i nastawione na naprawdę sensowne działanie. Dzięki połączeniu możliwości AlloyDB, Vertex AI i wyszukiwania wektorowego zrobiliśmy ogromny krok naprzód w zakresie dostępu do wyszukiwań kontekstowych i wektorowych, które są dostępne, efektywne, oparte na znaczeniu i agenta.