ÎncepețiÎncepe gratuit

Instrumente Parametrizate de Căutare în Baze de Date

Un instrument de căutare la cerere va permite LLM-ului să caute valute după nume sau cod, fără a încărca lista completă. Folosește o interogare parametrizată (substituent ?) pentru a evita injecția de cod, și aplică o limită a numărului de rânduri pentru a menține răspunsurile în limite rezonabile.

Acest exercițiu face parte din cursul

Introducere în Model Context Protocol (MCP)

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește un instrument numit lookup_currencies() care găsește rândurile din currencies în care name sau code conțin prefix (fără distincție între majuscule și minuscule).
  • Folosește o interogare SQL parametrizată pentru a insera prefix în substituenții ?; folosește LIMIT 50 pentru a limita numărul de rânduri returnate.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Add lookup_currencies(prefix): find rows where name or code contains prefix
@mcp.____()
def ____(____: str) -> str:
    """Find currencies whose code or name contains the given prefix."""
    try:
        # Use parameterized query and LIMIT 50
        cursor = conn.execute(
            "SELECT code, name FROM currencies WHERE name LIKE ? OR code LIKE ? LIMIT ____",
            (f"%{____}%", f"%{____}%")
        )
        rows = cursor.fetchall()
        return "\n".join(f"{row['code']} - {row['name']}" for row in rows)
    except sqlite3.Error as e:
        return f"Database error: {e}"

print(lookup_currencies("Euro"))
Editează și rulează codul