Получение подсказки на стороне клиента
Теперь получите конкретную подсказку с сервера валют, передав пользовательский ввод, чтобы шаблон объединился с запросом пользователя. Именно это вы передали бы языковой модели перед тем, как она решит вызвать инструмент конвертации.
Это упражнение является частью курса
Введение в 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?"))