สร้างผู้ช่วย Search สิทธิบัตรด้วย AlloyDB และ Vertex AI Agent Builder - ตอนที่ 2

1. ภาพรวม

การค้นหาข้อมูลสิทธิบัตรนั้นมีขอบเขตกว้างขวางและซับซ้อน การกลั่นกรองบทคัดย่อทางเทคนิคจำนวนนับไม่ถ้วนเพื่อค้นหานวัตกรรมที่เกี่ยวข้องเป็นงานที่น่ากังวล การค้นหาแบบเดิมที่อิงตามคีย์เวิร์ดมักไม่แม่นยำและใช้เวลานาน บทคัดย่อมีความยาวและเป็นเชิงเทคนิค ทำให้เข้าใจแนวคิดหลักได้อย่างรวดเร็วได้ยาก ซึ่งอาจทำให้ผู้วิจัยพลาดสิทธิบัตรสำคัญหรือเสียเวลาไปกับผลการค้นหาที่ไม่เกี่ยวข้อง

เคล็ดลับเบื้องหลังการปฏิวัติครั้งนี้คือ Vector Search การค้นหาเวกเตอร์จะแปลงข้อความเป็นตัวแทนเชิงตัวเลข (การฝัง) แทนที่จะอาศัยการทำงานของคีย์เวิร์ดแบบง่าย ซึ่งช่วยให้เราค้นหาตามความหมายของคำค้นหาได้ ไม่ใช่แค่คำที่ใช้เท่านั้น ในโลกของการค้นหางานวรรณกรรม นี่คือการเปลี่ยนแปลงครั้งสำคัญ ลองนึกภาพการค้นพบสิทธิบัตรสำหรับ "เครื่องวัดอัตราการเต้นของหัวใจแบบสวมใส่ได้" แม้ว่าจะไม่มีการใช้วลีที่ตรงกันในเอกสารก็ตาม

ความท้าทาย: การค้นหาวรรณกรรมในปัจจุบันควรให้คำตอบทันทีและคำแนะนำอัจฉริยะที่สอดคล้องกับความชอบเฉพาะตัว วิธีการค้นหาแบบเดิมๆ มักไม่สามารถให้การปรับเปลี่ยนในแบบของคุณในระดับนี้ได้

โซลูชัน: แอปพลิเคชันแชทที่ขับเคลื่อนด้วยความรู้ของเราจะรับมือกับความท้าทายนี้โดยตรง โดยใช้ประโยชน์จากฐานความรู้ที่ครอบคลุมซึ่งได้มาจากชุดข้อมูลสิทธิบัตรของคุณเพื่อทำความเข้าใจเจตนาของลูกค้า ตอบสนองอย่างชาญฉลาด และแสดงผลลัพธ์ที่เกี่ยวข้องอย่างยิ่ง

สิ่งที่คุณจะสร้าง

ในแล็บนี้ (ส่วนที่ 2) คุณจะได้ทำสิ่งต่อไปนี้

  1. สร้าง Agent สร้างโค้ดของ Vertex AI Agent Builder
  2. ผสานรวมเครื่องมือ AlloyDB กับ Agent

ข้อกำหนด

  • เบราว์เซอร์ เช่น Chrome หรือ Firefox
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน

2. สถาปัตยกรรม

การไหลเวียนของข้อมูล: มาดูรายละเอียดวิธีที่ข้อมูลไหลเวียนผ่านระบบของเรากัน

การส่งผ่านข้อมูล

ระบบจะโหลดข้อมูลสิทธิบัตรลงใน AlloyDB

เครื่องมือวิเคราะห์:

เราจะใช้ AlloyDB เป็นเครื่องมือวิเคราะห์เพื่อดำเนินการต่อไปนี้

  1. การแยกบริบท: เครื่องมือจะวิเคราะห์ข้อมูลที่จัดเก็บไว้ใน AlloyDB เพื่อทำความเข้าใจชุดข้อมูลสิทธิบัตร
  2. การสร้างการฝัง: ระบบจะสร้างการฝัง (การแสดงข้อความในรูปแบบคณิตศาสตร์) สำหรับทั้งคำค้นหาของผู้ใช้และข้อมูลที่จัดเก็บไว้ใน AlloyDB
  3. การค้นหาเวกเตอร์: เครื่องมือจะทำการค้นหาความคล้ายคลึงโดยเปรียบเทียบการฝังคำค้นหากับการฝังบทคัดย่อสิทธิบัตร ซึ่งจะระบุ "เพื่อนบ้านที่ใกล้ที่สุด" ที่เกี่ยวข้องมากที่สุดกับบริบทที่ผู้ใช้ค้นหา

การสร้างคำตอบ:

การตอบกลับที่ตรวจสอบแล้วจะจัดโครงสร้างเป็นอาร์เรย์ JSON และระบบทั้งหมดจะรวมอยู่ในฟังก์ชัน Cloud Run แบบ Serverless ที่เรียกใช้จาก Agent Builder

ขั้นตอนข้างต้นได้อธิบายไว้แล้วในส่วนที่ 1 ของแล็บ

เราได้พูดคุยถึงรายละเอียดทางเทคนิคของการสร้างเครื่องมือวิเคราะห์ที่ขับเคลื่อนด้วยความรู้ซึ่งเป็นหัวใจสำคัญของผู้ช่วยค้นหาสิทธิบัตรอัจฉริยะ ตอนนี้เรามาดูวิธีใช้ประโยชน์จากความมหัศจรรย์ของ Agent Builder เพื่อทำให้เครื่องมือนี้ใช้งานได้จริงในอินเทอร์เฟซแบบสนทนากัน ตรวจสอบว่าคุณมี URL ของปลายทางพร้อมแล้วก่อนที่จะเริ่มส่วนที่ 2 ขั้นตอนถัดไปนี้คือสิ่งที่เราจะพูดถึงใน Lab นี้

การโต้ตอบแบบสนทนา:

Agent Builder จะแสดงคำตอบต่อผู้ใช้ในรูปแบบภาษาที่เป็นธรรมชาติ ซึ่งช่วยให้เกิดการสนทนาไปมาได้

3. ก่อนเริ่มต้น

สร้างโปรเจ็กต์

  1. ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
  2. ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Cloud แล้ว ดูวิธีตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้วหรือไม่
  3. คุณจะใช้ Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานใน Google Cloud และโหลด bq ไว้ล่วงหน้า คลิกเปิดใช้งาน 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 ในเอกสารประกอบ

หมายเหตุสำคัญ: โปรดตรวจสอบว่าคุณได้ทำส่วนที่ 1 ของแล็บเสร็จแล้วจึงจะทำส่วนนี้ได้

4. การสร้าง Agent

ขอแนะนำ Agent Builder

Agent Builder เป็นเครื่องมือที่มีประสิทธิภาพและใช้โค้ดน้อย ซึ่งช่วยให้เราสร้างเอเจนต์แบบสนทนาได้อย่างรวดเร็วและมีประสิทธิภาพ ซึ่งจะช่วยเพิ่มประสิทธิภาพกระบวนการออกแบบโฟลว์ของกล่องโต้ตอบ การผสานรวมฐานความรู้ และการเชื่อมต่อกับ API ภายนอก ในกรณีของเรา เราจะใช้ Agent Builder เพื่อเชื่อมต่อกับปลายทาง Cloud Function ที่เราสร้างขึ้นในส่วนที่ 1 ได้อย่างราบรื่น ซึ่งจะช่วยให้ผู้ช่วยค้นหาสิทธิบัตรของเราเข้าถึงฐานความรู้ด้านสิทธิบัตรและตอบคำค้นหาของผู้ใช้ได้อย่างชาญฉลาด

ตรวจสอบว่าคุณมี Java Cloud Run Function ที่สร้างขึ้นในส่วนที่ 1 ซึ่งแสดงผลเป็น JSON ARRAY แทนข้อความธรรมดา

การสร้าง Agent

มาเริ่มสร้างเอเจนต์ใหม่นี้เพื่อตอบคำถามของผู้ใช้เกี่ยวกับผลิตภัณฑ์เครื่องแต่งกายกันเลย

  1. เริ่มต้นโดยเข้าสู่ระบบแพลตฟอร์ม Agent Builder หากระบบแจ้งให้เปิดใช้งาน API ให้คลิกดำเนินการต่อและเปิดใช้งาน API
  2. คลิก "สร้างแอป" และตั้งชื่อที่สื่อความหมายให้เอเจนต์ (เช่น "ผู้ช่วยค้นหาสิทธิบัตร")
  3. คลิกประเภทแอป "Agent"

462bb48664e9a14e.png

  1. . ตั้งชื่อตัวแทนให้สื่อความหมาย เช่น "ผู้ช่วยค้นหาสิทธิบัตร" และตั้งค่าภูมิภาคเป็น us-central1
  2. ป้อนรายละเอียดของตัวแทน
  3. เปลี่ยนชื่อเอเจนต์เป็น "Patent Search Agent"
  4. เพิ่ม "เป้าหมาย" ด้านล่าง
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.

ป้อนสคีมา — OpenAPI ในรูปแบบ YAML:

ในส่วนนี้ เราจะใช้ปลายทางแบ็กเอนด์เพื่อขับเคลื่อนเอเจนต์ คัดลอกข้อกำหนด OpenAPI ด้านล่างและแทนที่ตัวยึดตำแหน่ง URL (อยู่ในวงเล็บมุม) ด้วยปลายทาง 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.

ปล่อยให้การกำหนดค่าอื่นๆ เป็นค่าเริ่มต้น แล้วคลิก "บันทึก"

  1. กลับไปที่ Agent ในตอนนี้เนื่องจากเราต้องการเพิ่มการกำหนดค่า "เครื่องมือ" ลงใน "วิธีการ" ของ Agent เพิ่มข้อความด้านล่างลงในตัวยึดตำแหน่งของวิธีการ (โปรดทราบว่าการเยื้องมีความสำคัญในการกำหนดโฟลว์)
- 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.

ตรวจสอบว่าได้เลือกเครื่องมือ "เครื่องมือค้นหาสิทธิบัตร" ในส่วน "เครื่องมือที่พร้อมใช้งาน" แล้ว จากนั้นบันทึกเอเจนต์อีกครั้ง

5. ทดสอบ Agent

ในบานหน้าต่างด้านขวา คุณควรเห็นส่วน "แสดงตัวอย่าง Agent" ซึ่งช่วยให้คุณทดสอบ Agent ได้

ดังที่เห็นในภาพหน้าจอด้านล่าง ฉันได้ทักทายในฐานะผู้ใช้และเริ่มแชทด้วยคำขอ "ค้นหาการจดสิทธิบัตรที่ตรงกับไอเดียเครื่องติดตามการเคลื่อนไหว"

e4ffaa48b5c1f012.png

นี่คือการตอบกลับ JSON

b0ee0af57ba63943.png

นี่คือผลลัพธ์ JSON ดิบจาก Cloud Function ที่ประมวลผลการค้นหาความคล้ายคลึงกันของ AlloyDB เท่านี้ก็เรียบร้อย ตอนนี้เราพร้อมที่จะคุยกับตัวแทนแล้ว

6. การติดตั้งใช้งานและการผสานรวม

เมื่อพอใจกับเอเจนต์แล้ว คุณสามารถนำไปใช้ในช่องทางต่างๆ ได้อย่างง่ายดายโดยใช้การผสานรวมของ Agent Builder คุณสามารถฝังไว้ในเว็บไซต์ ผสานรวมกับแพลตฟอร์มการรับส่งข้อความยอดนิยม หรือแม้แต่สร้างแอปบนอุปกรณ์เคลื่อนที่เฉพาะได้ นอกจากนี้ เรายังใช้ Agent Builder API โดยตรงในแอปพลิเคชันไคลเอ็นต์บนเว็บได้ด้วย ซึ่งเราได้กล่าวถึงในบล็อกนี้

7. ล้างข้อมูล

โปรดทำตามขั้นตอนต่อไปนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในโพสต์นี้

  1. ในคอนโซล Google Cloud ให้ไปที่จัดการ
  2. แหล่งข้อมูล
  3. ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
  4. ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบโปรเจ็กต์

8. ขอแสดงความยินดี

ยินดีด้วย การผสานรวมประสิทธิภาพของเครื่องมือวิเคราะห์ที่สร้างขึ้นเองเข้ากับอินเทอร์เฟซที่ใช้งานง่ายของ Agent Builder ทำให้เราได้สร้างผู้ช่วยค้นหาเอกสารอัจฉริยะที่ช่วยให้การค้นหาเอกสารเป็นเรื่องที่เข้าถึงได้ มีประสิทธิภาพ และขับเคลื่อนด้วยความหมายอย่างแท้จริง การผสานความสามารถของ AlloyDB, Vertex AI และ Vector Search ทำให้เราก้าวกระโดดไปข้างหน้าในการทำให้การค้นหาตามบริบทและการค้นหาเวกเตอร์เข้าถึงได้ มีประสิทธิภาพ ขับเคลื่อนด้วยความหมายอย่างแท้จริง และเป็น Agentic