Bắt đầu ngayBắt đầu miễn phí

Thêm Docstring và Gợi ý Kiểu (Type Hint)

Đến lúc giúp công cụ convert_currency() dễ dùng hơn cho LLM nhờ docstringtype hint. Nếu thiếu chúng, LLM có thể không chọn đúng công cụ để gọi hoặc truyền sai giá trị vào các đối số—cả hai đều dẫn đến hiệu năng ứng dụng không ổn định!

Một máy chủ MCP đã được khởi tạo bằng FastMCP và gán vào mcp.

Bài tập này là một phần của khóa học

Giới thiệu về Model Context Protocol (MCP)

Xem khóa học

Hướng dẫn bài tập

  • Thêm các kiểu phù hợp cho các đối số hàm và đối tượng trả về.
  • Hoàn thiện docstring để ghép ba đối số của hàm với phần định nghĩa tương ứng.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Adding typing to the function arguments and return object
@mcp.tool()
def convert_currency(amount: ____, from_currency: ____, to_currency: ____) -> ____:
    # Complete the docstring with the function arguments
    """
    Convert an amount from one currency to another using current exchange rates.

    Args:
        ____: The amount to convert
        ____: Source currency code (e.g., 'USD', 'EUR', 'GBP')
        ____: Target currency code (e.g., 'USD', 'EUR', 'GBP')

    Returns:
        A string with the conversion result and exchange rate
    """

    url = f"https://api.frankfurter.dev/v1/latest?base={from_currency}&symbols={to_currency}"

    response = requests.get(url)
    data = response.json()
    rate = data['rates'].get(to_currency)

    if rate is None:
        return f"Could not find exchange rate for {from_currency} to {to_currency}"

    converted_amount = amount * rate
    return f"{amount} {from_currency} = {converted_amount:.2f} {to_currency} (Rate: {rate})"

print(convert_currency(amount=100, from_currency="EUR", to_currency="USD"))
Chỉnh sửa và Chạy Mã