Načtení promptu z klienta
Teď načti konkrétní prompt z currency serveru se vstupem od uživatele, aby se šablona zkombinovala s uživatelským požadavkem. Přesně tohle bys předal/a LLM předtím, než se rozhodne, jestli zavolá nástroj pro převod měn.
Toto cvičení je součástí kurzu
Introduction to Model Context Protocol (MCP)
Pokyny k cvičení
- Po inicializaci session zavolej metodu pro získání promptu podle názvu – předej název promptu a slovník
argumentsse vstupem od uživatele. - Vyextrahuj a vypiš textový obsah první zprávy z výsledku promptu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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?"))