Mengambil Prompt dari Klien
Sekarang ambil prompt tertentu dari server mata uang dengan masukan pengguna sehingga templat dan permintaan pengguna digabungkan. Inilah yang akan Anda teruskan ke sebuah LLM sebelum memutuskan apakah akan memanggil alat konversi.
Latihan ini merupakan bagian dari kursus
Pengantar Model Context Protocol (MCP)
Instruksi latihan
- Setelah menginisialisasi sesi, panggil metode untuk mendapatkan prompt berdasarkan nama, dengan meneruskan nama prompt dan sebuah dict
argumentsyang berisi masukan pengguna. - Ekstrak dan cetak konten teks dari pesan pertama pada hasil prompt.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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?"))