1. Omówienie
Badania patentowe są rozległe i skomplikowane. Przeszukiwanie niezliczonych abstraktów technicznych w celu znalezienia odpowiednich innowacji jest trudnym zadaniem. Tradycyjne wyszukiwania oparte na słowach kluczowych są często niedokładne i czasochłonne. Abstrakty są długie i techniczne, co utrudnia szybkie zrozumienie głównej idei. Może to spowodować, że badacze nie znajdą kluczowych patentów lub stracą czas na przeglądanie nieistotnych wyników.
Sekretem tej rewolucji jest wyszukiwanie wektorowe. Zamiast korzystać z prostego dopasowania słów kluczowych, wyszukiwanie wektorowe przekształca tekst w reprezentacje liczbowe (umieszczanie). Dzięki temu możemy przeszukiwać dane na podstawie znaczenia zapytania, a nie tylko konkretnych użytych słów. To przełom w świecie literatury. Wyobraź sobie, że znajdujesz patent na „urządzenie do pomiaru tętna do noszenia”, nawet jeśli w dokumencie nie występuje dokładne wyrażenie.
Wyzwanie: użytkownicy oczekują, że wyszukiwarka literatury współczesnej będzie dostarczać błyskawiczne odpowiedzi i inteligentne rekomendacje dostosowane do ich unikalnych preferencji. Tradycyjne metody wyszukiwania często nie zapewniają takiej personalizacji.
Rozwiązanie: nasza aplikacja do czatu oparta na wiedzy pozwala rozwiązać ten problem. Korzysta ona z bogatej bazy wiedzy utworzonej na podstawie zbioru danych patentowych, aby rozumieć intencje klientów, inteligentnie na nie odpowiadać i wyświetlać trafne wyniki.
Co utworzysz
W ramach tego modułu (część 2) wykonasz te czynności:
- Tworzenie agenta w Kreatorze agentów Vertex AI
- Integracja narzędzia AlloyDB z agentem
Wymagania
2. Architektura
Przepływ danych: przyjrzyjmy się bliżej, jak dane przemieszczają się w naszym 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:
- Wyodrębnianie kontekstu: silnik analizuje dane przechowywane w AlloyDB, aby zrozumieć zbiór danych patentów.
- Tworzenie zasobów: reprezentacje właściwościowe (matematyczne reprezentacje tekstu) są generowane zarówno dla zapytania użytkownika, jak i informacji przechowywanych w AlloyDB.
- Wyszukiwanie wektorowe: wyszukiwarka wykonuje wyszukiwanie podobieństw, porównując wektor dystrybucyjny zapytania z wektorami dystrybucyjnymi abstraktów patentów. 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. Przed rozpoczęciem części 2 upewnij się, że masz gotowy adres URL punktu końcowego. Kolejny krok to tematy, które omówimy w tym module:
Interakcja konwersacyjna:
Kreator agenta przedstawia odpowiedzi użytkownikowi w języku naturalnym, co ułatwia prowadzenie dialogu.
3. Zanim zaczniesz
Utwórz projekt
- W konsoli Google Cloud na stronie selektora projektu 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 .
- Użyjesz Cloud Shell, czyli środowiska wiersza poleceń działającego w Google Cloud, które jest wstępnie załadowane w bq. Kliknij Aktywuj Cloud Shell u góry konsoli Google Cloud.
- Po połączeniu z Cloud Shell sprawdź, czy jesteś już uwierzytelniony i czy projekt jest ustawiony na identyfikator Twojego projektu, używając tego polecenia:
gcloud auth list
- Uruchom to polecenie w Cloud Shell, aby sprawdzić, czy polecenie gcloud zna Twój projekt.
gcloud config list project
- Jeśli projekt nie jest ustawiony, użyj tego polecenia:
gcloud config set project <YOUR_PROJECT_ID>
- Włącz wymagane interfejsy API. Alternatywą dla polecenia gcloud jest konsola, w której możesz wyszukać poszczególne usługi lub skorzystać z 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 kreatora agentów
Kreator agentów to zaawansowane narzędzie do tworzenia aplikacji konwersacyjnych, które nie wymaga pisania dużych ilości kodu. Ułatwia ono projektowanie przepływów dialogowych, integrowanie baz wiedzy i nawiązywanie połączeń 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 do wyszukiwania patentów będzie mieć dostęp do bazy wiedzy o patentach i będzie mógł inteligentnie odpowiadać na pytania użytkowników.
Upewnij się, że masz funkcję Java Cloud Run utworzoną w części 1 zwracającą TABLICĘ JSON 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.
- Zacznij od zalogowania się na platformie Agent Builder. Jeśli pojawi się prośba o aktywowanie interfejsu API, kliknij PRZEJDŹ DALEJ I AKTYWUJ INTERFEJS API.
- Kliknij „UTWÓRZ APLIKACJĘ”. i nadaj agentowi nazwę opisową (np. „Patent Search Assistant”).
- Kliknij Typ aplikacji „Agent”.
- . Nadaj agentowi nazwę opisową, np. „Asystent wyszukiwania patentów”, i ustaw region na us-central1.
- Wpisz dane agenta:
- Zmień nazwę pełnomocnika na „Patent Search Agent”.
- Dodaj „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 tej chwili i na razie pozostaw instrukcje puste.
- Następnie w menu nawigacyjnym kliknij Narzędzia i wybierz UTWÓRZ.
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 wskaźnik zastępczy adresu URL (ujęty w nawiasy klamrowe) 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.
Pozostaw inne konfiguracje w domyślnych wartościach i kliknij „Zapisz”.
- W tym momencie wróć do okna okna czatu, ponieważ chcemy dodać konfigurację „Narzędzia” do sekcji „Instrukcje” czatu. 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 się pojawić sekcja Podgląd wiadomości do agenta, która umożliwia przetestowanie wiadomości.
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”:
Oto odpowiedź JSON:
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 go osadzić w swojej witrynie, zintegrować z popularnymi platformami do przesyłania wiadomości lub nawet utworzyć specjalną aplikację mobilną. Możemy też używać interfejsu Agent Builder API bezpośrednio w naszych aplikacjach klienckich, o których pisaliśmy w tym blogu.
7. Czyszczenie danych
Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby wykorzystane w tym poście, wykonaj te czynności:
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.