Aan de slagBegin gratis

Een prompt ophalen vanuit de client

Haal nu een specifieke prompt op van de currency-server met gebruikersinvoer, zodat de template en het verzoek van de gebruiker worden gecombineerd. Dit is wat je aan een LLM zou doorgeven voordat die beslist of de conversietool moet worden aangeroepen.

Deze oefening maakt deel uit van de cursus

Introductie tot Model Context Protocol (MCP)

Bekijk cursus

Oefeninstructies

  • Roep, nadat je de sessie hebt geïnitialiseerd, de methode aan om een prompt op naam op te halen. Geef de promptnaam mee en een arguments-dict met de invoer van de gebruiker.
  • Haal de tekstinhoud op van het eerste bericht in het promptresultaat en print die.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def read_prompt(user_input: str = "How much is 50 GBP in euros?", prompt_name: str = "convert_currency_prompt") -> str:
    """Retrieve a prompt from the MCP server with user input."""
    params = StdioServerParameters(command=sys.executable, args=["currency_server.py"])

    async with stdio_client(params) as (reader, writer):
        async with ClientSession(reader, writer) as session:
            await session.initialize()

            # Retrieve the prompt with the user's input
            prompt = await session.____(prompt_name, arguments={"currency_request": user_input})

            # Print the full prompt text (template + user request)
            text = prompt.____[0].____.____
            print(text)
            return text

asyncio.run(read_prompt(user_input="How much is 50 GBP in euros?"))
Code bewerken en uitvoeren