1. Przegląd
Badania patentowe są rozległe i złożone. Przeszukiwanie niezliczonych abstraktów technicznych w celu znalezienia odpowiednich innowacji jest trudnym zadaniem. Tradycyjne wyszukiwanie oparte na słowach kluczowych jest często niedokładne i czasochłonne. Streszczenia są długie i techniczne, co utrudnia szybkie zrozumienie głównej idei. Może to spowodować, że badacze pominą kluczowe patenty lub będą tracić czas na nieistotne wyniki.
Tajemnica tej rewolucji tkwi w wyszukiwaniu wektorowym. Wyszukiwanie wektorowe nie polega na prostym dopasowywaniu słów kluczowych, ale przekształca tekst w reprezentacje numeryczne (wektory dystrybucyjne). Dzięki temu możemy wyszukiwać na podstawie znaczenia zapytania, a nie tylko konkretnych użytych słów. W świecie wyszukiwania literatury to przełomowe rozwiązanie. Wyobraź sobie, że znajdujesz patent na „monitor pracy serca do noszenia”, nawet jeśli w dokumencie nie użyto dokładnie tej frazy.
Wyzwanie: współczesne wyszukiwania literatury powinny zapewniać natychmiastowe odpowiedzi i inteligentne rekomendacje, które są zgodne z indywidualnymi preferencjami użytkowników. Tradycyjne metody wyszukiwania często nie zapewniają takiego poziomu personalizacji.
Rozwiązanie: nasza aplikacja do obsługi czatu oparta na wiedzy bezpośrednio rozwiązuje ten problem. Wykorzystuje bogatą bazę wiedzy pochodzącą z Twojego zbioru danych patentowych, aby rozumieć intencje klientów, inteligentnie odpowiadać na ich pytania i dostarczać bardzo trafne wyniki.
Co utworzysz
W ramach tego modułu (część 2) wykonasz te zadania:
- Tworzenie agenta tworzenia kodu Kreatora agentów Vertex AI
- Integracja narzędzia AlloyDB z agentem
Wymagania
2. Architektura
Przepływ danych: przyjrzyjmy się bliżej temu, jak dane przepływają przez nasz system:
Przetwarzanie:
Dane dotyczące patentów są wczytywane do AlloyDB.
Silnik Analytics:
Będziemy używać AlloyDB jako silnika analitycznego do wykonywania tych czynności:
- Wyodrębnianie kontekstu: silnik analizuje dane przechowywane w AlloyDB, aby zrozumieć zbiór danych o patentach.
- Tworzenie wektorów dystrybucyjnych: Wektory dystrybucyjne (matematyczne reprezentacje tekstu) są generowane zarówno dla zapytania użytkownika, jak i dla informacji przechowywanych w AlloyDB.
- Wyszukiwanie wektorowe: wyszukiwarka przeprowadza wyszukiwanie podobieństwa, porównując wektor dystrybucyjny zapytania z wektorami dystrybucyjnymi streszczeń patentów. Określa to najbardziej odpowiedniego „najbliższego sąsiada” w kontekście, którego szuka użytkownik.
Generowanie odpowiedzi:
Zweryfikowane odpowiedzi są uporządkowane w tablicę JSON, a cały silnik jest spakowany w bezserwerową funkcję Cloud Run, która jest wywoływana z poziomu narzędzia do tworzenia agentów.
Powyższe kroki zostały już omówione w części 1 laboratorium.
Omówiliśmy szczegóły techniczne tworzenia silnika analitycznego opartego na wiedzy, który obsługuje naszego inteligentnego asystenta wyszukiwania patentów. Teraz zobaczmy, jak wykorzystujemy magię narzędzia Agent Builder, aby ożywić ten silnik w interfejsie konwersacyjnym. Zanim przejdziesz do części 2, przygotuj adres URL punktu końcowego. Ten kolejny krok omówimy w tym laboratorium:
Interakcja konwersacyjna:
Kreator agentów przedstawia odpowiedzi użytkownikowi w formacie języka naturalnego, co ułatwia prowadzenie dialogu.
3. Zanim zaczniesz
Utwórz projekt
- W konsoli Google Cloud na stronie selektora projektów wybierz lub utwórz projekt Google Cloud.
- Sprawdź, czy w projekcie Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie są włączone płatności .
- Będziesz używać Cloud Shell, czyli środowiska wiersza poleceń działającego w Google Cloud, które jest wstępnie załadowane narzędziem bq. U góry konsoli Google Cloud kliknij Aktywuj Cloud Shell.

- Po połączeniu z Cloud Shell sprawdź, czy uwierzytelnianie zostało już przeprowadzone, a projekt jest już ustawiony na Twój identyfikator projektu, używając tego polecenia:
gcloud auth list
- Aby potwierdzić, że polecenie gcloud zna Twój projekt, uruchom w Cloud Shell to polecenie:
gcloud config list project
- Jeśli projekt nie jest ustawiony, użyj tego polecenia, aby go ustawić:
gcloud config set project <YOUR_PROJECT_ID>
- Włącz wymagane interfejsy API. Alternatywą dla polecenia gcloud jest wyszukanie poszczególnych usług w konsoli lub skorzystanie z tego linku.
Jeśli pominiesz jakiś interfejs API, możesz go włączyć w trakcie wdrażania.
Informacje o poleceniach gcloud i ich użyciu znajdziesz w dokumentacji.
Ważna uwaga: aby ukończyć ten moduł, musisz też ukończyć CZĘŚĆ 1 laboratorium.
4. Tworzenie agenta
Przedstawiamy Kreatora agentów
Kreator agentów to zaawansowane narzędzie, które nie wymaga pisania dużych ilości kodu i umożliwia szybkie i wydajne tworzenie agentów konwersacyjnych. Upraszcza proces projektowania przepływów dialogowych, integrowania baz wiedzy i łączenia się z zewnętrznymi interfejsami API. W naszym przypadku użyjemy narzędzia Agent Builder, aby bezproblemowo połączyć się z punktem końcowym Cloud Functions utworzonym w części 1. Dzięki temu nasz asystent wyszukiwania patentów będzie miał dostęp do naszej bazy wiedzy o patentach i mógł inteligentnie odpowiadać na zapytania użytkowników.
Upewnij się, że funkcja Cloud Run w Javie utworzona w części 1 zwraca tablicę JSON zamiast zwykłego tekstu.
Tworzenie agenta
Zacznijmy od utworzenia nowego agenta, który będzie odpowiadać na pytania użytkowników dotyczące produktów odzieżowych.
- Zacznij od zalogowania się na platformie Kreator agentów. Jeśli pojawi się prośba o aktywowanie interfejsu API, kliknij DALEJ I AKTYWUJ API.
- Kliknij „UTWÓRZ APLIKACJĘ” i nadaj agentowi opisową nazwę (np. „Asystent wyszukiwania patentów”).
- Kliknij Typ aplikacji „Agent”.

- . Nadaj agentowi opisową nazwę, np. „Asystent wyszukiwania patentów”, i ustaw region us-central1.
- Wpisz szczegóły agenta:
- Zmień nazwę agenta na „Patent Search Agent”.
- 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.

- Zapisz go w tym momencie i na razie pozostaw instrukcje puste.
- Następnie w menu nawigacyjnym kliknij Narzędzia i kliknij UTWÓRZ.

Wpisz nazwę narzędzia: Patent Search Tool
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:
W tym miejscu używamy punktu końcowego backendu do zasilania agenta. Skopiuj poniższą specyfikację OpenAPI i zastąp w niej symbol zastępczy adresu URL (ujęty w nawiasy ostre) punktem końcowym funkcji 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 pozostałych konfiguracjach pozostaw wartości domyślne i kliknij „Zapisz”.
- Wróć do agenta, ponieważ chcemy dodać konfigurację „Narzędzie” do „Instrukcji” agenta. Dodaj poniższy tekst do miejsca na instrukcje (pamiętaj, że wcięcia są ważne dla określenia kolejności działań):
- 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 w sekcji „Dostępne narzędzia” wybrane jest narzędzie „Patent Search Tool”, a następnie ponownie zapisz agenta.
5. Testowanie agenta
W panelu po prawej stronie powinna się pojawić sekcja Podgląd agenta, w której możesz przetestować agenta.
Jak widać na zrzucie ekranu poniżej, przywitałem się jako użytkownik i rozpocząłem czat z prośbą o „dopasowanie patentu do dowolnego pomysłu na tracker aktywności”:

Oto odpowiedź JSON:

To jest surowy wynik JSON z funkcji w Cloud Functions, która przetwarza wyszukiwanie podobieństwa w AlloyDB. To wszystko. Wszystko już załatwione.
6. Wdrażanie i integracja
Gdy uznasz, że agent jest gotowy, możesz go łatwo wdrożyć w różnych kanałach za pomocą integracji Kreatora agentów. Możesz go umieścić w swojej witrynie, zintegrować z popularnymi platformami do przesyłania wiadomości, a nawet utworzyć dedykowaną aplikację mobilną. Możemy też używać interfejsu Agent Builder API bezpośrednio w naszych aplikacjach klienckich, o czym piszemy w tym artykule na blogu.
7. Czyszczenie danych
Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby użyte w tym poście, wykonaj te czynności:
8. Gratulacje
Gratulacje! Łącząc moc naszego niestandardowego silnika analitycznego z intuicyjnym interfejsem narzędzia Agent Builder, stworzyliśmy inteligentnego asystenta wyszukiwania literatury, który sprawia, że wyszukiwanie literatury jest dostępne, wydajne i naprawdę ukierunkowane na znaczenie. Łącząc możliwości AlloyDB, Vertex AI i wyszukiwania wektorowego, zrobiliśmy ogromny krok naprzód w udostępnianiu wyszukiwania kontekstowego i wektorowego, które jest wydajne, oparte na znaczeniu i agentowe.