LoslegenKostenlos starten

Docstrings und Typannotationen hinzufügen

Zeit, dein convert_currency()-Tool mit Docstrings und Typannotationen für LLMs einfacher nutzbar zu machen. Ohne sie kann das LLM möglicherweise nicht effektiv wählen, welches Tool es aufrufen soll, oder es übergibt Werte falsch an die Argumente — beides führt zu unzuverlässiger Anwendungsleistung!

Ein MCP-Server wurde bereits mit FastMCP instanziiert und mcp zugewiesen.

Diese Übung ist Teil des Kurses

<Kurs>Einführung in das Model Context Protocol (MCP)</Kurs>
Kurs ansehen

Übungsanweisungen

  • Füge geeignete Typen zu den Funktionsargumenten und zum Rückgabeobjekt hinzu.
  • Vervollständige den Docstring, sodass die drei Funktionsargumente ihren Definitionen entsprechen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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"))
Code bearbeiten und ausführen