การกำหนดเครื่องมือหลายชนิด

การออกแบบระบบ Agentic ด้วย LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

การผสานเครื่องมือหลายชนิด

บอทที่มีเครื่องมือหลายชนิด

   

  • เพิ่มเครื่องมือแบบกำหนดเองหลายชนิด

  • เลือกเครื่องมืออัตโนมัติตามคิวรี

การออกแบบระบบ Agentic ด้วย LangChain

เสริมประสิทธิภาพแชทบอทด้านการศึกษา

ผู้คนกำลังอ่านหนังสือขนาดใหญ่

 

  • ค้นหาเหตุการณ์ทางประวัติศาสตร์

  • ตรวจสอบ palindrome:

     
    • level = level

    • top spot = tops pot

การออกแบบระบบ Agentic ด้วย LangChain

วิธีสร้างเครื่องมือหลายแบบ

 

  • เรียกใช้ LLM

    ค้นหาวันสำคัญในประวัติศาสตร์ด้วยภาษาธรรมชาติ เช่น "5th of November"
      Agent: The 5th of November is famous for the Gunpowder treason and 
      plot...
    
  • โค้ด Python

    ตรวจสอบ palindrome โดยเปรียบเทียบสตริงโดยตรง เช่น string == string[::-1]
      Agent: Yes, "madam" is a palindrome...
    
การออกแบบระบบ Agentic ด้วย LangChain

เครื่องมือค้นหาเหตุการณ์ทางประวัติศาสตร์

# Use a decorator to label the tool and set the input format to string
@tool

def date_checker(date: str) -> str:
"""Provide a list of important historical events for a given date in any format."""
try: # Invoke the LLM to interpret the date and generate historical events answer = llm.invoke(f"List important historical events that occurred on {date}.")
# Return the response return answer.content
# Set an exception block for errors in retrieval except Exception as e: return f"Error retrieving events: {str(e)}"
การออกแบบระบบ Agentic ด้วย LangChain

เครื่องมือตรวจสอบ palindrome

@tool

# Set input format to string def check_palindrome(text: str):
"""Check if a word or phrase is a palindrome."""
# Remove non-alphanumeric characters and convert to lowercase cleaned = ''.join(char.lower() for char in text if char.isalnum())
# Check if the reversed text is the same as original text if cleaned == cleaned[::-1]: return f"The phrase or word '{text}' is a palindrome." else: return f"The phrase or word '{text}' is not a palindrome."
การออกแบบระบบ Agentic ด้วย LangChain

การผูกเครื่องมือหลายชนิดเข้ากับ LLM

# Import modules required for defining tool nodes
from langgraph.prebuilt import ToolNode


# List of tools tools = [wikipedia_tool, date_checker, check_palindrome]
# Pass the tools to the ToolNode() tool_node = ToolNode(tools)
# Bind tools to the LLM model_with_tools = llm.bind_tools(tools)
การออกแบบระบบ Agentic ด้วย LangChain

มาฝึกกันเถอะ!

การออกแบบระบบ Agentic ด้วย LangChain

Preparing Video For Download...