ساخت دستیار جستجوی پتنت با AlloyDB و Vertex AI Agent Builder - قسمت 2، ساخت دستیار جستجوی پتنت با AlloyDB و Vertex AI Agent Builder - قسمت 2

۱. مرور کلی

تحقیقات ثبت اختراع گسترده و پیچیده است. بررسی چکیده‌های فنی بی‌شمار برای یافتن نوآوری‌های مرتبط، کاری دلهره‌آور است. جستجوهای سنتی مبتنی بر کلمات کلیدی اغلب نادرست و زمان‌بر هستند. چکیده‌ها طولانی و فنی هستند و درک سریع ایده اصلی را دشوار می‌کنند. این امر می‌تواند منجر به از دست رفتن پتنت‌های کلیدی توسط محققان یا اتلاف وقت برای نتایج نامربوط شود.

راز نهفته در این انقلاب در جستجوی برداری نهفته است. جستجوی برداری به جای تکیه بر تطبیق ساده کلمات کلیدی، متن را به نمایش‌های عددی (جاسازی‌ها) تبدیل می‌کند. این به ما امکان می‌دهد بر اساس معنای عبارت جستجو شده، نه فقط کلمات خاص استفاده شده، جستجو کنیم. در دنیای جستجوهای ادبی، این یک تغییر اساسی است. تصور کنید که یک حق ثبت اختراع برای "مانیتور ضربان قلب پوشیدنی" پیدا کنید، حتی اگر عبارت دقیق در سند استفاده نشده باشد.

چالش: از جستجوهای مدرن در متون ادبی انتظار می‌رود که پاسخ‌های فوری و توصیه‌های هوشمندانه‌ای را ارائه دهند که با ترجیحات منحصر به فرد آنها همسو باشد. روش‌های جستجوی سنتی اغلب در ارائه این سطح از شخصی‌سازی ناکام می‌مانند.

راه حل: اپلیکیشن چت دانش‌محور ما مستقیماً با این چالش مقابله می‌کند. این اپلیکیشن از یک پایگاه دانش غنی برگرفته از مجموعه داده‌های ثبت اختراع شما بهره می‌برد تا قصد مشتری را درک کند، هوشمندانه پاسخ دهد و نتایج بسیار مرتبطی ارائه دهد.

آنچه خواهید ساخت

به عنوان بخشی از این آزمایشگاه (بخش 2)، شما:

  1. یک عامل سازنده Vertex AI بسازید
  2. ادغام ابزار AlloyDB با عامل

الزامات

  • یک مرورگر، مانند کروم یا فایرفاکس
  • یک پروژه گوگل کلود با قابلیت پرداخت.

۲. معماری

جریان داده‌ها: بیایید نگاهی دقیق‌تر به نحوه‌ی حرکت داده‌ها در سیستم خود بیندازیم:

بلعیدن :

داده‌های ثبت اختراع در AlloyDB بارگذاری می‌شوند.

موتور تجزیه و تحلیل:

ما از AlloyDB به عنوان موتور تحلیلی برای انجام موارد زیر استفاده خواهیم کرد:

  1. استخراج متن: موتور، داده‌های ذخیره شده در AlloyDB را برای درک مجموعه داده‌های اختراعات تجزیه و تحلیل می‌کند.
  2. ایجاد جاسازی: جاسازی‌ها (نمایش‌های ریاضی متن) هم برای پرس‌وجوی کاربر و هم برای اطلاعات ذخیره شده در AlloyDB ایجاد می‌شوند.
  3. جستجوی برداری: موتور جستجویی بر اساس شباهت انجام می‌دهد و جاسازی پرس‌وجو را با جاسازی‌های چکیده‌های پتنت مقایسه می‌کند. این کار مرتبط‌ترین «نزدیک‌ترین همسایه» را به زمینه‌ای که کاربر در جستجوی آن است، شناسایی می‌کند.

تولید پاسخ:

پاسخ‌های اعتبارسنجی‌شده در یک آرایه JSON ساختاردهی می‌شوند و کل موتور در یک تابع Cloud Run بدون سرور بسته‌بندی می‌شود که از Agent Builder فراخوانی می‌شود.

مراحل فوق قبلاً در بخش ۱ آزمایشگاه پوشش داده شده‌اند.

ما در مورد جزئیات فنی ایجاد یک موتور تحلیلی مبتنی بر دانش که دستیار جستجوی هوشمند پتنت ما را تقویت می‌کند، بحث کردیم. حال، بیایید بررسی کنیم که چگونه از جادوی Agent Builder برای زنده کردن این موتور در یک رابط کاربری محاوره‌ای استفاده می‌کنیم. قبل از شروع بخش ۲، مطمئن شوید که URL نقطه پایانی را آماده دارید. مرحله بعدی چیزی است که در این آزمایشگاه پوشش می‌دهیم:

تعامل مکالمه‌ای:

ایجنت بیلدر پاسخ‌ها را در قالب زبان طبیعی به کاربر ارائه می‌دهد و گفتگوی دوطرفه را تسهیل می‌کند.

۳. قبل از شروع

ایجاد یک پروژه

  1. در کنسول گوگل کلود ، در صفحه انتخاب پروژه، یک پروژه گوگل کلود را انتخاب یا ایجاد کنید.
  2. مطمئن شوید که صورتحساب برای پروژه ابری شما فعال است. یاد بگیرید که چگونه بررسی کنید که آیا صورتحساب در یک پروژه فعال است یا خیر .
  3. شما از Cloud Shell ، یک محیط خط فرمان که در Google Cloud اجرا می‌شود و bq از قبل روی آن بارگذاری شده است، استفاده خواهید کرد. روی Activate Cloud Shell در بالای کنسول Google Cloud کلیک کنید.

تصویر دکمه فعال کردن Cloud Shell

  1. پس از اتصال به Cloud Shell، با استفاده از دستور زیر بررسی می‌کنید که آیا از قبل احراز هویت شده‌اید و پروژه روی شناسه پروژه شما تنظیم شده است یا خیر:
gcloud auth list
  1. دستور زیر را در Cloud Shell اجرا کنید تا تأیید شود که دستور gcloud از پروژه شما اطلاع دارد.
gcloud config list project
  1. اگر پروژه شما تنظیم نشده است، از دستور زیر برای تنظیم آن استفاده کنید:
gcloud config set project <YOUR_PROJECT_ID>
  1. APIهای مورد نیاز را فعال کنید. جایگزین دستور gcloud از طریق کنسول با جستجوی هر محصول یا استفاده از این لینک است.

اگر هر API از قلم افتاده باشد، می‌توانید همیشه آن را در طول پیاده‌سازی فعال کنید.

برای دستورات و نحوه‌ی استفاده از gcloud به مستندات مراجعه کنید.

نکته مهم: همچنین، برای تکمیل این بخش، مطمئن شوید که بخش ۱ آزمایشگاه را تکمیل کرده‌اید.

۴. ایجاد عامل

معرفی سازنده عامل

Agent Builder ابزاری قدرتمند و کم‌کد است که به ما امکان می‌دهد تا عامل‌های محاوره‌ای را به سرعت و به طور کارآمد ایجاد کنیم. این ابزار فرآیند طراحی جریان‌های محاوره‌ای، ادغام پایگاه‌های دانش و اتصال به APIهای خارجی را ساده می‌کند. در مورد ما، از Agent Builder برای اتصال یکپارچه با نقطه پایانی Cloud Function که در بخش 1 ساختیم استفاده خواهیم کرد و دستیار جستجوی اختراع ما را قادر می‌سازد تا به پایگاه دانش اختراع ما دسترسی پیدا کند و به طور هوشمندانه به سؤالات کاربران پاسخ دهد.

مطمئن شوید که تابع Java Cloud Run که در بخش ۱ ایجاد شده است را دارید که به جای متن ساده، یک آرایه JSON برمی‌گرداند.

ساخت عامل

بیایید با ایجاد این عامل جدید برای پاسخ به سوالات کاربران در مورد محصولات پوشاک شروع کنیم.

  1. با ورود به پلتفرم Agent Builder شروع کنید. اگر از شما خواسته شد API را فعال کنید، ادامه دهید و روی «ادامه و فعال کردن API» کلیک کنید.
  2. روی «ایجاد برنامه» کلیک کنید و یک نام توصیفی به نماینده خود بدهید (مثلاً «دستیار جستجوی اختراع»).
  3. روی نوع برنامه "عامل" کلیک کنید.

462bb48664e9a14e.png

  1. به نماینده خود یک نام توصیفی مانند « دستیار جستجوی اختراع » بدهید و منطقه را به عنوان us-central1 تنظیم کنید.
  2. مشخصات نماینده را وارد کنید:
  3. نام نماینده را به « نماینده جستجوی اختراع » تغییر دهید.
  4. عبارت "Goal" زیر را اضافه کنید:
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. در این مرحله آن را ذخیره کنید و فعلاً دستورالعمل‌ها را خالی بگذارید.
  2. سپس از منوی ناوبری روی ابزارها کلیک کرده و روی ایجاد کلیک کنید.

38f7d77d5ed0cb2a.png

نام ابزار را وارد کنید: ابزار جستجوی اختراع

نوع: OpenAPI

توضیحات ابزار را وارد کنید:

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.

Schema — OpenAPI را با فرمت YAML وارد کنید:

این بخشی است که ما از نقطه پایانی backend برای قدرت بخشیدن به عامل استفاده می‌کنیم. مشخصات OpenAPI زیر را کپی کنید و محل نگهدارنده URL (که در داخل براکت‌های زاویه‌دار قرار دارد) را با نقطه پایانی Cloud Function خود جایگزین کنید :

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.

سایر تنظیمات را به مقادیر پیش‌فرض خود رها کنید و روی «ذخیره» کلیک کنید.

  1. در این مرحله به Agent برگردید زیرا می‌خواهیم پیکربندی "Tool" را به "Instructions" مربوط به Agent اضافه کنیم. کد زیر را به محل قرارگیری instructions اضافه کنید (به یاد داشته باشید، تورفتگی‌ها در تعریف جریان مهم هستند):
- 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.

مطمئن شوید که ابزار «ابزار جستجوی اختراع» در بخش «ابزارهای موجود» انتخاب شده است و سپس دوباره عامل را ذخیره کنید.

۵. عامل را آزمایش کنید

در پنل سمت راست، باید بخش پیش‌نمایش عامل (Preview Agent) را ببینید که به شما امکان می‌دهد عامل خود را آزمایش کنید.

همانطور که در تصویر زیر مشاهده می‌کنید، من به عنوان یک کاربر خوشامدگویی کرده‌ام و چت خود را با درخواست «ثبت اختراع منطبق با هر ایده ردیاب تناسب اندام» آغاز کرده‌ام:

e4ffaa48b5c1f012.png

این پاسخ JSON است:

b0ee0af57ba63943.png

این نتیجه خام JSON از تابع Cloud است که جستجوی شباهت AlloyDB را پردازش می‌کند. همین! اکنون همه چیز با عامل آماده است.

۶. استقرار و یکپارچه‌سازی

وقتی از عامل خود راضی شدید، می‌توانید به راحتی آن را با استفاده از ادغام‌های Agent Builder در کانال‌های مختلف مستقر کنید. می‌توانید آن را در وب‌سایت خود جاسازی کنید، با پلتفرم‌های پیام‌رسان محبوب ادغام کنید یا حتی یک برنامه تلفن همراه اختصاصی ایجاد کنید. ما همچنین می‌توانیم از API عامل سازنده مستقیماً در برنامه‌های کلاینت وب خود استفاده کنیم، که در این وبلاگ به آن پرداخته‌ایم.

۷. تمیز کردن

برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این پست، این مراحل را دنبال کنید:

  1. در کنسول گوگل کلود، به بخش مدیریت بروید
  2. صفحه منابع .
  3. در لیست پروژه‌ها، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی «حذف» کلیک کنید.
  4. در کادر محاوره‌ای، شناسه پروژه را تایپ کنید و سپس برای حذف پروژه، روی خاموش کردن کلیک کنید.

۸. تبریک

تبریک! با ادغام قدرت موتور تحلیلی سفارشی خود با رابط کاربری بصری Agent Builder، ما یک دستیار جستجوی هوشمند متون ایجاد کرده‌ایم که جستجوهای متون را در دسترس، کارآمد و واقعاً معنامحور می‌کند. با ترکیب قابلیت‌های AlloyDB ، Vertex AI و Vector Search ، ما جهش بزرگی در دسترس، کارآمد، واقعاً معنامحور و عامل‌محور کردن جستجوهای متنی و برداری برداشته‌ایم!