ÎncepețiÎncepe gratuit

Preluarea unui Prompt din Client

Preia acum un prompt specific de la serverul de valute, folosind input-ul utilizatorului, astfel încât șablonul și cererea acestuia să fie combinate. Acesta este conținutul pe care l-ai transmite unui LLM înainte ca acesta să decidă dacă apelează sau nu instrumentul de conversie.

Acest exercițiu face parte din cursul

Introducere în Model Context Protocol (MCP)

Vezi cursul

Instrucțiuni pentru exercițiu

  • După inițializarea sesiunii, apelează metoda care preia un prompt după nume, transmițând numele promptului și un dicționar arguments cu input-ul utilizatorului.
  • Extrage și afișează conținutul text al primului mesaj din rezultatul promptului.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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?"))
Editează și rulează codul