การสร้างเอเจนต์ GraphRAG ด้วย ADK

1. ภาพรวม

ในโค้ดแล็บนี้ คุณจะได้สร้างระบบการวิจัยการลงทุนแบบหลายเอเจนต์ที่ซับซ้อน ซึ่งผสานรวมความสามารถของ Agent Development Kit (ADK) ของ Google, ฐานข้อมูลกราฟ Neo4j และกล่องเครื่องมือ Model Context Protocol (MCP) บทแนะนำภาคปฏิบัตินี้แสดงวิธีสร้างเอเจนต์อัจฉริยะที่เข้าใจบริบทของข้อมูลผ่านความสัมพันธ์ของกราฟ และให้คำตอบของคำค้นหาที่มีความแม่นยำสูง

เหตุผลที่ควรใช้ GraphRAG + ระบบหลายเอเจนต์

GraphRAG (การสร้างที่เพิ่มการดึงข้อมูลตามกราฟ) ช่วยปรับปรุงแนวทาง RAG แบบเดิมด้วยการใช้ประโยชน์จากโครงสร้างความสัมพันธ์ที่หลากหลายของกราฟความรู้ แทนที่จะค้นหาเฉพาะเอกสารที่คล้ายกัน เอเจนต์ GraphRAG สามารถทำสิ่งต่อไปนี้ได้

  • สำรวจความสัมพันธ์ที่ซับซ้อนระหว่างเอนทิตี
  • ทําความเข้าใจบริบทผ่านโครงสร้างกราฟ
  • แสดงผลลัพธ์ที่อธิบายได้โดยอิงตามข้อมูลที่เชื่อมต่อ
  • ดำเนินการให้เหตุผลแบบหลายขั้นตอนในกราฟความรู้

ระบบแบบหลายเอเจนต์ช่วยให้คุณทำสิ่งต่อไปนี้ได้

  • แยกปัญหาที่ซับซ้อนออกเป็นงานย่อยเฉพาะทาง
  • สร้างแอปพลิเคชัน AI แบบแยกส่วนที่ดูแลรักษาได้
  • เปิดใช้การประมวลผลแบบคู่ขนานและการใช้ทรัพยากรอย่างมีประสิทธิภาพ
  • สร้างรูปแบบการให้เหตุผลแบบลำดับชั้นด้วยการประสานงาน

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

คุณจะได้สร้างระบบการวิจัยการลงทุนที่สมบูรณ์แบบซึ่งมีฟีเจอร์ต่อไปนี้

  1. Graph Database Agent: เรียกใช้การค้นหา Cypher และทำความเข้าใจสคีมา Neo4j
  2. ตัวแทนวิจัยนักลงทุน: ค้นพบความสัมพันธ์ของนักลงทุนและพอร์ตการลงทุน
  3. เอเจนต์วิจัยการลงทุน: เข้าถึงกราฟความรู้ที่ครอบคลุมผ่านเครื่องมือ MCP
  4. Root Agent: จัดการ Sub-Agent ทั้งหมดอย่างชาญฉลาด

ระบบจะตอบคำถามที่ซับซ้อน เช่น

  • "คู่แข่งหลักของ YouTube คือใคร"
  • "บริษัทใดบ้างที่ได้รับการกล่าวถึงในเชิงบวกในเดือนมกราคม 2023"
  • "ใครลงทุนใน ByteDance และพวกเขาลงทุนในบริษัทอื่นใดอีก"

ภาพรวมสถาปัตยกรรม

26c67ab72ef077a4.jpeg

ในโค้ดแล็บนี้ คุณจะได้เรียนรู้ทั้งพื้นฐานเชิงแนวคิดและการใช้งานจริงในการสร้างเอเจนต์ GraphRAG ระดับองค์กร

สิ่งที่คุณจะได้เรียนรู้

  • วิธีสร้างระบบแบบหลายเอเจนต์โดยใช้ Agent Development Kit (ADK) ของ Google
  • วิธีผสานรวมฐานข้อมูลกราฟ Neo4j กับ ADK สำหรับแอปพลิเคชัน GraphRAG
  • วิธีใช้กล่องเครื่องมือ Model Context Protocol (MCP) สำหรับการค้นหาฐานข้อมูลที่ตรวจสอบแล้วล่วงหน้า
  • วิธีสร้างเครื่องมือและฟังก์ชันที่กำหนดเองสำหรับเอเจนต์อัจฉริยะ
  • วิธีออกแบบลำดับชั้นของตัวแทนและรูปแบบการประสานงาน
  • วิธีจัดโครงสร้างคำสั่งของเอเจนต์เพื่อให้ได้ประสิทธิภาพสูงสุด
  • วิธีแก้ไขข้อบกพร่องของการโต้ตอบแบบหลายเอเจนต์อย่างมีประสิทธิภาพ

สิ่งที่คุณต้องมี

  • เว็บเบราว์เซอร์ Chrome
  • บัญชี Gmail
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
  • คุ้นเคยกับคำสั่งเทอร์มินัลและ Python ในระดับพื้นฐาน (มีประโยชน์แต่ไม่จำเป็น)

Codelab นี้ออกแบบมาสำหรับนักพัฒนาซอฟต์แวร์ทุกระดับ (รวมถึงผู้เริ่มต้น) โดยใช้ Python และ Neo4j ในแอปพลิเคชันตัวอย่าง แม้ว่าความคุ้นเคยพื้นฐานกับ Python และฐานข้อมูลกราฟอาจมีประโยชน์ แต่คุณไม่จำเป็นต้องมีประสบการณ์มาก่อนเพื่อทำความเข้าใจแนวคิดหรือทำตาม

2. ทำความเข้าใจ GraphRAG และระบบหลายเอเจนต์

ก่อนที่จะลงมือติดตั้งใช้งาน มาทำความเข้าใจแนวคิดหลักที่ขับเคลื่อนระบบนี้กันก่อน

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

Neo4j ใช้โมเดลกราฟแทนการจัดระเบียบข้อมูลในแถวและตารางเหมือนกับฐานข้อมูลเชิงสัมพันธ์ โดยจะแสดงข้อมูลเป็นโหนด (เอนทิตี) และความสัมพันธ์ (การเชื่อมต่อระหว่างเอนทิตีเหล่านั้น) โมเดลนี้ช่วยให้การทำงานกับข้อมูลที่เชื่อมโยงกันโดยธรรมชาติเป็นไปอย่างง่ายดาย เช่น บุคคล สถานที่ ผลิตภัณฑ์ หรือในกรณีของเราคือภาพยนตร์ นักแสดง และประเภท

เช่น ในชุดข้อมูลภาพยนตร์

  • โหนดอาจแสดงถึง Movie, Actor หรือ Director
  • ความสัมพันธ์อาจเป็น ACTED_IN หรือ DIRECTED

b340d5e06fac5f47.jpeg

โครงสร้างนี้ช่วยให้คุณถามคำถามต่างๆ ได้อย่างง่ายดาย เช่น

  • นักแสดงคนนี้เคยแสดงในภาพยนตร์เรื่องใดบ้าง
  • ใครเคยร่วมงานกับคริสโตเฟอร์ โนแลนบ้าง
  • ภาพยนตร์ที่คล้ายกันซึ่งอิงตามนักแสดงหรือประเภทที่ใช้ร่วมกันคืออะไร

GraphRAG คืออะไร

การสร้างแบบดึงข้อมูลเสริม (RAG) จะช่วยเพิ่มประสิทธิภาพการตอบกลับของ LLM โดยการดึงข้อมูลที่เกี่ยวข้องจากแหล่งข้อมูลภายนอก โดยทั่วไปแล้ว RAG แบบดั้งเดิมจะมีลักษณะดังนี้

  1. ฝังเอกสารลงในเวกเตอร์
  2. ค้นหาเวกเตอร์ที่คล้ายกัน
  3. ส่งเอกสารที่ดึงข้อมูลมาให้ LLM

GraphRAG ขยายการทำงานนี้โดยใช้กราฟความรู้ ดังนี้

  1. ฝังเอนทิตีและความสัมพันธ์
  2. สำรวจการเชื่อมต่อกราฟ
  3. เรียกข้อมูลตามบริบทแบบหลายทอด
  4. ให้ผลลัพธ์ที่มีโครงสร้างและอธิบายได้

เหตุใดจึงต้องใช้กราฟสำหรับเอเจนต์ AI

ลองพิจารณาคำถามนี้ "คู่แข่งของ YouTube คือใคร และนักลงทุนรายใดที่ให้เงินทุนแก่ทั้ง YouTube และคู่แข่ง"

สิ่งที่เกิดขึ้นในแนวทาง RAG แบบดั้งเดิม

  • การค้นหาเอกสารเกี่ยวกับคู่แข่งของ YouTube
  • ค้นหาข้อมูลนักลงทุนแยกกัน
  • การเชื่อมโยงข้อมูล 2 ส่วนนี้
  • อาจพลาดความสัมพันธ์โดยนัย

สิ่งที่เกิดขึ้นในแนวทาง GraphRAG

MATCH (youtube:Company {name: "YouTube"})-[:COMPETES_WITH]->(competitor:Company)
MATCH (investor:Investor)-[:INVESTED_IN]->(youtube)
MATCH (investor)-[:INVESTED_IN]->(competitor)
RETURN youtube, competitor, investor

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

ระบบหลายเอเจนต์ใน ADK

ชุดพัฒนาเอเจนต์ (ADK) คือเฟรมเวิร์กโอเพนซอร์สของ Google สำหรับสร้างและติดตั้งใช้งานเอเจนต์ AI ระดับโปรดักชัน โดยมีองค์ประกอบพื้นฐานที่ใช้งานง่ายสำหรับการจัดการหลายเอเจนต์ การผสานรวมเครื่องมือ และการจัดการเวิร์กโฟลว์ ซึ่งช่วยให้สร้างเอเจนต์เฉพาะทางเป็นระบบที่ซับซ้อนได้อย่างง่ายดาย ADK ทำงานร่วมกับ Gemini ได้อย่างราบรื่นและรองรับการติดตั้งใช้งานใน Cloud Run, Kubernetes หรือโครงสร้างพื้นฐานใดก็ได้

ชุดพัฒนาเอเจนต์ (ADK) มีองค์ประกอบพื้นฐานสำหรับการสร้างระบบแบบหลายเอเจนต์ ดังนี้

  1. ลำดับชั้นของตัวแทน
# Root agent coordinates specialized agents
root_agent = LlmAgent(
    name="RootAgent",
    sub_agents=[
        graph_db_agent,
        investor_agent,
        investment_agent
    ]
)
  1. ตัวแทนเฉพาะทาง: ตัวแทนแต่ละรายมี
  • เครื่องมือที่เฉพาะเจาะจง: ฟังก์ชันที่เรียกใช้ได้
  • คำสั่งที่ชัดเจน: บทบาทและความสามารถ
  • ความเชี่ยวชาญเฉพาะด้าน: ความรู้ในสาขาของตน
  1. รูปแบบการประสานงาน
  • ตามลำดับ: เรียกใช้ Agent ตามลำดับ
  • ขนานกัน: เรียกใช้เอเจนต์หลายตัวพร้อมกัน
  • มีเงื่อนไข: กำหนดเส้นทางตามประเภทการค้นหา

กล่องเครื่องมือ MCP สำหรับฐานข้อมูล

Model Context Protocol (MCP) เป็นมาตรฐานแบบเปิดสำหรับการเชื่อมต่อระบบ AI กับแหล่งข้อมูลและเครื่องมือภายนอก กล่องเครื่องมือ MCP สำหรับฐานข้อมูลคือการติดตั้งใช้งานของ Google ที่ช่วยให้จัดการการค้นหาฐานข้อมูลแบบประกาศได้ ซึ่งช่วยให้คุณกำหนดการค้นหาที่เขียนโดยผู้เชี่ยวชาญและตรวจสอบแล้วล่วงหน้าเป็นเครื่องมือที่นำกลับมาใช้ใหม่ได้ MCP Toolbox จะแสดงคำค้นหาที่ได้รับอนุมัติล่วงหน้าพร้อมการตรวจสอบพารามิเตอร์แทนที่จะปล่อยให้ LLM สร้างคำค้นหาที่อาจไม่ปลอดภัย เพื่อให้มั่นใจถึงความปลอดภัย ประสิทธิภาพ และความน่าเชื่อถือ ในขณะที่ยังคงความยืดหยุ่นสำหรับเอเจนต์ AI

แนวทางแบบเดิม

# LLM generates query (may be incorrect/unsafe)
query = llm.generate("SELECT * FROM users WHERE...")
db.execute(query)  # Risk of errors/SQL injection

แนวทาง MCP:

# Pre-validated query definition
- name: get_industries
  description: Fetch all industries from database
  query: |
    MATCH (i:Industry)
    RETURN i.name, i.id

ข้อดี

  • ผ่านการตรวจสอบเบื้องต้นโดยผู้เชี่ยวชาญ
  • ปลอดภัยจากการโจมตีแบบแทรกโค้ด
  • เพิ่มประสิทธิภาพแล้ว
  • จัดการจากส่วนกลาง
  • ใช้ซ้ำได้ใน Agent ต่างๆ

การรวมทั้งหมดเข้าด้วยกัน

การรวมกันของ GraphRAG + Multi-Agent Framework โดย ADK + MCP จะสร้างระบบที่มีประสิทธิภาพ ดังนี้

  1. Root Agent ได้รับคำค้นหาของผู้ใช้
  2. กำหนดเส้นทางไปยังตัวแทนผู้เชี่ยวชาญตามประเภทคำค้นหา
  3. Agent ใช้เครื่องมือ MCP เพื่อดึงข้อมูลอย่างปลอดภัย
  4. โครงสร้างกราฟให้บริบทที่สมบูรณ์
  5. LLM สร้างคำตอบที่อิงตามข้อมูลและอธิบายได้

เมื่อเข้าใจสถาปัตยกรรมแล้ว เรามาเริ่มสร้างกันเลย

3. ตั้งค่าโปรเจ็กต์ Google Cloud

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

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

รูปภาพปุ่มเปิดใช้งาน Cloud Shell

  1. เมื่อเชื่อมต่อกับ Cloud Shell แล้ว ให้ตรวจสอบว่าคุณได้รับการตรวจสอบสิทธิ์แล้วและตั้งค่าโปรเจ็กต์เป็นรหัสโปรเจ็กต์โดยใช้คำสั่งต่อไปนี้
gcloud auth list
  1. เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell เพื่อยืนยันว่าคำสั่ง gcloud รู้จักโปรเจ็กต์ของคุณ
gcloud config list project
  1. หากไม่ได้ตั้งค่าโปรเจ็กต์ ให้ใช้คำสั่งต่อไปนี้เพื่อตั้งค่า
gcloud config set project <YOUR_PROJECT_ID>

โปรดดูคำสั่งและการใช้งาน gcloud ในเอกสารประกอบ

เยี่ยม ตอนนี้เราพร้อมที่จะไปยังขั้นตอนถัดไปแล้ว นั่นคือการทำความเข้าใจชุดข้อมูล

4. ทำความเข้าใจชุดข้อมูลบริษัท

สำหรับ Codelab นี้ เราจะใช้ฐานข้อมูล Neo4j แบบอ่านอย่างเดียวที่ป้อนข้อมูลการลงทุนและบริษัทจากกราฟความรู้ของ Diffbot ไว้ล่วงหน้า

ชุดข้อมูลประกอบด้วย

  • โหนด 237,358 รายการที่แสดงถึง
  • องค์กร (บริษัท)
  • ผู้คน (ผู้บริหาร พนักงาน)
  • บทความ (ข่าวและการกล่าวถึง)
  • อุตสาหกรรม
  • เทคโนโลยี
  • นักลงทุน
  • ความสัมพันธ์ซึ่งรวมถึง
  • INVESTED_IN - การเชื่อมต่อการลงทุน
  • COMPETES_WITH - ความสัมพันธ์เชิงแข่งขัน
  • MENTIONS - การอ้างอิงบทความ
  • WORKS_AT - ความสัมพันธ์ในการจ้างงาน
  • IN_INDUSTRY - การจัดประเภทอุตสาหกรรม

5c5fee2a9823601f.jpeg

เข้าถึงฐานข้อมูลสาธิต

สำหรับ Codelab นี้ เราจะใช้อินสแตนซ์สาธิตที่โฮสต์ เพิ่มข้อมูลรับรองต่อไปนี้ลงในโน้ต

URI: neo4j+s://demo.neo4jlabs.com
Username: companies
Password: companies
Database: companies

การเข้าถึงเบราว์เซอร์:

คุณสามารถสำรวจข้อมูลแบบภาพได้ที่ https://demo.neo4jlabs.com:7473

เข้าสู่ระบบด้วยข้อมูลเข้าสู่ระบบเดียวกัน แล้วลองเรียกใช้คำสั่งต่อไปนี้

// Sample query to explore the graph
MATCH (o:Organization)-[:HAS_COMPETITOR]->(competitor:Organization)
RETURN o.name, competitor.name
LIMIT 10

การแสดงโครงสร้างกราฟเป็นภาพ

ลองใช้การค้นหานี้ใน Neo4j Browser เพื่อดูรูปแบบความสัมพันธ์

// Find investors and their portfolio companies
MATCH (investor:Organization)-[:HAS_INVESTOR]->(company:Organization)
WITH investor, collect(company.name) as portfolio
RETURN investor.name, size(portfolio) as num_investments, portfolio
ORDER BY num_investments DESC
LIMIT 5

คําค้นหานี้จะแสดงนักลงทุนที่ใช้งานมากที่สุด 5 อันดับแรกและพอร์ตโฟลิโอของนักลงทุนเหล่านั้น

เหตุใดจึงควรใช้ฐานข้อมูลนี้สำหรับ GraphRAG

ชุดข้อมูลนี้เหมาะอย่างยิ่งสำหรับการสาธิต GraphRAG เนื่องจาก

  1. ความสัมพันธ์ที่ซับซ้อน: การเชื่อมต่อที่ซับซ้อนระหว่างเอนทิตี
  2. ข้อมูลในโลกแห่งความเป็นจริง: บริษัท บุคคล และบทความข่าวจริง
  3. การค้นหาแบบหลายขั้นตอน: ต้องมีการข้ามประเภทความสัมพันธ์หลายประเภท
  4. ข้อมูลตามเวลา: บทความที่มีการประทับเวลาสำหรับการวิเคราะห์ตามเวลา
  5. การวิเคราะห์ความเห็น: คะแนนความเห็นที่คำนวณไว้ล่วงหน้าสำหรับบทความ

เมื่อคุณเข้าใจโครงสร้างข้อมูลแล้ว ตอนนี้มาตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์กัน

5. โคลนที่เก็บและกำหนดค่าสภาพแวดล้อม

โคลนที่เก็บ

ในเทอร์มินัล Cloud Shell ให้เรียกใช้คำสั่งต่อไปนี้

# Clone the repository
git clone https://github.com/sidagarwal04/neo4j-adk-multiagents.git

# Navigate into the directory
cd neo4j-adk-multiagents

สำรวจโครงสร้างที่เก็บ

โปรดสละเวลาสักครู่เพื่อทำความเข้าใจเลย์เอาต์ของโปรเจ็กต์

neo4j-adk-multiagents/
├── investment_agent/       # Main agent code
   ├── agent.py           # Agent definitions
   ├── tools.py           # Custom tool functions
   └── .adk/              # ADK configuration
       └── tools.yaml     # MCP tool definitions
├── main.py                # Application entry point
├── setup_tools_yaml.py    # Configuration generator
├── requirements.txt       # Python dependencies
├── example.env           # Environment template
└── README.md             # Project documentation

ตั้งค่าสภาพแวดล้อมเสมือน

ก่อนสร้างและเปิดใช้งานสภาพแวดล้อมเสมือนของ Python โปรดตรวจสอบว่าคุณได้ติดตั้งแพ็กเกจ uv ในระบบแล้ว

# Install uv if not already installed
pip install uv

สร้างและเปิดใช้งานสภาพแวดล้อมเสมือนของ Python โดยใช้ uv

# Create virtual environment
uv venv

# Activate the environment
source .venv/bin/activate  # On macOS/Linux
# or
.venv\Scripts\activate  # On Windows

คุณควรเห็น (.venv) นำหน้าพรอมต์ของเทอร์มินัล

ติดตั้งการอ้างอิง

ติดตั้งแพ็กเกจที่จำเป็นทั้งหมด

uv pip install -r requirements.txt

การขึ้นต่อกันที่สำคัญมีดังนี้

google-adk>=1.21.0          # Agent Development Kit
neo4j>=6.0.3               # Neo4j Python driver
python-dotenv>=1.0.0       # Environment variables

กำหนดค่าตัวแปรสภาพแวดล้อม

  1. สร้างไฟล์ .env โดยทำดังนี้
cp example.env .env
  1. แก้ไขไฟล์ .env

หากใช้ Cloud Shell ให้คลิก "เปิดตัวแก้ไข" ในแถบเครื่องมือ แล้วไปที่ .env และอัปเดตดังนี้

# Neo4j Configuration (Demo Database)
NEO4J_URI=neo4j+ssc://demo.neo4jlabs.com
NEO4J_USERNAME=companies
NEO4J_PASSWORD=companies
NEO4J_DATABASE=companies

# Google AI Configuration
# Choose ONE of the following options:

# Option 1: Google AI API (Recommended)
GOOGLE_GENAI_USE_VERTEXAI=0
GOOGLE_API_KEY=your_api_key_here  # Get from https://aistudio.google.com/app/apikey

# Option 2: Vertex AI (If using GCP)
# GOOGLE_GENAI_USE_VERTEXAI=1
# GOOGLE_CLOUD_PROJECT=your-project-id
# GOOGLE_CLOUD_LOCATION=us-central1

# ADK Configuration
GOOGLE_ADK_MODEL=gemini-3-pro-preview  # or gemini-3-flash-preview

# MCP Toolbox Configuration
MCP_TOOLBOX_URL=https://toolbox-990868019953.us-central1.run.app/mcp/sse
  1. การกำหนดค่ากล่องเครื่องมือ MCP (กำหนดค่าไว้ล่วงหน้าแล้ว จึงไม่จำเป็นต้องเรียกใช้)

ใน Lab นี้ ระบบได้โฮสต์และกำหนดค่า MCP Toolbox ไว้ล่วงหน้าแล้ว คุณจึงไม่จำเป็นต้องสร้างหรือจัดการไฟล์ tools.yaml ในเครื่อง

โดยปกติแล้ว คุณจะเรียกใช้คำสั่งต่อไปนี้เพื่อสร้าง tools.yaml จากตัวแปรสภาพแวดล้อมหลังจากอัปเดต investment_agent/.adk/tools.yaml.template ตามต้องการ

python setup_tools_yaml.py

ซึ่งจะสร้าง investment_agent/.adk/tools.yaml โดยกำหนดค่าข้อมูลเข้าสู่ระบบ Neo4j อย่างถูกต้องสำหรับ MCP Toolbox

คุณจะเรียกใช้สคริปต์ด้านบนได้ก็ต่อเมื่อ

  • คุณโฮสต์กล่องเครื่องมือ MCP ด้วยตนเอง
  • คุณกำลังเชื่อมต่อกับฐานข้อมูลหรือชุดข้อมูล Neo4j อื่น
  • คุณต้องการกำหนดเครื่องมือหรือข้อมูลเข้าสู่ระบบที่กำหนดเอง

ในกรณีดังกล่าว คุณจะต้องอัปเดต URL ของ MCP Toolbox และการกำหนดค่า tools.yaml ตามนั้น

ยืนยันการกำหนดค่า

ตรวจสอบว่าได้ตั้งค่าทุกอย่างอย่างถูกต้องแล้ว

# Verify .env file exists
ls -la .env

# Verify tools.yaml was generated
ls -la investment_agent/.adk/tools.yaml

# Test Python environment
python -c "import google.adk; print('ADK installed successfully')"

# Test Neo4j connection
python -c "from neo4j import GraphDatabase; print('Neo4j driver installed')"

ตอนนี้สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ได้รับการกำหนดค่าอย่างสมบูรณ์แล้ว จากนั้นเราจะเจาะลึกสถาปัตยกรรมแบบหลายเอเจนต์

6. ทำความเข้าใจสถาปัตยกรรมแบบหลายเอเจนต์

ระบบตัวแทน 4 คน

ระบบการวิจัยการลงทุนของเราใช้สถาปัตยกรรมแบบหลายเอเจนต์แบบลำดับชั้น โดยมีเอเจนต์เฉพาะทาง 4 รายทำงานร่วมกันเพื่อตอบคำค้นหาที่ซับซ้อนเกี่ยวกับบริษัท นักลงทุน และข้อมูลเชิงลึกของตลาด

                ┌──────────────┐
                │  Root Agent  │ ◄── User Query
                └──────┬───────┘
                       │
      ┌────────────────┼────────────────┐
      │                │                │
┌─────▼─────┐     ┌────▼─────┐     ┌────▼──────────┐
│ Graph DB  │     │ Investor │     │  Investment   │
│  Agent    │     │ Research │     │  Research     │
└───────────┘     │  Agent   │     │  Agent        │
                  └──────────┘     └───────────────┘
  1. Root Agent (Orchestrator):

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

  1. Graph Database Agent:

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

  1. ตัวแทนวิจัยนักลงทุน:

ตัวแทนวิจัยนักลงทุนมุ่งเน้นเฉพาะความสัมพันธ์ด้านการลงทุนและการวิเคราะห์พอร์ตโฟลิโอ โดยสามารถค้นหาผู้ที่ลงทุนในบริษัทที่เฉพาะเจาะจงได้โดยใช้การจับคู่ชื่อที่ตรงกัน เรียกดูพอร์ตโฟลิโอการลงทุนที่สมบูรณ์ซึ่งแสดงการลงทุนทั้งหมด และวิเคราะห์รูปแบบการลงทุนในอุตสาหกรรมต่างๆ ความเชี่ยวชาญนี้ทำให้โมเดลมีประสิทธิภาพอย่างยิ่งในการตอบคำถาม เช่น "ใครลงทุนใน ByteDance" หรือ "Sequoia Capital ลงทุนในอะไรอีก" เอเจนต์ใช้ฟังก์ชัน Python ที่กำหนดเองซึ่งจะค้นหาฐานข้อมูล Neo4j โดยตรงเพื่อหาความสัมพันธ์ที่เกี่ยวข้องกับนักลงทุน

  1. ตัวแทนวิจัยการลงทุน:

Investment Research Agent ใช้ประโยชน์จากกล่องเครื่องมือ Model Context Protocol (MCP) เพื่อเข้าถึงคำค้นหาที่ผ่านการตรวจสอบล่วงหน้าและเขียนโดยผู้เชี่ยวชาญ โดยสามารถดึงข้อมูลอุตสาหกรรมทั้งหมดที่มี เรียกข้อมูลบริษัทภายในอุตสาหกรรมที่เฉพาะเจาะจง ค้นหาบทความที่มีการวิเคราะห์ความรู้สึก ค้นพบการกล่าวถึงองค์กรในข่าว และรับข้อมูลเกี่ยวกับผู้ที่ทำงานในบริษัท ต่างจาก Graph Database Agent ที่สร้างการค้นหาแบบไดนามิก เอเจนต์นี้ใช้การค้นหาที่ปลอดภัย มีการเพิ่มประสิทธิภาพ กำหนดไว้ล่วงหน้า ซึ่งได้รับการจัดการและตรวจสอบจากส่วนกลาง ซึ่งทำให้ทั้งปลอดภัยและมีประสิทธิภาพสำหรับเวิร์กโฟลว์การวิจัยทั่วไป

7. การเรียกใช้และการทดสอบระบบหลายเอเจนต์

เปิดแอปพลิเคชัน

เมื่อคุณเข้าใจสถาปัตยกรรมแล้ว เรามาเรียกใช้ระบบทั้งหมดและโต้ตอบกับระบบกัน

เริ่มใช้อินเทอร์เฟซเว็บของ ADK

# Make sure you're in the project directory with activated virtual environment
cd ~/neo4j-adk-multiagents
source .venv/bin/activate  # If not already activated
# Launch the application
uv run adk web

คุณควรเห็นเอาต์พุตที่คล้ายกับตัวอย่างต่อไปนี้

INFO:     Started server process [2542]
INFO:     Waiting for application startup.

+----------------------------------------------------------------+
| ADK Web Server started                                         |
|                                                                |
| For local testing, access at http://127.0.0.1:8000.            |
+----------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

เมื่อเห็นว่าเซิร์ฟเวอร์เริ่มทำงานเรียบร้อยแล้ว ให้เปิดเบราว์เซอร์แล้วไปที่ http://127.0.0.1:8000 เพื่อเข้าถึงแอปพลิเคชัน

การค้นหาทดสอบและลักษณะการทำงานที่คาดไว้

มาดูความสามารถของระบบด้วยคำถามที่ซับซ้อนขึ้นเรื่อยๆ กัน

การค้นหาพื้นฐาน (ตัวแทนรายเดียว)

คำค้นหา 1: ค้นพบอุตสาหกรรม

What industries are available in the database?

ลักษณะการทำงานที่คาดไว้

  • Root Agent จะกำหนดเส้นทางไปยัง Investment Research Agent
  • ใช้เครื่องมือ MCP: get_industries()
  • แสดงผลรายการอุตสาหกรรมทั้งหมดในรูปแบบ

สิ่งที่ควรสังเกต

ใน UI ของ ADK ให้ขยายรายละเอียดการดำเนินการเพื่อดูข้อมูลต่อไปนี้

  • การตัดสินใจเลือกตัวแทน
  • การเรียกใช้เครื่องมือ: get_industries()
  • ผลลัพธ์ดิบจาก Neo4j
  • คำตอบที่จัดรูปแบบ

คำค้นหา 2: ค้นหานักลงทุน

Who invested in ByteDance?

ลักษณะการทำงานที่คาดไว้

  • ตัวแทนรูทระบุว่านี่คือคำถามที่เกี่ยวข้องกับนักลงทุน
  • เส้นทางไปยังตัวแทนวิจัยด้านการลงทุน
  • ใช้เครื่องมือ: find_investor_by_name("ByteDance")
  • แสดงผู้ลงทุนพร้อมประเภท (บุคคล/องค์กร)

สิ่งที่จะเกิดขึ้น

  • รายชื่อนักลงทุนที่เกี่ยวข้องกับ ByteDance
  • นักลงทุนแต่ละรายจะแสดงพร้อมชื่อและประเภทนิติบุคคล (บุคคลหรือองค์กร)
  • สรุปผลลัพธ์ที่กระชับและมนุษย์อ่านได้
  • พรอมต์ติดตามผลที่เสนอให้สำรวจการลงทุนหรือพอร์ตโฟลิโอของนักลงทุนที่เกี่ยวข้อง (อาจเป็น)

คำค้นหาที่ 3: บริษัทตามอุตสาหกรรม

Show me companies in the Artificial Intelligence industry

ลักษณะการทำงานที่คาดไว้

  • Root Agent จะกำหนดเส้นทางไปยัง Investment Research Agent
  • ใช้เครื่องมือ MCP: get_companies_in_industry("Artificial Intelligence")
  • แสดงรายการบริษัท AI พร้อมรหัสและวันที่ก่อตั้ง

สิ่งที่ควรสังเกต

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

คำถามระดับกลาง (หลายขั้นตอนภายในเอเจนต์เดียว)

คำค้นหาที่ 4: การวิเคราะห์ความรู้สึก

Find articles with positive sentiment from January 2023

ลักษณะการทำงานที่คาดไว้

  • เส้นทางไปยัง Investment Research Agent
  • ใช้เครื่องมือ MCP: get_articles_with_sentiment(0.7, 2023, 1)
  • แสดงบทความที่มีชื่อ คะแนนความรู้สึก และวันที่ตีพิมพ์

เคล็ดลับการแก้ไขข้อบกพร่อง:

ดูพารามิเตอร์การเรียกใช้เครื่องมือ

  • min_sentiment: 0.7 (เอเจนต์ตีความ "เป็นบวก" เป็น >= 0.7)
  • year: 2023
  • month: 1

คำค้นหา 5: การค้นหาฐานข้อมูลที่ซับซ้อน

How many companies are in the database?

ลักษณะการทำงานที่คาดไว้

  • Root Agent จะกำหนดเส้นทางไปยัง Graph Database Agent
  • ตัวแทนโทรหา get_neo4j_schema() ก่อนเพื่อทำความเข้าใจโครงสร้าง
  • สร้าง Cypher: MATCH (c:Company) RETURN count(c)
  • เรียกใช้การค้นหาและแสดงผลจำนวน

คำตอบที่คาดไว้:

There are 46,088 companies in the database.

การสืบค้นขั้นสูง (การประสานงานแบบหลายเอเจนต์)

คำค้นหาที่ 6: การวิเคราะห์พอร์ตโฟลิโอ

Who invested in ByteDance and what else have they invested in?

ลักษณะการทำงานที่คาดไว้

นี่คือคำค้นหา 2 ส่วนที่ต้องมีการประสานงานกับตัวแทน

  • ขั้นตอนที่ 1: ตัวแทนรูท → ตัวแทนค้นคว้านักลงทุน
  • การโทร find_investor_by_name("ByteDance")
  • Gets investor list: [Rong Yue, Wendi Murdoch]
  • ขั้นตอนที่ 2: สำหรับนักลงทุนแต่ละราย → ตัวแทนวิจัยนักลงทุน
  • การโทร find_investor_by_id(investor_id)
  • ดึงข้อมูลพอร์ตโฟลิโอทั้งหมด
  • ขั้นตอนที่ 3: Root Agent รวบรวมและจัดรูปแบบ

สิ่งที่จะเกิดขึ้น

  • รายชื่อนักลงทุนที่ลงทุนใน ByteDance
  • สำหรับนักลงทุนแต่ละราย
  • ชื่อและประเภทนิติบุคคล (บุคคลหรือองค์กร)
  • รายชื่อบริษัทอื่นๆ ที่บุคคลนั้นลงทุนด้วย โดยอิงตามข้อมูลที่มี
  • สรุปที่มีโครงสร้างและอ่านง่ายซึ่งจัดกลุ่มตามนักลงทุน

สิ่งที่ควรสังเกต

  • การเรียกใช้เครื่องมือหลายรายการตามลำดับ
  • คงบริบทไว้ระหว่างขั้นตอน
  • ผลลัพธ์ที่รวบรวมอย่างชาญฉลาด

คำค้นหา 7: การวิจัยแบบหลายโดเมน

What are 5 AI companies mentioned in positive articles, and who are their CEOs?

ลักษณะการทำงานที่คาดไว้

คำค้นหาที่ซับซ้อนนี้ต้องใช้ตัวแทนและเครื่องมือหลายอย่าง ดังนี้

  • ขั้นตอนที่ 1: ตัวแทนค้นคว้าข้อมูลการลงทุน
  • get_companies_in_industry("Artificial Intelligence")
  • แสดงรายการบริษัท AI
  • ขั้นตอนที่ 2: ตัวแทนวิจัยการลงทุน
  • get_articles_with_sentiment(0.8)
  • แสดงบทความเชิงบวก
  • ขั้นตอนที่ 3: ตัวกรองของเอเจนต์รูท
  • ระบุบริษัท AI ที่ปรากฏในบทความเชิงบวก
  • เลือก 5 อันดับแรก
  • ขั้นตอนที่ 4: ตัวแทนด้านการวิจัยการลงทุน
  • get_people_in_organizations([company_names], "CEO")
  • ข้อมูล CEO ของการคืนสินค้า
  • ขั้นตอนที่ 5: ตัวแทนรูทจัดรูปแบบคำตอบ

สิ่งที่จะเกิดขึ้น

  • รายชื่อบริษัท 5 แห่งในอุตสาหกรรมปัญญาประดิษฐ์
  • เฉพาะบริษัทที่ปรากฏในบทความที่ได้คะแนนเชิงบวก
  • สำหรับแต่ละบริษัท
  • ชื่อบริษัท
  • อุตสาหกรรม
  • ชื่อ CEO
  • คะแนนความรู้สึกรวมหรือคะแนนความรู้สึกที่เป็นตัวแทน

สิ่งที่ควรสังเกต

  • การเรียกใช้เครื่องมือหลายรายการในเอเจนต์ต่างๆ
  • ตรรกะการกรองและการรวมข้อมูล

คำถามที่ 8: การวิเคราะห์คู่แข่ง

Who are YouTube's main competitors?

ลักษณะการทำงานที่คาดไว้

  • Root Agent จะกำหนดเส้นทางไปยัง Graph Database Agent (การค้นหาความสัมพันธ์)
  • Agent สร้าง Cypher ที่ได้รับการปรับปรุงด้วย GraphRAG ดังนี้
MATCH (c:Company {name: "YouTube"})-[:COMPETES_WITH]->(competitor)
RETURN competitor.name as competitor_name
  • แสดงรายการบริษัทคู่แข่ง

คำตอบที่คาดไว้:

YouTube's main competitors are:

- TikTok (ByteDance)
- Dailymotion
- Twitter
- BuzzFeed
- Mixer
- OpenAI (for video content)

คำค้นหาติดตามผลแบบ Context-Aware

คำค้นหา 9: คำถามติดตามผล (หลังจากคำค้นหา 8)

Which investors funded both YouTube and its competitors?

ลักษณะการทำงานที่คาดไว้

  • Root Agent จะจดจำบริบทก่อนหน้า (YouTube และคู่แข่ง)
  • เส้นทางไปยังตัวแทนวิจัยด้านการลงทุน
  • สำหรับ YouTube และคู่แข่งแต่ละราย ให้หาผู้ลงทุน
  • ระบุนักลงทุนที่ปรากฏในหลายบริษัท

สิ่งที่จะเกิดขึ้น

  • ระบบใช้บริบทการสนทนาที่มีอยู่ (YouTube และคู่แข่ง)
  • รายชื่อนักลงทุนที่ลงทุนในบริษัทมากกว่า 1 แห่งในกลุ่มการแข่งขันนี้
  • สำหรับนักลงทุนแต่ละราย
  • ชื่อนักลงทุน
  • รายการบริษัทที่เกี่ยวข้องซึ่งพวกเขาลงทุน
  • สรุปสั้นๆ ที่ตีความโดยเน้นการทับซ้อนหรือรูปแบบเชิงกลยุทธ์ (อาจ)

คำค้นหา 10: สรุปการวิจัย

Summarize our research findings so far

ลักษณะการทำงานที่คาดไว้

  • Root Agent ตรวจสอบประวัติการสนทนา
  • สังเคราะห์ผลลัพธ์สำคัญจากคำค้นหาก่อนหน้า
  • ให้ข้อมูลสรุปที่สอดคล้องกัน

สิ่งที่จะเกิดขึ้น

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

ทำความเข้าใจการโต้ตอบของเอเจนต์ในมุมมองการแก้ไขข้อบกพร่อง

อินเทอร์เฟซเว็บของ ADK จะให้การมองเห็นการดำเนินการโดยละเอียด สิ่งที่คุณควรตรวจสอบมีดังนี้

  1. ลำดับเวลาของเหตุการณ์

แสดงลำดับเวลา

[USER] Query received
[ROOT_AGENT] Analyzing query intent
[ROOT_AGENT] Routing to investment_research_agent
[INVESTMENT_RESEARCH_AGENT] Tool call: get_companies_in_industry
[TOOL] Executing with params: {"industry_name": "Artificial Intelligence"}
[TOOL] Returned 47 results
[INVESTMENT_RESEARCH_AGENT] Formatting response
[ROOT_AGENT] Presenting to user
  1. รายละเอียดการเรียกใช้เครื่องมือ

คลิกการเรียกใช้เครื่องมือเพื่อดูข้อมูลต่อไปนี้

  • ชื่อฟังก์ชัน
  • พารามิเตอร์อินพุต
  • ค่าที่แสดงผล
  • เวลาดำเนินการ
  • ข้อผิดพลาด
  1. การตัดสินใจของเอเจนต์

สังเกตการให้เหตุผลของ LLM

  • เหตุผลที่เลือกเอเจนต์รายใดรายหนึ่ง
  • วิธีที่ระบบตีความคำค้นหา
  • เครื่องมือที่พิจารณา
  • เหตุผลที่จัดรูปแบบผลลัพธ์ในลักษณะหนึ่งๆ

การสังเกตการณ์และข้อมูลเชิงลึกที่พบบ่อย

รูปแบบการกำหนดเส้นทางการค้นหา:

  • คีย์เวิร์ด เช่น "นักลงทุน" "ลงทุน" → ตัวแทนการวิจัยนักลงทุน
  • คีย์เวิร์ด เช่น "อุตสาหกรรม" "บริษัท" "บทความ" → ตัวแทนการวิจัยการลงทุน
  • การรวบรวม การนับ ตรรกะที่ซับซ้อน → Graph Database Agent

หมายเหตุเกี่ยวกับประสิทธิภาพ:

  • โดยปกติแล้วเครื่องมือ MCP จะเร็วกว่า (การค้นหาที่เพิ่มประสิทธิภาพไว้ล่วงหน้า)
  • การสร้าง Cypher ที่ซับซ้อนจะใช้เวลานานกว่า (เวลาที่ LLM ใช้คิด)
  • การเรียกใช้เครื่องมือหลายรายการจะเพิ่มเวลาในการตอบสนอง แต่ให้ผลลัพธ์ที่สมบูรณ์ยิ่งขึ้น

การจัดการข้อผิดพลาด:

หากการค้นหาล้มเหลว ให้ทำดังนี้

  • ตัวแทนอธิบายข้อผิดพลาดที่เกิดขึ้น
  • แนะนำการแก้ไข (เช่น "ไม่พบชื่อบริษัท โปรดตรวจสอบการสะกด")
  • อาจลองใช้วิธีอื่น

เคล็ดลับในการทดสอบที่มีประสิทธิภาพ

  1. เริ่มจากง่ายๆ: ทดสอบฟังก์ชันหลักของเอเจนต์แต่ละรายก่อนที่จะใช้คำค้นหาที่ซับซ้อน
  2. ใช้คำถามติดตามผล: ทดสอบการจดจำบริบทด้วยคำถามติดตามผล
  3. สังเกตการกำหนดเส้นทาง: ดูว่าตัวแทนคนใดจัดการคำถามแต่ละรายการเพื่อทำความเข้าใจตรรกะ
  4. ตรวจสอบการเรียกใช้เครื่องมือ: ตรวจสอบว่าระบบดึงพารามิเตอร์จากภาษาธรรมชาติได้อย่างถูกต้อง
  5. ทดสอบกรณีสุดโต่ง: ลองใช้คำค้นหาที่คลุมเครือ คำที่สะกดผิด หรือคำขอที่ผิดปกติ

ตอนนี้คุณมีระบบ GraphRAG แบบหลายเอเจนต์ที่ทำงานได้อย่างเต็มรูปแบบแล้ว ทดลองใช้คำถามของคุณเองเพื่อสำรวจความสามารถของโมเดล

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

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

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

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

🎉 ยินดีด้วย คุณสร้างระบบ GraphRAG แบบหลายเอเจนต์คุณภาพระดับโปรดักชันโดยใช้ Agent Development Kit ของ Google, Neo4j และ MCP Toolbox ได้สำเร็จแล้ว

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

ในโค้ดแล็บนี้ คุณได้ทำสิ่งต่อไปนี้

สร้างระบบหลายเอเจนต์โดยใช้ Agent Development Kit (ADK) ของ Google พร้อมการจัดระเบียบแบบลำดับชั้น

ฐานข้อมูลกราฟ Neo4j ที่ผสานรวมเพื่อใช้ประโยชน์จากคำค้นหาที่รับรู้ความสัมพันธ์และการให้เหตุผลแบบหลายขั้นตอน

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

สร้างเอเจนต์เฉพาะทางสำหรับการวิจัยนักลงทุน การวิเคราะห์การลงทุน และการดำเนินการฐานข้อมูลกราฟ

ออกแบบการกำหนดเส้นทางอัจฉริยะที่มอบหมายคำถามไปยังตัวแทนผู้เชี่ยวชาญที่เหมาะสมที่สุดโดยอัตโนมัติ

จัดการประเภทข้อมูลที่ซับซ้อนด้วยการซีเรียลไลซ์ประเภท Neo4j ที่เหมาะสมเพื่อการผสานรวม Python ที่ราบรื่น

ใช้แนวทางปฏิบัติแนะนำในการผลิตสำหรับการออกแบบเอเจนต์ การจัดการข้อผิดพลาด และการแก้ไขข้อบกพร่องของระบบ

ขั้นตอนต่อไปคือ

สถาปัตยกรรม GraphRAG แบบหลายเอเจนต์นี้ไม่ได้จำกัดอยู่แค่การวิจัยด้านการลงทุน แต่ยังขยายไปถึงสิ่งต่อไปนี้ได้ด้วย

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

ไม่ว่าคุณจะมีข้อมูลที่ซับซ้อนและเชื่อมต่อกัน + ความเชี่ยวชาญเฉพาะด้าน + อินเทอร์เฟซภาษาธรรมชาติ ที่ใดก็ตาม การผสมผสานระบบหลายเอเจนต์ ADK + กราฟความรู้ Neo4j + การค้นหาที่ผ่านการตรวจสอบ MCP จะช่วยขับเคลื่อนแอปพลิเคชันอัจฉริยะสำหรับองค์กรในยุคถัดไป

เมื่อ Agent Development Kit และโมเดล Gemini ของ Google พัฒนาต่อไป คุณจะสามารถรวมรูปแบบการให้เหตุผลที่ซับซ้อนยิ่งขึ้น การผสานรวมข้อมูลแบบเรียลไทม์ และความสามารถแบบมัลติโมดัลเพื่อสร้างระบบที่ชาญฉลาดอย่างแท้จริงและรับรู้บริบทได้

สำรวจและสร้างสรรค์ต่อไป แล้วยกระดับแอปพลิเคชันเอเจนต์อัจฉริยะของคุณไปอีกขั้น

สํารวจบทแนะนำเกี่ยวกับกราฟความรู้ภาคปฏิบัติเพิ่มเติมได้ที่ Neo4j GraphAcademy และค้นพบรูปแบบเอเจนต์เพิ่มเติมในที่เก็บตัวอย่าง ADK

🚀 พร้อมสร้างระบบเอเจนต์อัจฉริยะตัวถัดไปแล้วหรือยัง

เอกสารอ้างอิง