Zacznij terazZacznij za darmo

Pobieranie promptu z poziomu klienta

Pobierz teraz konkretny prompt z serwera walutowego, łącząc szablon z danymi podanymi przez użytkownika. To właśnie taki prompt przekazałbyś do modelu językowego, zanim zdecyduje, czy wywołać narzędzie do przeliczania walut.

To ćwiczenie jest częścią kursu

Wprowadzenie do Model Context Protocol (MCP)

Zobacz kurs

Instrukcje do ćwiczenia

  • Po zainicjowaniu sesji wywołaj metodę pobierającą prompt po nazwie, przekazując nazwę promptu oraz słownik arguments z danymi wejściowymi użytkownika.
  • Wyodrębnij i wyświetl zawartość tekstową pierwszej wiadomości w wyniku promptu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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?"))
Edytuj i uruchom kod