Отримання підказки з клієнта
Тепер отримайте конкретну підказку з сервера валют із введенням користувача, щоб поєднати шаблон і запит користувача. Саме це ви передасте LLM, перш ніж він вирішить, чи викликати інструмент конвертації.
Ця вправа є частиною курсу
Вступ до Model Context Protocol (MCP)
Інструкції до вправи
- Після ініціалізації сеансу викличте метод для отримання підказки за назвою, передавши назву підказки та словник
argumentsіз введенням користувача. - Видобудьте та надрукуйте текстовий вміст першого повідомлення в результаті підказки.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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?"))