Skip to content

Latest commit

 

History

History
93 lines (70 loc) · 8.01 KB

File metadata and controls

93 lines (70 loc) · 8.01 KB

📘 โซลูชันการบ้าน: ขยายเซิร์ฟเวอร์ MCP เครื่องคิดเลขของคุณด้วยเครื่องมือหารากที่สอง

ภาพรวม

ในงานนี้ คุณได้เพิ่มฟีเจอร์ให้กับเซิร์ฟเวอร์ MCP เครื่องคิดเลขของคุณด้วยการเพิ่มเครื่องมือใหม่ที่คำนวณหารากที่สองของตัวเลข การเพิ่มนี้ช่วยให้เอเจนต์ AI ของคุณสามารถจัดการกับคำถามทางคณิตศาสตร์ที่ซับซ้อนขึ้น เช่น "หารากที่สองของ 16 คืออะไร?" หรือ "คำนวณ √49" โดยใช้คำสั่งภาษาธรรมชาติ

🛠️ การสร้างเครื่องมือหารากที่สอง

เพื่อเพิ่มฟังก์ชันนี้ คุณได้กำหนดฟังก์ชันเครื่องมือใหม่ในไฟล์ server.py นี่คือตัวอย่างการใช้งาน:

"""
Sample MCP Calculator Server implementation in Python.

This module demonstrates how to create a simple MCP server with calculator tools
that can perform basic arithmetic operations (add, subtract, multiply, divide).
"""

from mcp.server.fastmcp import FastMCP
import math

server = FastMCP("calculator")

@server.tool()
def add(a: float, b: float) -> float:
    """Add two numbers together and return the result."""
    return a + b

@server.tool()
def subtract(a: float, b: float) -> float:
    """Subtract b from a and return the result."""
    return a - b

@server.tool()
def multiply(a: float, b: float) -> float:
    """Multiply two numbers together and return the result."""
    return a * b

@server.tool()
def divide(a: float, b: float) -> float:
    """
    Divide a by b and return the result.
    
    Raises:
        ValueError: If b is zero
    """
    if b == 0:
        raise ValueError("Cannot divide by zero")
    return a / b

@server.tool()
def sqrt(a: float) -> float:
    """
    Return the square root of a.

    Raises:
        ValueError: If a is negative.
    """
    if a < 0:
        raise ValueError("Cannot compute the square root of a negative number.")
    return math.sqrt(a)

🔍 วิธีการทำงาน

  • นำเข้าโมดูล math: เพื่อทำการคำนวณทางคณิตศาสตร์ที่ซับซ้อนกว่าการบวก ลบ คูณ หาร Python มีโมดูลในตัวชื่อ math ซึ่งประกอบด้วยฟังก์ชันและค่าคงที่ทางคณิตศาสตร์มากมาย โดยการนำเข้าโมดูลนี้ด้วย import math คุณจะสามารถใช้ฟังก์ชันอย่าง math.sqrt() ที่ใช้คำนวณหารากที่สองของตัวเลขได้
  • การกำหนดฟังก์ชัน: ตัวตกแต่ง @server.tool() จะลงทะเบียนฟังก์ชัน sqrt ให้เป็นเครื่องมือที่เอเจนต์ AI ของคุณสามารถเรียกใช้งานได้
  • พารามิเตอร์อินพุต: ฟังก์ชันรับอาร์กิวเมนต์เดียวคือ a ซึ่งเป็นชนิด float
  • การจัดการข้อผิดพลาด: หากค่า a เป็นลบ ฟังก์ชันจะโยนข้อผิดพลาด ValueError เพื่อป้องกันการคำนวณหารากที่สองของจำนวนลบ ซึ่ง math.sqrt() ไม่รองรับ
  • ค่าที่ส่งกลับ: สำหรับอินพุตที่ไม่เป็นลบ ฟังก์ชันจะคืนค่ารากที่สองของ a โดยใช้เมธอด math.sqrt() ของ Python

🔄 การรีสตาร์ทเซิร์ฟเวอร์

หลังจากเพิ่มเครื่องมือ sqrt ใหม่แล้ว จำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์ MCP ของคุณเพื่อให้เอเจนต์รับรู้และสามารถใช้งานฟังก์ชันใหม่นี้ได้

💬 ตัวอย่างคำสั่งเพื่อทดสอบเครื่องมือใหม่

นี่คือตัวอย่างคำสั่งภาษาธรรมชาติที่คุณสามารถใช้ทดสอบฟังก์ชันหารากที่สองได้:

  • "หารากที่สองของ 25 คืออะไร?"
  • "คำนวณหารากที่สองของ 81"
  • "หารากที่สองของ 0 คือเท่าไหร่?"
  • "หารากที่สองของ 2.25 คืออะไร?"

คำสั่งเหล่านี้จะกระตุ้นให้เอเจนต์เรียกใช้เครื่องมือ sqrt และส่งผลลัพธ์ที่ถูกต้องกลับมา

✅ สรุป

จากการทำงานนี้ คุณได้:

  • ขยายเซิร์ฟเวอร์ MCP เครื่องคิดเลขของคุณด้วยเครื่องมือ sqrt ใหม่
  • ทำให้เอเจนต์ AI ของคุณสามารถคำนวณหารากที่สองผ่านคำสั่งภาษาธรรมชาติได้
  • ฝึกฝนการเพิ่มเครื่องมือใหม่และการรีสตาร์ทเซิร์ฟเวอร์เพื่อผนวกฟังก์ชันเพิ่มเติม

อย่าลังเลที่จะทดลองเพิ่มเครื่องมือทางคณิตศาสตร์อื่น ๆ เช่น การยกกำลัง หรือฟังก์ชันลอการิทึม เพื่อพัฒนาความสามารถของเอเจนต์ของคุณต่อไป!

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