Docstring ve Tür İpuçları Ekleme
LLM'lerin convert_currency() aracını daha kolay kullanabilmesi için şimdi docstring ve type hint ekleme zamanı. Bunlar olmadan LLM hangi aracı çağıracağını etkili şekilde seçemeyebilir ya da argümanlara yanlış değerler geçebilir—her ikisi de güvenilmez uygulama performansına yol açar!
Bir MCP sunucusu FastMCP kullanılarak zaten başlatıldı ve mcp değişkenine atandı.
Bu egzersiz, kursun bir parçasıdır
Model Context Protocol (MCP) Giriş
Egzersiz talimatları
- Fonksiyon argümanlarına ve dönen nesneye uygun türleri ekle.
- Docstring'i tamamlayarak üç fonksiyon argümanını tanımlarıyla eşleştir.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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"))