1. ภาพรวม
การวิจัยเกี่ยวกับสิทธิบัตรนั้นกว้างขวางและสลับซับซ้อน การเสาะหาบทคัดย่อทางเทคนิคจำนวนนับไม่ถ้วนเพื่อค้นหานวัตกรรมที่เกี่ยวข้องเป็นงานที่ท้าทาย การค้นหาแบบดั้งเดิมที่อิงตามคีย์เวิร์ดมักไม่ถูกต้องและใช้เวลานาน ข้อมูลสรุปมีความยาวและเป็นเรื่องเทคนิค ทำให้เข้าใจแนวคิดหลักได้ยาก ซึ่งอาจทำให้นักวิจัยพลาดสิทธิบัตรหลักหรือเสียเวลากับผลลัพธ์ที่ไม่เกี่ยวข้อง
เคล็ดลับที่ทำให้เกิดการเปลี่ยนแปลงนี้คือ Vector Search การค้นหาเวกเตอร์จะเปลี่ยนข้อความให้อยู่ในรูปแบบตัวเลข (การฝัง) แทนการจับคู่คีย์เวิร์ดแบบง่าย วิธีนี้ช่วยให้เราค้นหาตามความหมายของคำค้นหาได้ ไม่ใช่ตามคำที่เจาะจงเท่านั้น ฟีเจอร์นี้ถือเป็นการเปลี่ยนแปลงครั้งสำคัญในโลกการค้นหาข้อมูลทางวิชาการ ลองจินตนาการว่าคุณพบสิทธิบัตรสำหรับ "เครื่องวัดอัตราการเต้นของหัวใจแบบสวมใส่ได้" แม้ว่าเอกสารจะไม่ได้ใช้วลีดังกล่าวก็ตาม
ความท้าทาย: การค้นหาวรรณกรรมสมัยใหม่ควรให้คำตอบทันทีและคำแนะนำอัจฉริยะที่สอดคล้องกับความต้องการเฉพาะของแต่ละบุคคล วิธีการค้นหาแบบดั้งเดิมมักจะไม่ตรงตามการปรับเปลี่ยนให้เหมาะกับผู้ใช้ในระดับนี้
โซลูชัน: แอปพลิเคชันแชทที่อาศัยความรู้ของเราจะจัดการความท้าทายนี้โดยตรง โดยใช้ประโยชน์จากฐานความรู้ที่สมบูรณ์ซึ่งมาจากชุดข้อมูลสิทธิบัตรของคุณเพื่อทำความเข้าใจความตั้งใจของลูกค้า ตอบสนองอย่างชาญฉลาด และแสดงผลลัพธ์ที่มีความเกี่ยวข้องสูง
สิ่งที่คุณจะสร้าง
ในส่วนนี้ (ส่วนที่ 2) คุณจะทำสิ่งต่อไปนี้
- สร้างตัวแทน Vertex AI Agent Builder
- ผสานรวมเครื่องมือ AlloyDB กับตัวแทน
ข้อกำหนด
2. สถาปัตยกรรม
โฟลว์ข้อมูล: มาดูรายละเอียดการเคลื่อนย้ายข้อมูลผ่านระบบของเรากัน
การส่งผ่านข้อมูล
ระบบจะโหลดข้อมูลสิทธิบัตรลงใน AlloyDB
เครื่องมือ Analytics
เราจะใช้ AlloyDB เป็นเครื่องมือวิเคราะห์เพื่อดำเนินการต่อไปนี้
- การสกัดบริบท: เครื่องมือจะวิเคราะห์ข้อมูลที่จัดเก็บไว้ใน AlloyDB เพื่อทำความเข้าใจชุดข้อมูลสิทธิบัตร
- การสร้างการฝัง: ระบบจะสร้างการฝัง (การนําเสนอข้อความทางคณิตศาสตร์) สําหรับทั้งคําค้นหาของผู้ใช้และข้อมูลที่จัดเก็บไว้ใน AlloyDB
- การค้นหาเวกเตอร์: เครื่องมือค้นหาจะดำเนินการค้นหาความคล้ายคลึงกัน เปรียบเทียบการค้นหาที่ฝังกับการฝังบทคัดย่อสิทธิบัตร แอตทริบิวต์นี้จะระบุ "เพื่อนบ้านที่ใกล้ที่สุด" ที่เกี่ยวข้องมากที่สุด บริบทที่ผู้ใช้กำลังค้นหา
การสร้างคำตอบ:
การตอบกลับที่ตรวจสอบแล้วจะมีโครงสร้างเป็นอาร์เรย์ JSON และแพ็กเกจทั้งเครื่องมือเป็นฟังก์ชัน Cloud Run แบบ Serverless ที่เรียกใช้จากเครื่องมือสร้าง Agent
ขั้นตอนข้างต้นมีอยู่ในส่วนที่ 1 ของห้องทดลอง
เราได้พูดคุยกันถึงรายละเอียดทางเทคนิคในการสร้างเครื่องมือวิเคราะห์ที่ขับเคลื่อนโดยความรู้ซึ่งขับเคลื่อนผู้ช่วยการค้นหาสิทธิบัตรอัจฉริยะ มาดูกันว่าเราใช้ประโยชน์จาก Agent Builder อย่างไรเพื่อให้เครื่องมือนี้ทำงานได้ในอินเทอร์เฟซแบบสนทนา ตรวจสอบว่าคุณมี URL ปลายทางพร้อมแล้วก่อนเริ่มส่วนที่ 2 ขั้นตอนถัดไปคือสิ่งที่เราจะพูดถึงในห้องทดลองนี้
การโต้ตอบแบบการสนทนา:
Agent Builder จะแสดงคำตอบต่อผู้ใช้ในรูปแบบภาษาธรรมชาติ ซึ่งช่วยให้การสนทนาโต้ตอบเป็นไปอย่างราบรื่น
3. ก่อนเริ่มต้น
สร้างโปรเจ็กต์
- ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
- ตรวจสอบว่าเปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Cloud แล้ว ดูวิธีตรวจสอบว่าเปิดใช้การเรียกเก็บเงินในโปรเจ็กต์หรือไม่
- คุณจะใช้ Cloud Shell ซึ่งเป็นสภาพแวดล้อมแบบบรรทัดคำสั่งที่ทำงานใน Google Cloud ที่มาพร้อมกับ bq ล่วงหน้า คลิก "เปิดใช้งาน Cloud Shell" ที่ด้านบนของคอนโซล Google Cloud
- เมื่อเชื่อมต่อกับ Cloud Shell แล้ว คุณต้องตรวจสอบว่าได้ตรวจสอบสิทธิ์แล้วและตั้งค่าโปรเจ็กต์เป็นรหัสโปรเจ็กต์โดยใช้คำสั่งต่อไปนี้
gcloud auth list
- เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell เพื่อยืนยันว่าคำสั่ง gcloud รู้จักโปรเจ็กต์ของคุณ
gcloud config list project
- หากไม่ได้ตั้งค่าโปรเจ็กต์ไว้ ให้ใช้คำสั่งต่อไปนี้เพื่อตั้งค่าโปรเจ็กต์
gcloud config set project <YOUR_PROJECT_ID>
- เปิดใช้ API ที่จำเป็น อีกทางเลือกหนึ่งแทนคำสั่ง gcloud คือผ่านทางคอนโซลโดยค้นหาผลิตภัณฑ์แต่ละรายการหรือใช้ลิงก์นี้
หากมี API ใดขาดหายไป คุณจะเปิดใช้ได้เสมอในระหว่างการติดตั้งใช้งาน
ดูคำสั่งและการใช้งาน gcloud ในเอกสารประกอบ
หมายเหตุสำคัญ: นอกจากนี้ โปรดตรวจสอบว่าคุณได้ทำส่วนที่ 1 ของห้องทดลองแล้ว เพื่อดำเนินการให้เสร็จสมบูรณ์
4. การสร้างตัวแทน
ขอแนะนำ Agent Builder
Agent Builder เป็นเครื่องมือที่มีประสิทธิภาพแบบใช้โค้ดน้อยซึ่งช่วยให้เราสร้างตัวแทนแบบสนทนาได้อย่างรวดเร็วและมีประสิทธิภาพ ซึ่งจะช่วยปรับปรุงกระบวนการออกแบบโฟลว์การสนทนา ผสานรวมฐานความรู้ และเชื่อมต่อกับ API ภายนอก ในกรณีนี้ เราจะใช้ Agent Builder เพื่อเชื่อมต่อกับปลายทาง Cloud Function ที่เราสร้างขึ้นในส่วนที่ 1 ได้อย่างราบรื่น ซึ่งจะช่วยให้ผู้ช่วยค้นหาสิทธิบัตรเข้าถึงฐานความรู้เกี่ยวกับสิทธิบัตรและตอบกลับการค้นหาของผู้ใช้ได้อย่างชาญฉลาด
ตรวจสอบว่าคุณมีฟังก์ชัน Java Cloud Run ที่สร้างขึ้นในส่วนที่ 1 ซึ่งแสดงผล JSON ARRAY แทนข้อความธรรมดา
การสร้างตัวแทน
เรามาเริ่มต้นด้วยการสร้างตัวแทนใหม่นี้ในการตอบคำถามของผู้ใช้เรื่องผลิตภัณฑ์เครื่องแต่งกายกัน
- เริ่มต้นด้วยการเข้าสู่ระบบแพลตฟอร์มเครื่องมือสร้างตัวแทน หากระบบแจ้งให้เปิดใช้งาน API ให้คลิก "ดำเนินการต่อและเปิดใช้งาน API"
- คลิก "สร้างแอป" และตั้งชื่อที่สื่อความหมายให้ตัวแทน (เช่น "ผู้ช่วยค้นหาสิทธิบัตร")
- คลิกประเภทแอป "ตัวแทน"
- ที่ใช้เวลาเพียง 2 นาที ตั้งชื่อที่สื่อความหมายให้ตัวแทน เช่น "ผู้ช่วยค้นหาสิทธิบัตร" แล้วตั้งค่าภูมิภาคเป็น us-central1
- ป้อนรายละเอียดของตัวแทน
- เปลี่ยนชื่อตัวแทนเป็น "Patent Search Agent"
- เพิ่ม "เป้าหมาย" ด้านล่าง
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.
- ให้บันทึกในขั้นตอนนี้และปล่อยคำแนะนำว่างไว้ตอนนี้
- จากนั้นคลิก "เครื่องมือ" จากเมนูการนำทาง แล้วคลิก "สร้าง"
ป้อนชื่อเครื่องมือ: เครื่องมือค้นหาสิทธิบัตร
ประเภท: 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 ดังนี้
ส่วนนี้เป็นส่วนที่เราใช้ปลายทางแบ็กเอนด์เพื่อขับเคลื่อน Agent คัดลอกข้อกำหนด 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.
ปล่อยให้การกําหนดค่าอื่นๆ เป็นค่าเริ่มต้น แล้วคลิก "บันทึก"
- กลับไปที่ตัวแทนในตอนนี้เนื่องจากเราต้องการเพิ่มการกําหนดค่า "เครื่องมือ" ลงใน "วิธีการ" ของตัวแทน เพิ่มด้านล่างลงในตัวยึดตำแหน่งของคำแนะนำ (อย่าลืมว่าการเยื้องมีความสำคัญในการกำหนดขั้นตอน)
- 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. ทดสอบตัวแทน
ในแผงด้านขวา คุณควรเห็นส่วน "ตัวแทนตัวอย่าง" ซึ่งช่วยให้คุณทดสอบตัวแทนได้
จากที่เห็นในภาพหน้าจอด้านล่าง เราได้ทักทายในฐานะผู้ใช้และเริ่มแชทด้วยคําขอ "สิทธิบัตรที่ตรงกับแนวคิดเครื่องติดตามการออกกำลังกายใดๆ"
นี่คือการตอบกลับ JSON
นี่คือผลลัพธ์ JSON ดิบจากฟังก์ชัน Cloud ที่ประมวลผลการค้นหาความคล้ายคลึงของ AlloyDB เท่านี้ก็เรียบร้อย ทุกอย่างพร้อมแล้วสำหรับตัวแทน
6. การติดตั้งใช้งานและการผสานรวม
เมื่อพอใจกับตัวแทนแล้ว คุณสามารถทำให้ตัวแทนใช้งานได้ในช่องทางต่างๆ ได้อย่างง่ายดายโดยใช้การผสานรวมของ Agent Builder ไม่ว่าจะเป็นการฝังในเว็บไซต์ ผสานรวมกับแพลตฟอร์มการรับส่งข้อความยอดนิยม หรือแม้แต่สร้างแอปสำหรับอุปกรณ์เคลื่อนที่โดยเฉพาะ นอกจากนี้ เรายังใช้ Agent Builder API ได้โดยตรงในแอปพลิเคชันเว็บไคลเอ็นต์ของเรา ซึ่งเราได้อธิบายไว้ในบล็อกนี้
7. ล้างข้อมูล
โปรดทำตามขั้นตอนต่อไปนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในโพสต์นี้
- ในคอนโซล Google Cloud ให้ไปที่จัดการ
- แหล่งข้อมูล
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเครื่องเพื่อลบโปรเจ็กต์
8. ขอแสดงความยินดี
ยินดีด้วย การผสานรวมประสิทธิภาพของเครื่องมือวิเคราะห์ที่สร้างขึ้นเองเข้ากับอินเทอร์เฟซที่ใช้งานง่ายของ Agent Builder ทำให้เราสร้างผู้ช่วยการค้นหาข้อมูลทางวิชาการที่ชาญฉลาดซึ่งช่วยให้การค้นหาข้อมูลทางวิชาการเข้าถึงได้ง่าย มีประสิทธิภาพ และมุ่งเน้นที่เนื้อหาอย่างแท้จริง ด้วยความสามารถของ AlloyDB, Vertex AI และ Vector Search ของเราอย่างมาก ทำให้เราก้าวกระโดดครั้งยิ่งใหญ่ในการทำให้การค้นหาตามบริบทและการค้นหาเวกเตอร์เข้าถึงได้ มีประสิทธิภาพ ขับเคลื่อนความหมาย และสมจริงอย่างแท้จริง