Mulai sekarangMulai gratis

Menambahkan Docstring dan Type Hint

Saatnya membuat tool convert_currency() lebih mudah digunakan oleh LLM melalui docstring dan type hint. Tanpa ini, LLM mungkin tidak dapat secara efektif memilih tool mana yang akan dipanggil, atau dapat mengirimkan nilai ke argumen secara keliru—keduanya akan menghasilkan kinerja aplikasi yang tidak andal!

Sebuah server MCP telah diinstansiasi menggunakan FastMCP dan ditetapkan ke mcp.

Latihan ini merupakan bagian dari kursus

Pengantar Model Context Protocol (MCP)

Lihat Kursus

Instruksi latihan

  • Tambahkan tipe yang sesuai pada argumen fungsi dan objek hasil pengembalian.
  • Lengkapi docstring agar tiga argumen fungsi sesuai dengan definisinya.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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"))
Edit dan Jalankan Kode